>  기사  >  웹 프론트엔드  >  JS 코드를 사용하여 스네이크 게임을 작성하는 방법(자세한 튜토리얼)

JS 코드를 사용하여 스네이크 게임을 작성하는 방법(자세한 튜토리얼)

亚连
亚连원래의
2018-06-12 14:41:151715검색

이 글은 간단한 JS 코드를 사용하여 고전적인 스네이크 게임을 구현하는 모든 내용을 공유합니다. 관심 있는 친구들은 참고할 수 있습니다.

과거에는 노키아의 스네이크가 대유행이었습니다. 게임이 귀했던 시대에는 Java를 사용하여 구현하기가 너무 어려웠습니다. 이제 단 20줄의 코드만으로 웹 페이지를 만들 수 있는 간단한 데모를 만들 수 있습니다. 시간은 진행되고 있습니다

전체 스크립트 코드:

<!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단계 지역의 클릭로딩을 구현하는 방법

노드+익스프레스 개인대화방을 구현하는 방법은?

vue를 사용하여 자동 웹사이트 구축 프로젝트를 만드는 방법(자세한 튜토리얼)

위 내용은 JS 코드를 사용하여 스네이크 게임을 작성하는 방법(자세한 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.