티스토리 뷰
'''추후에 모아서 개선하기 위해 일부러 이상하게 짠 부분도 있고
필자의 실력과 식견이 부족해서 이상하게 짜 진 부분 도 있습니다.
만드는 방법은 여러가지 입니다. 다만 효율적인 코드를 정답이라고 한다면
필자의 코드는 절대로 정답이 아닙니다.
필자는 일단 정답을 만들어 낼 정도의 실력이 있는 사람도 아니지만
아래에 있는 코드는 일부러 오답을 낸 코드입니다. 추후에 수정과 보수하는것까지
블로그에 등록을 할것이기 때문에요'''
코드가 돌아가는것 자체에는 문제가 없지만 단지 그뿐인 코드.... 들에 관한 내용이 중간중간 들어가있습니다
다만 초심자분들도 제 게시물을 보게 될때 그런 내용이 산재해있다면 읽기 오히려 불편해질것같아서 일부러 하얀 글씨 처리 했습니다. 제 코드를 보고 엉망진창 엉터리로 짯구나 라는걸 알아보실 실력이시면 이미 저보다 프로그래밍을 잘하시겠지만 드래그 하시면 볼 수는 있습니다. 이 허접이 어떤 이유가 있어서 이렇게 했나.
화면을 클리어 하고 보니 우선 조작 자체는 문제가 없는데
잘못된 키 입력을 했을때 유저에게 알려줘야하는데, 텍스트를 띄워 주는게 가장 좋겠죠?
여러가지 방법이 있겠지만 필자는 클래스내에 이전에 유저가 했던 행동의 변수를 저장해서 쓰겠습니다
클래스 내에 wrongKey = 0 을 추가해줍니다.
이후에 up down left right 함수에 이전에 print 함수로 이동 할 수 없습니다 라는 문장이 있었는데 그 프린트 문 대신에 self.wrongKey = 1 을 추가해 줍시다
마지막으로 게임 로직 부분에서 a s d w 를 각각 if elif elif 로 구현해놓았는데 마지막에 else 추가하고 gameBoard.wrongKey = 2 를 추가해줍시다
자 이제 잘못된 키를 저장은 할 수 있는데 문장을 언제 출력해줘야 할까요?
지워지고 새로 그릴때 하면 눈에 잘 띄지 않을까요 여러가지 방법이 있을 수 있습니다 한번 생각해보세요
우선 지워진 이후에 문장을 출력하고 다시 wrongKey 항목을 0으로 만들어주지 않는다면, 제대로 입력했음에도 print문이 계속 나옵니다. 이부분만 주의하시면 됩니다.
(필자는 1과 2를 거꾸로 작성해서 출력 부분이 저렇게 적어졌습니다)
여기까지 작성하셨으면 이제 게임 구동은 깔끔하게 됩니다. 잘못된 키를 넣거나 없는 키를 넣으면 제대로 경고 메세지도 표시해주고요.
자 하지만 게임이 16퍼즐인데 지금 완성된 상태로 있네요. 해결 하는 방법이 여러가지가 있겠네요. 어떤것들이 있을까요? 필자가 생각한 게임 방식은 두가지가 있습니다. 우선 하나씩 나열해볼까요
1. 처음부터 게임 판을 만들어 준다
2. 자동 생성해준다
여기서 더 추가로 나아가서 게임판을 만들어주는 경우에는 횟수제한 등을 넣어서 난이도 별로 판 수를 나눠 줄 수 도 있겠네요
하지만 프로그래밍 훈련이니 자동생성쪽으로 가닥을 잡고 프로그래밍을 해봅시다. 우선 내일의 콘카라 어저씨에게 맡기도록 하겠습니다.
'Game with Python' 카테고리의 다른 글
| 16퍼즐 제작 - (6) (0) | 2017.06.13 |
|---|---|
| 16퍼즐 제작 - (5) (0) | 2017.06.12 |
| 16퍼즐 제작 - (3) (0) | 2017.05.31 |
| 16퍼즐 제작 - (2) (0) | 2017.05.29 |
| 16퍼즐 제작 - (1) (0) | 2017.05.29 |
