Noob's Tic-Tac-Toe on Python

안녕하세요, 제 이름은 Jorge입니다. 여기 Python에서 tic-tac-toe에 대한 완전히 안내되지 않은 시도가 있습니다. 배경으로 저는 프로그래밍 여정을 시작한 지 3개월이 되었으며 Codecademy에서 모든 주요 Python 과정을 완료했습니다. 이 스크립트는 Codecademy의 컴퓨터 과학 경로에서 내 첫 번째 프로젝트의 결과이며 실제로 완성까지 본 첫 번째 프로그램입니다. 이 게임을 만드는 "더 나은"방법이 있다는 데 의심의 여지가 없다고 덧붙이고 싶습니다. 그러나 나는 내 자신의 문제 해결 능력을 향상시키기 위해 외부의 도움을 받지 않기로 했습니다. 즉, 건설적인 피드백을 환영합니다.

다음은 link to the code on GitHub 입니다. 필요한 것은 그것을 플레이하기 위한 파이썬과 친구가 있다면 그것뿐입니다.

게임





게임을 시작할 때 첫 번째 플레이어는 "X"또는 "O"중에서 선택해야 합니다. 그런 다음 플레이어는 번갈아 가며 표시할 공간을 선택합니다. 보드의 사각형은 모두 A, B 또는 C와 1, 2 또는 3의 조합으로 이름이 지정됩니다. 문자와 숫자의 조합으로 공백을 선택할 수 있도록 했습니다. 예를 들어 플레이어는 대문자 또는 소문자로 B2 또는 2B를 입력할 수 있습니다. 입력한 공간은 문자로 표시되고 다음 플레이어는 이동하라는 요청을 받습니다. 사용 가능한 빈 공간이 하나뿐인 경우 게임은 자동으로 다음 플레이어의 표시로 빈 공간을 채웁니다. 가로, 세로 또는 대각선으로 세 개의 연속된 공간을 먼저 소유한 플레이어가 승리합니다. 플레이어의 총 승리와 무승부는 지속적으로 표시됩니다. 언제든지 "exit"또는 "quit"을 입력하여 게임을 종료할 수 있습니다.

코드





기본적으로 게임은 사전을 사용하여 공간 이름을 플레이어 표시 또는 빈 공간에 매핑하고 해당 공간의 사전에서 각 공간 이름에 액세스하여 f-string을 사용하여 사전을 보드로 표시합니다.

플레이어는 실제로 게임 시작 시 "X"또는 "O"를 선택할 때 인스턴스화된 Player 클래스입니다. 속성을 통해 클래스는 각 플레이어의 할당된 문자("X"또는 "O"), 승리한 게임 수 및 현재 게임에서 차지하는 사전 공간을 추적합니다. 이 클래스에는 플레이(또는 공간이 하나만 남아 있을 때 자동 플레이)하는 데 사용되는 도우미 함수로 구성된 하나의 큰 "턴"메서드만 있고, 이동이 승리인지 무승부인지 결정하고 재대결을 프롬프트합니다. 게임 자체는 플레이어 1과 플레이어 2가 번갈아 가며 반복되는 무한 루프입니다.

while True:
  player1.turn()
  player2.turn()


미래?



AI 추가를 고려했지만 기계 학습은 현재 내 툴킷에 있는 것이 아닙니다. 현재로서는 프로젝트가 너무 오래 진행되었고 저는 정말 공부로 돌아가야 합니다. 아마도 앞으로 진정한 1인 플레이어 경험을 위해 플레이어 2 봇을 추가할 것입니다. 읽어 주셔서 감사합니다!

좋은 웹페이지 즐겨찾기