Este artigo apresenta a tela H5 para alcançar jogos de cobra gananciosos, compartilhá -lo com todos, como segue:
O efeito é o seguinte Ideias de implementação:PS: Isso é apenas pensando.
1. Desenhe a cobra primeiro<! </head> <body> <canvas id = width = 800 altura = 500> </body> </body> <cript> var canvas = document.getElementById ('Canvas'); ('2d'); color = cor;} // o método de desenhar um bloco ret.prototype.draw = function () {context.beginpath (); Wis.h); // Desenhe quatro blocos quadrados, definido como cinza para (var i = 0; i <4; i ++) {var ret = new Rect (i*20,0,20,20, cinza); de usar push (mais posterior) para fazer a cabeça da cobra aparecer na primeira posição da matriz snakearray.splice (0,0, rect);} // Head = snakearray [0]; As coisas que são comumente usadas após dois são definidas como atributos, para que a chamada posterior. (com o código -chave seta direita) this.direction = 39;} // O método de pintar cobra cobra.prototype.draw = function () {for (var i = 0; i <this.snakeArray.length; i ++) { this.snakeArray [i] .Draw ();} // O método do movimento de cobras cobra.prototype.move = function () {// Esta é a parte principal, o método de movimento da cobra // 1. Desenhe um quadrado cinza, Sobreponha a posição com a cabeça da cobra // 2. Insira esse bloco na posição atrás da cabeça da cobra na matriz // 3. Corte o final do final // 4. Mova a cabeça da cobra na direção da direção da configuração . / Determine se a função de determinação do ISEAT é escrita no final // Quando você o comer, a comida será dada novamente. getrandomfood ();} else {this.snakearray.pop ();} // Defina a direção do movimento da cabeça da cobra, 37 esquerda, 38, 39 à direita, 40 Stitch (isto. Direção) {Caso 37: this.head. x- = this.head.w Break; .y += this.head.h break; .y> canvas.Height || I = 1; (Timer);}}} // desenhe a cobra inicial var snake = new Snake () Snake.draw (); {context.clearrect (0,0, Canvas.width, Canvas.head); Torne a cobra incapaz de recorrer diretamente ao documento.onkeydown = function (e) {var ev = e || window.event; Snake.direction = 37;} Break;} Caso 38: {if (Snake.direction! == 40) {Snake.Direction = 38;} Break;} Caso 39: {if.direction! direção = 39;} quebra;} Caso 40: {if (Snake.Direction! == 38) {Snake.Direction = 40;} Função; VAR = max-min; É pesado, re -genera o varitativoNake = true; Declarações não executam as seguintes instruções ISSNAKE = FALSO; 20, 20, verde); y == Rect.Y) {// Se a determinação for re -cocoed, defina -o como true, para que o número aleatório seja re -para isonsnake = true; O objeto Food tem um método de sorteio devolver ret;} // determina que comer alimentos, ou seja, as coordenadas da cabeça de cobra e as coordenadas alimentares da função é () {if (Snake.head.x == Food.X && Snake .. head.y == Food.Y) {return true;} else {return false;} </script> </html>
O acima é todo o conteúdo deste artigo.