Posts 파이썬 장기-게임
Post
Cancel

파이썬 장기-게임


파이썬 장기-게임

제작동기

4차 산업혁명의 대두와 함께 AI 영역 또한 빠르게 발전하고 있습니다. 알파고와 이세돌이 겨룬 바둑 경기, 딥블루와 카프카로스가 겨룬 체스 경기 등 AI의 발전된 성능을 확실하게 알 수 있는 경기들을 보아왔습니다. 그렇기에 AI의 근간이 되는 코딩에 대해 자세하게 배우고 싶어 직접 장기 게임을 만들어 코딩을 배우기로 했습니다.


작품소개

우리가 아는 그 장기 게임이 맞습니다. 플레이어 2명이 서로 번갈아가면서 장기말을 움직여 상대방의 왕을 잡으면 이기는 장기 게임입니다. 장기말을 선택할 때에는 좌표를 선택하게 만들었습니다. 장기 게임을 만들 때에는 파이썬이라는 프로그래밍 언어로 만들었습니다.


작품의 구성

  1. 코드는 크게 ui와 모듈로 나누어져 있습니다.
  2. ui에서는 tkinter을 이용하여 ui를 띄우게 만든 후, 좌표를 입력받는 곳과 승리 조건만 있게 만들었습니다.
  3. module에서는 ui에서 입력받은 값에 따라 장기말이 움직이도록 다수의 함수를 넣었습니다. 플레이어를 구분하는 함수, 입력받은 값이 무슨 장기말인지를 판단하는 함수, 장기말에 따라 움직일 수 있는 칸을 제한시키는 함수, 잘못된 칸을 선택하면 다시 입력하게 하는 함수 등을 넣었습니다.
  4. 플레이어들이 장기말을 입력하여 움직이게 한 후, 턴이 지나면 ui가 출력됩니다.
  5. 이후 한 쪽의 왕이 죽을 때까지 반복됩니다.

작품의 동작 결과

이렇게 입력 후 ui가 띄워지지만.. 작품 제출일이 되어도 해결하지 못한 오류가 있었습니다. 코드 내부 상으로는 장기말이 제대로 움직이지만 움직인 장기말이 ui에서는 표시되지 않는 오류가 해결되지 않았습니다.

세부적인 코드는 이 링크로 가시면 나옵니다: 전체 코드


결론과 작품 후기

  1. 장기 게임을 만드는 데에도 수많은 코드가 넣어져야 간단한 말의 움직임을 구현할 수 있음을 알 수 있었습니다.
  2. 제출일까지 ui와 코드의 연결에 대한 오류를 해결하지 못한 점은 매우 아쉬웠습니다.
  3. ui와 module이 제대로 연결될 수 있게 함수를 추가하는 등의 방법을 통해 매끄럽게 작동되는 장기 게임의 개발이 가능할 것으로 보입니다.
  4. 하지만 작품 제작을 통해 얻은 노하우와 지식들은 분명 유용하게 쓰일 수 있다고 생각합니다.

This post is licensed under CC BY 4.0 by the author.

앗! 모기때찌

아두이노를 이용한 쿼드콥터 자세제어