인프런 커뮤니티 질문&답변

WS IM님의 프로필 이미지
WS IM

작성한 질문수

[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문

셀프 체크 - 되돌리기 기능 추가하기

합칠 수 있는 Cell이 있는데 게임 종료

작성

·

208

0

만약 게임판이 아래와 같다면..

원래 2048게임에서 움직일 수 있는 Cell이 있는데도 방향키를 잘못 누르면 게임이 종료되는게 맞는 건가요???

아래 게임판에서는 방향키 위/아래 키를 누르면 게임 진행이 가능하지만 이 상태에서 좌/우 키를 누르면 바로 게임 종료가 되는 것 같아요.

제가 알기로는 움직일 수 있는 Cell이 있을 때 실수로 다른 방향키를 눌러도 게임은 종료되지 않는 것으로 알고 있는데 이렇게 게임을 만들려면 게임 종료 조건에서 움직일 수 있는 Cell이 있는 것을 확인하는 flag 변수 같은 것을 따로 두면 될까요?

data = [
  [28164],
  [4842],
  [1632644],
  [128424],
];

답변 2

0

WS IM님의 프로필 이미지
WS IM
질문자

와 빠른 답변 감사합니다 ㅎㅎㅎ

그리고 계속 이것저것 해봤는데, 알려주신 원래 게임 링크에서는 게임이 시작되고 한쪽 방향키만 계속 누르면, 해당 방향으로 움직일 수 있는 Cell이 있는 동안에는 랜덤위치에 2가 생성되지만, 더 이상 움직일 수 있는 Cell이 없다면 랜덤위치에 2가 생기지 않습니다!

강의에서 만든 게임은 더 이상 해당 방향으로 움직일 수 있는 Cell이 없는 상태에서도 해당 방향키만 계속 누르면 랜덤위치에 2가 계속 생겨서 누르다보면 일종의 규칙처럼 게임판이 형성되고, 이를 악용해서 쉽게 클리어가 가능해 보입니다! 이것도 말씀해주신 것처럼 움직일 수 있는지 여부를 체크하는 함수로 해결이 가능할까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 이전 상태와 움직인 후 다음 상태가 똑같은지를 미리 검사하는 함수면 될것같습니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

flag 전에 움직일 수 있나를 체크하는 함수부터 필요할 것 같습니다.

WS IM님의 프로필 이미지
WS IM

작성한 질문수

질문하기