-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmeu_jogo.html
118 lines (79 loc) · 2.64 KB
/
meu_jogo.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgray';
pincel.fillRect(0, 0, 600, 400);
var x = 20;
var y = 20;
// códigos do teclado
var esquerda = 37;
var cima = 38;
var direita = 39;
var baixo = 40;
// taxa de incremento
var taxa = 10;
function desenhaCirculo(x, y, raio) {
pincel.fillStyle = 'blue';
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function limpaTela() {
pincel.clearRect(0, 0, 600, 400);
}
function atualizaTela() {
limpaTela();
desenhaObstaculos();
desenhaCirculo(x, y, 10);
verificarColisao();
}
setInterval(atualizaTela, 20);
function leDoTeclado(evento) {
if(evento.keyCode == cima) {
y = y - taxa;
} else if (evento.keyCode == baixo) {
y = y + taxa;
} else if (evento.keyCode == esquerda) {
x = x - taxa;
} else if (evento.keyCode == direita) {
x = x + taxa;
}
}
document.onkeydown = leDoTeclado;
function desenhaRetangulo(x, y, tamnhoLadoX, tamanhoLadoY, cor) {
pincel.fillStyle = cor;
pincel.fillRect(x, y, tamnhoLadoX, tamanhoLadoY);
}
function desenhaObstaculos(){
//Paredes
desenhaRetangulo(100, 0, 20, 300, "black");
desenhaRetangulo(200, 100, 20, 300, "black");
desenhaRetangulo(300, 0, 20, 300, "black");
desenhaRetangulo(400, 100, 20, 300, "black");
desenhaRetangulo(500, 0, 20, 300, "black");
desenhaRetangulo(580, 100, 20, 300, "black");
//linha de chegada
desenhaRetangulo(580, 0, 20, 100, "black");
desenhaRetangulo(580, 0, 10, 100, "lightgray");
}
//tocando no preto
function verificarColisao() {
if ((x >= 100 && x <= 120 && y - 5 <= 300) ||
(x >= 200 && x <= 220 && y + 5 >= 100) ||
(x >= 300 && x <= 320 && y - 5 <= 300) ||
(x >= 400 && x <= 420 && y + 5 >= 100) ||
(x >= 500 && x <= 520 && y - 5 <= 300) ||
(x == 580 && y + 5 > 100)) {
x = 20;
y = 20;
alert ("Você perdeu!!");
}
//tocando na linha de chegada
if(x >= 580 && y + 5 <= 100){
x = 20;
y = 20;
alert("Você ganhou!!!");
}
}
</script>