Bonjour,
J'ai créé un jeu de serpent et je suis bloqué sur une partie code. Je souhaite qu'avant le début du jeu, on puisse ajouter des obstacles aléatoires dans le canvas, j'ai reussi mais il disparaît quand la partie commence (après l'init) .
Je veux que l'utilisateur ajoute à partir d'un bouton un carré aléatoire (obstacle) qui reste dans le canvas de sorte que, lorsque le serpent se déplace, il évite les carrés.
Voici un extrait du code, la partie onload et init :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 window.onload = function() { var body = document.getElementsByTagName("body")[0]; var canvasWidth = 900; var canvasHeight = 600; var blockSize = 30; var ctx; // contexte var delay = 100 ; var snakee; var applee; var canvas = document.createElement("canvas"); canvas.height = 599; canvas.width = 899; var ctx = canvas.getContext("2d"); canvas.style.border = "15px solid black"; canvas.style.margin = "50px auto"; canvas.style.display = "block"; canvas.style.backgroundColor = "#ddd"; body.appendChild(canvas); var widthInBlocks = canvasWidth/blockSize; var heightInBlocks = canvasHeight/blockSize; document.getElementById('init').addEventListener('click', init); document.getElementById('buttonRandom').addEventListener('click', create); function init() { document.body.appendChild(canvas); ctx = canvas.getContext('2d'); snakee = new Snake([[7,4],[6,4],[5,4],[4,4],[3,4]], "right"); applee = new Apple([12,9]); score = 0; refreshCanvas(); }
La fonction create qui fonctionne mais uniquement avant le jeu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function create(position) { this.body = position; this.draw = function() { ctx.save(); ctx.fillStyle = '#000000'; ctx.beginPath(); } ctx.fillRect(Math.random()*canvas.width, Math.random()*canvas.width, Math.random()*20+20, Math.random()*20+20); ctx.fill(); }
Je ne trouve pas comment les faire apparaître dans le canvas lorsque le jeu a commencé sans qu'ils ne disparaissent.
Si quelqu'un pourrait m'aider, ce serait top
Partager