Python을 기반으로 간단한 tic-tac-toe 게임을 만드는 방법

WBOY
풀어 주다: 2023-05-19 14:29:37
앞으로
1391명이 탐색했습니다.

기본 프레임워크

from tkinter import *  
import tkinter.messagebox as msg  
  
root = Tk()  
root.title('井字棋')  
# labels  
Label(root, text="player1 : X", font="times 15").grid(row=0, column=1)  
Label(root, text="player2 : O", font="times 15").grid(row=0, column=2)
로그인 후 복사

이 코드에서는 먼저 tkinter 모듈과 tkinter.messagebox 모듈을 가져왔습니다. 그런 다음 root라는 Tk 개체를 만들고 제목을 설정합니다. 여기서는 Tic Tac Toe라고 이름을 붙였습니다. tkinter 模块和 tkinter.messagebox 模块。然后,我们创建了一个名为 rootTk 对象,并设置了它的标题。我们这里命名为井字棋。

接着,我们创建了两个 Label 对象,并将它们放置在根窗口中的第一行和第二列。Label 对象的文本分别是 player1 : Xplayer2 : O,它们的字体大小为 15 像素。

最后,我们创建了一个名为 msgmessagebox

다음으로 두 개의 Label 개체를 만들어 루트 창의 첫 번째 행과 두 번째 열에 배치합니다. Label 개체의 텍스트는 각각 player1 : Xplayer2 : O이며 글꼴 크기는 15픽셀입니다.

마지막으로 msg라는 이름의 messagebox 개체를 생성하고 이를 루트 창에 표시합니다. 사용자가 메시지 상자의 버튼을 클릭하면 사용자가 볼 수 있도록 사용자의 메인 창에 메시지 상자가 표시됩니다. 이 예에서는 단순히 메시지 상자를 표시합니다.

버튼 정의

button1 = Button(root, width=15, font=('Times 16 bold'), height=7, command=lambda: checker(1))  
button1.grid(row=1, column=1)  
button2 = Button(root, width=15, height=7, font=('Times 16 bold'), command=lambda: checker(2))  
button2.grid(row=1, column=2)  
button3 = Button(root, width=15, height=7, font=('Times 16 bold'), command=lambda: checker(3))  
button3.grid(row=1, column=3)  
button4 = Button(root, width=15, height=7, font=('Times 16 bold'), command=lambda: checker(4))  
button4.grid(row=2, column=1)
로그인 후 복사

이 코드는 Tkinter 모듈의 Button 구성 요소를 Python으로 구현한 것입니다. Tkinter에서는 Button 위젯을 사용하여 사용자 이벤트에 대한 응답으로 클릭할 수 있는 버튼을 만들 수 있습니다.

9개의 버튼 구성 요소를 선언하고 각 구성 요소의 속성과 메서드를 구성했습니다. 각 Button 구성 요소의 코드 조각은 이전 Button 구성 요소와 약간 다릅니다. 왜냐하면 이 코드는 창, 레이블, 버튼 및 기타 위젯을 포함하는 완전한 Tkinter 응용 프로그램이기 때문입니다.

이 예에서는 Tkinter의 레이아웃 관리자 Grid를 사용하여 9개의 Button 구성 요소를 열에 배열하고 각 버튼의 너비를 15픽셀로 설정했습니다. 필요에 따라 조정할 수 있는 것은 Tkinter 창에 있는 Button 구성 요소의 너비입니다.

마지막으로 각 Button 구성 요소에 대해 특정 작업을 수행하는 람다 함수를 설정했습니다. 이 람다 함수는 Button 구성 요소의 수를 나타내는 하나의 매개 변수를 받는 이름 없는 함수입니다. 이 예제에서는 각 Button 구성 요소에 대해 람다 함수를 설정하여 지정된 숫자를 확인하는 재귀 함수인 Checker 구성 요소를 호출합니다. Checker 구성 요소 구현에 대한 구체적인 내용은 Tkinter 공식 문서의 개별 기능을 참조하세요.

함수 구현

여기서는 코드의 일부만 보여드리고 나머지 내용은 동일합니다.

if digit == 1 and digit in digits:  
digits.remove(digit)  
##player1 will play if the value of count is even and for odd player2 will play  
if count % 2 == 0:  
mark = 'X'  
panels[digit] = mark  
elif count % 2 != 0:  
mark = 'O'  
panels[digit] = mark  
  
button1.config(text=mark)  
count = count + 1  
sign = mark  
  
if (win(panels, sign) and sign == 'X'):  
msg.showinfo("Result", "Player1 wins")  
root.destroy()  
elif (win(panels, sign) and sign == 'O'):  
msg.showinfo("Result", "Player2 wins")  
root.destroy()
로그인 후 복사
우리 코드는 카운터와 두 개의 마커, 숫자와 표시를 정의합니다. 카운터 카운트는 해당 작업을 판단하고 수행할 루프 수를 나타냅니다.

숫자가 1과 같고 숫자가 숫자 안에 있으면 숫자에서 숫자가 제거되고 플레이어 1 또는 2의 동작은 카운트 패리티에 따라 결정됩니다. count가 짝수이면 플레이어 1이 게임을 하고, 그렇지 않으면 플레이어 2가 게임을 합니다.

각 루프에서 count를 2로 나눈 나머지가 0이면 mark는 X와 같고 panel[digit]은 mark로 설정됩니다. 마크가 O와 같으면 패널[숫자]를 마크로 설정합니다.

그런 다음 버튼 컴포넌트인 버튼1의 텍스트로 마크를 설정하고, 1씩 카운트를 추가하고, 기호를 마크로 설정하고, 기호의 값에 따라 게임의 승자를 결정합니다. 플레이어 1이 게임에서 승리하면 "결과" 메시지가 표시되고 창이 닫힙니다. 플레이어 2가 게임에서 승리하면 "결과" 메시지가 표시되고 창이 닫힙니다.

각 사이클마다 기호 값에 따라 게임의 승자가 결정됩니다. 플레이어 1이 게임에서 승리하고 부호가 X이면 "결과" 메시지가 표시되고 창이 닫힙니다. 플레이어 2가 승리하고 표시가 O이면 "결과" 메시지가 표시되고 창이 닫힙니다.

Python을 기반으로 간단한 tic-tac-toe 게임을 만드는 방법효과

🎜🎜🎜

위 내용은 Python을 기반으로 간단한 tic-tac-toe 게임을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!