js開發實現簡單貪吃蛇遊戲(20行程式碼)

Roninwz發表於2017-09-25

曾經諾基亞的貪吃蛇風靡一時,在遊戲匱乏的年代,用java實現太難,現在網頁製作20行程式碼就做成一個簡單的demo了,時代在進步啊

程式碼:

[html] view plain copy
  1. <!doctype html>  
  2. <html>  
  3. <body>  
  4.     <canvas id="can" width="400" height="400" style="background: Black"></canvas>  
  5.     <script>  
  6.         var sn = [ 42, 41 ], dz = 43fx = 1, n, ctx = document.getElementById("can").getContext("2d");  
  7.         function draw(t, c) {  
  8.             ctx.fillStyle = c;  
  9.             ctx.fillRect(t % 20 * 20 + 1, ~~(t / 20) * 20 + 1, 18, 18);  
  10.         }  
  11.         document.onkeydown = function(e) {  
  12.             fx = sn[1] - sn[0] == (n = [ -1, -20, 1, 20 ][(e || event).keyCode - 37] || fx) ? fx : n  
  13.         };  
  14.         !function() {  
  15.             sn.unshift(n = sn[0] + fx);  
  16.             if (sn.indexOf(n, 1) > 0 || n<0||n>399 || fx == 1 && n % 20 == 0 || fx == -1 && n % 20 == 19)  
  17.                 return alert("GAME OVER");  
  18.             draw(n, "Lime");  
  19.             if (n == dz) {  
  20.                 while (sn.indexOf(dz = ~~(Math.random() * 400)) >= 0);  
  21.                 draw(dz, "Yellow");  
  22.             } else  
  23.                 draw(sn.pop(), "Black");  
  24.                 setTimeout(arguments.callee, 130);  
  25.         }();  
  26.     </script>  
  27. </body>  
  28. </html>  

這是開始遊戲:

js開發實現簡單貪吃蛇遊戲(20行程式碼)

這是遊戲結束:

js開發實現簡單貪吃蛇遊戲(20行程式碼)


轉載來自:http://blog.csdn.net/hj7jay/article/details/51011269

相關文章