자바스크립트 스네이크 구현 code_javascript 기술
연습과정에서 JS를 이용하여 뱀게임을 구현해 보았습니다. 실제로 효과가 있었습니다.
아이디어: 10px*10px div 레이어를 사용하여 "픽셀" 역할을 한 다음 160 "픽셀"의 40*40 매트릭스를 사용하여 게임 인터페이스를 구성합니다.
코드는 다음과 같습니다.
// JavaScript 문서
alert("키보드의 화살표 키는 방향을 제어하고 스페이스바는 일시 중지됩니다. LIFE 제작 nhttp://blog.csdn.net/anhulife");
// 기본 그래픽 블록 추가, 즉 160개의 10 * 10 레이어로 구성된 2차원 행렬
var rowindex = new Array( 40 );
var colindex;
//이미지 단위 정의
var backcolor = "black"
for(var i = 0; i < 40; i )
{
colindex = new Array(40);
for(var j = 0; j < 40; j )
{
// 각 셀의 속성을 설정합니다
cell = document.createElement("div");
cell.style.backcolor = backcolor;
cell.style.width = "10px";
cell.style.height = "10px"; 🎜 >cell.style.position = "절대";
cell.style.left = "" (j * 10 100) "px"
cell.style.top = "" (i * 10 100) " px";
cell.style.overflow = "hidden";
// 셀 추가
document.body.appendChild(cell)
// 열 그룹 채우기
colindex[j ] = cell;
}
// 행 그룹 채우기
rowindex[i] = colindex;
}
// 기본 이미지 단위를 기준으로 스네이크 유형 정의
function snake ()
{
// 뱀의 몸체를 정의하고 초기화합니다.
this.bodycolor = "white";
this.bodys = new Array()
for(var i = 20; i < 25; i )
{
rowindex[20][i].style.BackgroundColor = this.bodycolor
//rowindex의 첫 번째 좌표는 행 인덱스입니다. is Column index
this.bodys.push(rowindex[20][i]);
}
// 뱀 머리의 좌표를 정의합니다. 첫 번째는 행 인덱스이고 두 번째는 열 인덱스
this.head = [20, 20];
// 뱀의 방향을 정의합니다. 0은 왼쪽, 1은 아래쪽, 2는 오른쪽, 3은 위쪽
this.direct = 0;
}
//모듈 이동
function move()
{
// 순방향에 따른 머리 좌표 계산
switch(this.direct)
{
케이스 0 :
this.head[1] -= 1;
break
케이스 1 :
this.head[0] = 1;
케이스 2:
this.head[1] = 1;
break;
케이스 3:
this.head[0] -= 1; }
// 범위를 벗어났는지 확인
if(this.head[0] < 0 || this.head[0] > 39 || this.head[1] < 0 || this .head[1] > 39)
{
// 범위를 벗어나면 false를 반환합니다.
false를 반환합니다.
}
else
// 범위를 벗어나면 범위를 벗어나면 다음 원소의 성질을 확인하고, 식품이고 식품으로 재생되면 섭취한다.그 자체인 경우 false를 반환
if(this.head[0] == food[0] && this.head[1] == food[1])
{
//인 경우 음식
rowindex[this.head[0]][this.head[1]].style.backColor = this.bodycolor
this.bodys.unshift(rowindex[this.head[0]][this . head[1]]);
score ;
makefood();
return
}
else
// if(rowindex[ this .head[0]][this.head[1]].style.BackgroundColor == this.bodycolor)
{
if(rowindex[this.head[0]][this.head[1] ] == this.bodys.pop())// 꼬리인 경우
{
this.bodys.unshift(rowindex[this.head[0]][this.head[1]]);
true 반환
}
// 꼬리가 아닌 경우
false 반환
}
// 해당 사항 없음
this.bodys.pop().style .BackgroundColor = 배경색;
rowindex[this.head[0]][this.head[1]].style.groundColor = this.bodycolor
this.bodys.unshift(rowindex[this.head[0) ]] [this.head[1]]);
return true;
}
snake.prototype.move = move;
// 음식 모듈 생성
var foodcolor = "blue" ;
var food = [20, 17];
rowindex[food[0]][food[1]].style.backColor = foodcolor;
function makefood()
{
var tempfood ;
var tempelement
out :
while(true)
{
tempfood = [Math.round(Math.random() * 39), Math.round(Math. 무작위( ) * 39)];
tempelement = rowindex[tempfood[0]][tempfood[1]]
for(var i in s.bodys)
{
if(s. bodys[ i] == tempelement)
{
// 무작위로 생성된 음식이 뱀의 몸에 있으면 뛰어내려 계속합니다.
계속 나가세요
}
// 음식을 성공적으로 생성합니다.
브레이크 아웃;
}
}
food = tempfood;
rowindex[food[0]][food[1]].style.BackgroundColor =
}
// 모듈 전환 및 모듈 일시 중지
document.onkeydown = Turnorstop;
functionturnorstop(event)
{
if(window.event != undefine)
{
if( parseInt(window .event.keyCode)==32)
{
alert("휴식을 취하세요");
}
else
{
switch(parseInt(window.event) .keyCode))
{
case 37:
if(s.direct!=2)
s.direct = 0
break
case 38:
if (s.direct !=1)
s.direct = 3;
break
case 39:
if(s.direct!=0)
s.direct
break;
사례 40:
if(s.direct!=3)
s.direct = 1
break; >else
{
if(parseInt(event.which)==32)
{
alert("휴식을 취하세요")
}
else
{
switch(parseInt (event.which))
{
case 37 :
if(s.direct!=2)
s.direct = 0
break; 사례 38:
if(s.direct!=1)
s.direct = 3;
break
사례 39:
if(s.direct!=0)
s.direct = 2 ;
break;
case 40:
if(s.direct!=3)
s.direct = 1
}
}
}
}
//게임 모듈 시작
var s = new snake()
var time = 60;//Snake의 속도 지수
function startmove()
{
if(s.move())
{
setTimeout(startmove, time)
}
else
{
alert("GAME OVERn 점수 is:" 점수 "점");
}
}
//점수 설정
var 점수 = -1;
//게임 실행
startmove();
웹 페이지에서 JS 파일을 연결하면 됩니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.

JavaScript는 웹 개발에 널리 사용되는 프로그래밍 언어인 반면 WebSocket은 실시간 통신에 사용되는 네트워크 프로토콜입니다. 두 가지의 강력한 기능을 결합하면 효율적인 실시간 영상 처리 시스템을 만들 수 있습니다. 이 기사에서는 JavaScript와 WebSocket을 사용하여 이 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 첫째, 실시간 영상처리 시스템의 요구사항과 목표를 명확히 할 필요가 있다. 실시간 이미지 데이터를 수집할 수 있는 카메라 장치가 있다고 가정해 보겠습니다.
