lkarch.org/tools/hextris/js/comboTimer.js
Lucas Kent e39465ad2f Changes to be committed:
new file:   Files/flashplayer_32_sa.exe
	new file:   favicon.ico
	new file:   globe.gif
	new file:   imgs/download.png
	new file:   imgs/zuck.jpg
	new file:   index.html
	new file:   other.ico
	new file:   script.js
	new file:   site.webmanifest
	new file:   sitemap.html
	new file:   styles/backround.css
	new file:   styles/border.css
	new file:   styles/fonts/Titillium_Web/OFL.txt
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf
	new file:   styles/fonts/webfontkit-20221027-163353/generator_config.txt
	new file:   styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css
	new file:   styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-163353/stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2
	new file:   styles/fonts/webfontkit-20221027-165950/generator_config.txt
	new file:   styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css
	new file:   styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-165950/stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2
	new file:   styles/style.css
	new file:   tools/2048/.gitignore
	new file:   tools/2048/.jshintrc
	new file:   tools/2048/CONTRIBUTING.md
	new file:   tools/2048/LICENSE.txt
	new file:   tools/2048/README.md
	new file:   tools/2048/Rakefile
	new file:   tools/2048/favicon.ico
	new file:   tools/2048/index.html
	new file:   tools/2048/js/animframe_polyfill.js
	new file:   tools/2048/js/application.js
	new file:   tools/2048/js/bind_polyfill.js
	new file:   tools/2048/js/classlist_polyfill.js
	new file:   tools/2048/js/game_manager.js
	new file:   tools/2048/js/grid.js
	new file:   tools/2048/js/html_actuator.js
	new file:   tools/2048/js/keyboard_input_manager.js
	new file:   tools/2048/js/local_storage_manager.js
	new file:   tools/2048/js/tile.js
    new file:   tools/2048/meta/apple-touch-icon.png
	new file:   tools/webretro/cores/neocd_libretro.js
	new file:   tools/webretro/cores/neocd_libretro.wasm
	new file:   tools/webretro/cores/nestopia_libretro.js
	new file:   tools/webretro/cores/nestopia_libretro.wasm
	new file:   tools/webretro/cores/o2em_libretro.js
	new file:   tools/webretro/cores/o2em_libretro.wasm
	new file:   tools/webretro/cores/opera_libretro.js
	new file:   tools/webretro/cores/opera_libretro.wasm
2022-11-02 08:40:01 -04:00

72 lines
2.2 KiB
JavaScript

function drawTimer() {
if(gameState==1){
var leftVertexes = [];
var rightVertexes = [];
if(MainHex.ct - MainHex.lastCombo < settings.comboTime){
for(var i=0;i<6;i++){
var done = (MainHex.ct -MainHex.lastCombo);
if(done<(settings.comboTime)*(5-i)*(1/6)){
leftVertexes.push(calcSide(i,i+1,1,1));
rightVertexes.push(calcSide(12-i,11-i,1,1));
}
else{
leftVertexes.push(calcSide(i,i+1,1-((done*6)/settings.comboTime)%(1),1));
rightVertexes.push(calcSide(12-i,11-i,1-((done*6)/settings.comboTime)%(1),1));
break;
}
}
}
if(rightVertexes.length !== 0) drawSide(rightVertexes);
if(leftVertexes.length !== 0) drawSide(leftVertexes);
}
}
function calcSide(startVertex,endVertex,fraction,offset){
startVertex = (startVertex+offset)%12;
endVertex = (endVertex+offset)%12;
ctx.globalAlpha=1;
ctx.beginPath();
ctx.lineCap = "round";
var radius = (settings.rows * settings.blockHeight) * (2/Math.sqrt(3)) + settings.hexWidth ;
var halfRadius = radius/2;
var triHeight = radius *(Math.sqrt(3)/2);
var Vertexes =[
[(halfRadius*3)/2,triHeight/2],
[radius,0],
[(halfRadius*3)/2,-triHeight/2],
[halfRadius,-triHeight],
[0,-triHeight],
[-halfRadius,-triHeight],
[-(halfRadius*3)/2,-triHeight/2],
[-radius,0],
[-(halfRadius*3)/2,triHeight/2],
[-halfRadius,triHeight],
[0,triHeight],
[halfRadius,triHeight]
].reverse();
var startX =trueCanvas.width/2 + Vertexes[startVertex][0];
var startY =trueCanvas.height/2 + Vertexes[startVertex][1];
var endX = trueCanvas.width/2 + Vertexes[endVertex][0];
var endY = trueCanvas.height/2 + Vertexes[endVertex][1];
return [[startX,startY],[((endX-startX)*fraction)+startX,((endY-startY)*fraction)+startY]];
}
function drawSide(vertexes){
if (gameState === 0) {
ctx.strokeStyle = hexColorsToTintedColors[MainHex.lastColorScored];
} else {
ctx.strokeStyle = MainHex.lastColorScored;
}
ctx.lineWidth =4*settings.scale;
ctx.moveTo(vertexes[0][0][0],vertexes[0][0][1]);
ctx.lineTo(vertexes[0][1][0],vertexes[0][1][1]);
for(var i=1;i<vertexes.length;i++){
ctx.lineTo(vertexes[i][1][0],vertexes[i][1][1]);
ctx.moveTo(vertexes[i][1][0],vertexes[i][1][1]);
}
ctx.closePath();
ctx.fill();
ctx.stroke();
}