ホームページ >ウェブフロントエンド >jsチュートリアル >JS コードを使用してスネーク ゲームを作成する方法 (詳細なチュートリアル)

JS コードを使用してスネーク ゲームを作成する方法 (詳細なチュートリアル)

亚连
亚连オリジナル
2018-06-12 14:41:151757ブラウズ

この記事では、単純な JS コードを使用して古典的な Snake ゲームを実装する方法をすべて説明します。興味のある方は参考にしてください。

昔、Nokia の Snake が大流行しましたが、ゲームが不足していた時代には、Java を使用して実装するのは難しすぎました。今では、わずか 20 行のコードで簡単なデモを作成して Web ページを作成できます。時代は進んでいます

完全なスクリプトコード:

<!doctype html> 
<html> 
<body> 
 <canvas id="can" width="400" height="400" style="background: Black"></canvas> 
 <script> 
 var sn = [ 42, 41 ], dz = 43, fx = 1, n, ctx = document.getElementById("can").getContext("2d"); 
 function draw(t, c) { 
  ctx.fillStyle = c; 
  ctx.fillRect(t % 20 * 20 + 1, ~~(t / 20) * 20 + 1, 18, 18); 
 } 
 document.onkeydown = function(e) { 
  fx = sn[1] - sn[0] == (n = [ -1, -20, 1, 20 ][(e || event).keyCode - 37] || fx) ? fx : n 
 }; 
 !function() { 
  sn.unshift(n = sn[0] + fx); 
  if (sn.indexOf(n, 1) > 0 || n<0||n>399 || fx == 1 && n % 20 == 0 || fx == -1 && n % 20 == 19) 
  return alert("GAME OVER"); 
  draw(n, "Lime"); 
  if (n == dz) { 
  while (sn.indexOf(dz = ~~(Math.random() * 400)) >= 0); 
  draw(dz, "Yellow"); 
  } else 
  draw(sn.pop(), "Black"); 
  setTimeout(arguments.callee, 130); 
 }(); 
 </script> 
</body> 
</html>

上記は私が皆さんのためにまとめたもので、将来皆さんのお役に立てれば幸いです。

関連記事:

zTreeツリープラグインで全国の5レベル地域のクリックローディングを実装する方法

node+expressのパーソナライズされたチャットルームを実装するにはどうすればよいですか?

vueを使用して自動Webサイト構築プロジェクトを作成する方法(詳細なチュートリアル)

以上がJS コードを使用してスネーク ゲームを作成する方法 (詳細なチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。