Skip to content

Commit 83bd2cf

Browse files
authored
Merge pull request #1 from caiofov/published
Published
2 parents 1d15b2e + d012d96 commit 83bd2cf

File tree

12 files changed

+253
-20
lines changed

12 files changed

+253
-20
lines changed
5.16 KB
Loading
18.1 KB
Loading
4.69 KB
Loading

project/favicon/favicon-16x16.png

404 Bytes
Loading

project/favicon/favicon-32x32.png

704 Bytes
Loading

project/favicon/favicon.ico

15 KB
Binary file not shown.

project/favicon/site.webmanifest

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "Jogo com WebGL",
3+
"short_name": "Jogo - WebGL",
4+
"icons": [
5+
{
6+
"src": "/android-chrome-192x192.png",
7+
"sizes": "192x192",
8+
"type": "image/png"
9+
},
10+
{
11+
"src": "/android-chrome-512x512.png",
12+
"sizes": "512x512",
13+
"type": "image/png"
14+
}
15+
],
16+
"theme_color": "#ffffff",
17+
"background_color": "#ffffff",
18+
"display": "standalone"
19+
}

project/game/elements/game.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,40 @@
11
const GAME = {
22
scores: 0,
3-
isRunning: true
3+
isRunning: false,
4+
record: false
45
}
56

7+
const RECORD = Number(localStorage.getItem('record')) ?? 0
68

7-
/**@type {HTMLParagraphElement} */
8-
const scoreboard = document.querySelector("#scoreboard")
9-
/**@type {HTMLParagraphElement} */
10-
const over = document.querySelector("#game-over")
9+
/**@type {HTMLParagraphElement[]} */
10+
const SCOREBOARD = document.querySelector("#live-scoreboard")
11+
/**@type {HTMLDivElement} */
12+
const GAME_OVER_MESSAGE = document.querySelector("#game-over-overlay")
1113

1214
/**Atualiza a pontuação */
1315
function score() {
1416
GAME.scores += 1
15-
scoreboard.innerHTML = GAME.scores
17+
if (!GAME.record && GAME.scores > RECORD) {
18+
GAME.record = true
19+
document.querySelectorAll(".new-record").forEach(r => r.className = r.className.replace('d-none', 'd-flex'))
20+
} else if (GAME.record) {
21+
document.querySelector("#record").innerHTML = GAME.scores
22+
}
23+
SCOREBOARD.innerHTML = GAME.scores
1624
}
1725

1826
/** Exibe mensagem de game over e para de rodar a animação */
1927
function gameOver() {
20-
over.style.display = "block"
2128
GAME.isRunning = false
29+
if (GAME.record) {
30+
localStorage.setItem('record', GAME.scores)
31+
document.querySelector("#record").innerHTML = GAME.scores
32+
}
33+
34+
document.querySelector("#end-scoreboard").innerHTML = GAME.scores
35+
36+
document.querySelectorAll(".show-end").forEach(e => e.className = e.className.replace("d-none", "d-flex"))
37+
2238
// var loseContextExtension = gl.getExtension('WEBGL_lose_context');
2339
// if (loseContextExtension) {
2440
// loseContextExtension.loseContext();

project/game/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ function init() {
5151
loadAllElements().then(() => {
5252
initGL();
5353
configScene();
54+
GAME.isRunning = true
5455
draw();
5556
})
5657

project/game/webgl.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var gl;
33
/** @type {WebGLProgram}*/
44
var prog;
55
/**@type {HTMLCanvasElement} */
6-
var canvas = document.getElementById("glcanvas1");
6+
const CANVAS = document.getElementById("glcanvas1");
77

88
/**
99
* Retorna o elemento do webgl
@@ -83,7 +83,7 @@ function createShader(gl, shaderType, shaderSrc) {
8383
}
8484

8585
function initGL() {
86-
gl = getGL(canvas);
86+
gl = getGL(CANVAS);
8787

8888
//Inicializa shaders
8989
var vtxShSrc = document.getElementById("vertex-shader").text;

0 commit comments

Comments
 (0)