개인 프로젝트

[개인 프로젝트] Python으로 2048게임 만들기 # 1

hanseongjun 2021. 12. 15. 17:13
728x90
반응형

버그 1.

- a를 눌러 왼쪽으로 이동시켰는데 합쳐진 4는 사라지고, 그 자리에 2가 랜덤으로 생겨난 상황.

- 작업 순서가 잘못된 듯하다.

- 그럼에도 score은 제대로 올라감

Sol)

- 원래는 4로 합쳐진 다음, 남은 공간 중 하나에 2가 생성되어야 함.

 

버그 2.

- s키를 눌러 22를 합치려 했는데 밑에 4까지 합쳐진 상황

- 마찬가지로 score은 제대로 입력됨. (함수의 중요성)

Sol) 

- 4는 밑으로 이동하고, merge는 한 턴에 한 번만 되도록 해야 함. 밑에 합칠 수 있는 수가 있다고 무조건 내려오면 안 됨.

 

- 해결방법:

- 반복 시 merged라는 변수를 추가해 한 번 merge 된 칸은 다시 merge 될 수 없도록 하였음.

버그 3.

- 가만히 있는 숫자 중에서 2가 나와버림. findZero가 제대로 작동하지 않는 듯.

- 역시 findZero문제.

- 2가 나오는 동시에 합쳐져 버림.

- 작업 순서 조정 필요.

 

- 프로그램에서 합치는 과정 또는 올라가는 과정에서 8이 삭제되는 듯.

- zeroLocation 리스트에서 [0, 3]을 비어 있다고 인식했음을 볼 수 있음.

 

- 역시나 8이 삭제됨.

 

- 역시나 두 번째 board 출력에서 [1, 3]을 빈칸으로 인식하고 2를 넣었음을 알 수 있음.

 

해결)

 

- zeroLocation에 좌표를 append 할 때 [y, x] 형태로 입력하는데, 밑 함수에서는 [x , y] 형태로 생각하고 입력을 받았음. 다시 고쳐짐.

< 아까 이 사진에서 [1, 3] 대신 [3, 1], [3, 0]이 없어서 알 수 있었다. >

버그 4.

- 움직일 수 있는 게 없는 상황에서 키를 눌렀더니 뭔가 바뀜

해결)

- 원래는 두 번째 돌림 이전에 continue를 걸어줬는데, 다시 원상 복구하고 continue를 걸어주는 방식으로 판이 원상태로 돌아갈 수 있게 했음.

728x90
반응형
LIST