243 lines
9.5 KiB
JavaScript
243 lines
9.5 KiB
JavaScript
function drawBars() {
|
|
if (mobile) {
|
|
// bars
|
|
canvas.beginPath();
|
|
canvas.rect(os.x, os.y, cwh(CANVAS_WIDTH), cwh(BAR_HEIGHT));
|
|
canvas.fillStyle = "black";
|
|
canvas.fill();
|
|
|
|
canvas.beginPath();
|
|
canvas.rect(os.x, cwh(CANVAS_HEIGHT - BAR_HEIGHT) + os.y, cwh(CANVAS_WIDTH), cwh(BAR_HEIGHT));
|
|
canvas.fillStyle = "black";
|
|
canvas.fill();
|
|
|
|
// game text
|
|
if (state == "game" || state == "intermission") {
|
|
canvas.fillStyle = "white";
|
|
canvas.font = cwh(30) + "px Arial";
|
|
canvas.textAlign = "left";
|
|
canvas.fillText("LEVEL: " + level, cwh(BAR_TEXT_FIX) + os.x, cwh(BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
|
|
if (getCoinsTotal() > 0) {
|
|
canvas.fillStyle = "white";
|
|
canvas.font = cwh(30) + "px Arial";
|
|
canvas.textAlign = "center";
|
|
canvas.fillText("COINS: " + getCoinsCollected() + "/" + getCoinsTotal(), cwh(CANVAS_WIDTH / 2) + os.x, cwh(BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
}
|
|
|
|
canvas.fillStyle = "white";
|
|
canvas.font = cwh(30) + "px Arial";
|
|
canvas.textAlign = "right";
|
|
canvas.fillText("FAILS: " + numberWithCommas(deaths), cwh(CANVAS_WIDTH - BAR_TEXT_FIX) + os.x, cwh(BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
|
|
/*
|
|
if (onButton("bars_coolmath"))
|
|
canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "left";
|
|
canvas.fillText("COOLMATH", BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
*/
|
|
|
|
canvas.fillStyle = "white";
|
|
canvas.font = cwh(30) + "px Arial";
|
|
canvas.textAlign = "right";
|
|
if (muteSFX && muteMusic) {
|
|
canvas.fillText("UNMUTE", cwh(CANVAS_WIDTH - BAR_TEXT_FIX) + os.x, cwh(CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
|
|
//canvas.beginPath();
|
|
//canvas.rect(cwh(704) + os.x, cwh(591) + os.y, cwh(25), cwh(3));
|
|
//canvas.fill();
|
|
} else {
|
|
canvas.fillText("MUTE", cwh(CANVAS_WIDTH - BAR_TEXT_FIX) + os.x, cwh(CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
|
|
//canvas.beginPath();
|
|
//canvas.rect(cwh(704) + os.x, cwh(591) + os.y, cwh(25), cwh(3));
|
|
//canvas.fill();
|
|
}
|
|
|
|
canvas.fillStyle = "white";
|
|
canvas.font = cwh(30) + "px Arial";
|
|
canvas.textAlign = "left";
|
|
if (paused) {
|
|
canvas.fillText("UNPAUSE", cwh(BAR_TEXT_FIX) + os.x, cwh(CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
|
|
//canvas.beginPath();
|
|
//canvas.rect(cwh(53) + os.x, cwh(591) + os.y, cwh(20), cwh(3));
|
|
//canvas.fill();
|
|
} else {
|
|
canvas.fillText("PAUSE/MENU", cwh(BAR_TEXT_FIX) + os.x, cwh(CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
|
|
//canvas.beginPath();
|
|
//canvas.rect(cwh(8) + os.x, cwh(591) + os.y, cwh(20), cwh(3));
|
|
//canvas.fill();
|
|
}
|
|
}
|
|
|
|
// main menu / level select text
|
|
else if (state == "main_menu" || state == "level_select" || state == "finish") {
|
|
canvas.fillStyle = "white";
|
|
canvas.font = cwh(30) + "px Arial";
|
|
canvas.textAlign = "left";
|
|
canvas.fillText("CREATOR: STEPHEN CRITOPH", cwh(BAR_TEXT_FIX) + os.x, cwh(BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
|
|
canvas.fillStyle = "white";
|
|
canvas.font = cwh(30) + "px Arial";
|
|
canvas.textAlign = "right";
|
|
canvas.fillText("MUSIC: SNAYK", cwh(CANVAS_WIDTH - BAR_TEXT_FIX) + os.x, cwh(BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
|
|
/*
|
|
if (onButton("mm_coolmathGames"))
|
|
canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "left";
|
|
canvas.fillText("COOLMATH GAMES", BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
*/
|
|
|
|
canvas.fillStyle = "white";
|
|
canvas.font = cwh(30) + "px Arial";
|
|
canvas.textAlign = "right";
|
|
if (muteSFX && muteMusic) {
|
|
canvas.fillText("UNMUTE", cwh(CANVAS_WIDTH - BAR_TEXT_FIX) + os.x, cwh(CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
} else {
|
|
canvas.fillText("MUTE", cwh(CANVAS_WIDTH - BAR_TEXT_FIX) + os.x, cwh(CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX) + os.y);
|
|
}
|
|
//canvas.beginPath();
|
|
//canvas.rect(704, 591, 25, 3);
|
|
//canvas.fill();
|
|
}
|
|
} else {
|
|
// bars
|
|
canvas.beginPath();
|
|
canvas.rect(0, 0, CANVAS_WIDTH, BAR_HEIGHT);
|
|
canvas.fillStyle = "black";
|
|
canvas.fill();
|
|
|
|
canvas.beginPath();
|
|
canvas.rect(0, CANVAS_HEIGHT - BAR_HEIGHT, CANVAS_WIDTH, BAR_HEIGHT);
|
|
canvas.fillStyle = "black";
|
|
canvas.fill();
|
|
|
|
// game text
|
|
if (state == "game" || state == "intermission") {
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "left";
|
|
canvas.fillText("LEVEL: " + level, BAR_TEXT_FIX, BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
|
|
if (getCoinsTotal() > 0) {
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "center";
|
|
canvas.fillText("COINS: " + getCoinsCollected() + "/" + getCoinsTotal(), CANVAS_WIDTH / 2, BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
}
|
|
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "right";
|
|
canvas.fillText("FAILS: " + numberWithCommas(deaths), CANVAS_WIDTH - BAR_TEXT_FIX, BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
|
|
/*
|
|
if (onButton("bars_coolmath"))
|
|
canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "left";
|
|
canvas.fillText("COOLMATH", BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
*/
|
|
|
|
if (onButton("bars_mute"))
|
|
canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "right";
|
|
if (muteSFX && muteMusic) {
|
|
canvas.fillText("UNMUTE", CANVAS_WIDTH - BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
|
|
canvas.beginPath();
|
|
// canvas.rect(704, 591, 25, 3);
|
|
canvas.fill();
|
|
} else {
|
|
canvas.fillText("MUTE", CANVAS_WIDTH - BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
|
|
canvas.beginPath();
|
|
//canvas.rect(704, 591, 25, 3);
|
|
canvas.fill();
|
|
}
|
|
|
|
if (onButton("bars_pause/menu"))
|
|
canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "left";
|
|
if (paused) {
|
|
canvas.fillText("UNPAUSE", BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
|
|
canvas.beginPath();
|
|
canvas.rect(53, 591, 20, 3);
|
|
canvas.fill();
|
|
} else {
|
|
canvas.fillText("PAUSE/MENU", BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
|
|
canvas.beginPath();
|
|
canvas.rect(8, 591, 20, 3);
|
|
canvas.fill();
|
|
}
|
|
}
|
|
|
|
// main menu / level select text
|
|
else if (state == "main_menu" || state == "level_select" || state == "finish") {
|
|
//if (onButton("mm_stephenCritoph"))
|
|
// canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
//else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "left";
|
|
canvas.fillText("CREATOR: STEPHEN CRITOPH", BAR_TEXT_FIX, BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
|
|
//if (onButton("mm_snayk"))
|
|
// canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
//else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "right";
|
|
canvas.fillText("MUSIC: SNAYK", CANVAS_WIDTH - BAR_TEXT_FIX, BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
|
|
/*
|
|
if (onButton("mm_coolmathGames"))
|
|
canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "left";
|
|
canvas.fillText("COOLMATH GAMES", BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
*/
|
|
|
|
if (onButton("mm_mute"))
|
|
canvas.fillStyle = BARS_BUTTON_HOVER_COLOR;
|
|
else
|
|
canvas.fillStyle = "white";
|
|
canvas.font = "30px Arial";
|
|
canvas.textAlign = "right";
|
|
if (muteSFX && muteMusic) {
|
|
canvas.fillText("UNMUTE", CANVAS_WIDTH - BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
} else {
|
|
canvas.fillText("MUTE", CANVAS_WIDTH - BAR_TEXT_FIX, CANVAS_HEIGHT - BAR_HEIGHT / 2 + BAR_TEXT_FIX);
|
|
}
|
|
canvas.beginPath();
|
|
canvas.rect(704, 591, 25, 3);
|
|
canvas.fill();
|
|
}
|
|
}
|
|
}
|
|
|
|
// https://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript
|
|
function numberWithCommas(x) {
|
|
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
} |