Python Tkinter——五子棋游戏详解版

本文详细解析如何使用Python的Tkinter库开发五子棋游戏。从界面设计到游戏逻辑,全面阐述了五子棋游戏的实现过程,为Python GUI编程爱好者提供实践参考。
摘要由CSDN通过智能技术生成

Python Tkinter 实践系列——五子棋游戏详解版

import sys
#sys模块是最常用的和python解释器交互的模块,
# sys模块可供访问由解释器(interpreter)使用或维护的变量和与解释器进行交互的函数。
# sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。
import tkinter#Tkinter 是 Python 自带的图形界面库,库中包含众多图形界面控件
from tkinter import *
from tkinter.messagebox import *
#导入python中的tkinter库弹窗messagebox,包括消息提示框、消息警告框、错误消息框



def startGame():
    global turn, board
    turn = True
    board = [[0 for i in range(15)] for j in range(15)] #创建一个15行15列的二维表,并初始化数组元素为0
    #初始化棋盘
    drawBoard()


def exit():
    win.destroy()#关闭窗口
    sys.exit()#退出程序,正常退出时exit(0)


def about():
    showinfo("About", "Gobang v0.1")


def drawBoard():
    global canvas, board
    canvas.delete("all")
    for i in range(15):
        canvas.create_line(30, 30 + 40 * i, 30 + 40 * 14, 30 + 40 * i, width=1, fill='black')
    for j in range(15):
        canvas.create_line(30 + 40 * j, 30,  30 + 40 * j, 30 + 40 * 
tkinter 实现的五子棋UI界面 import tkinter as tk from tkinter import messagebox from chessboard import ChessBoard ChessBoard = ChessBoard() class GUI(object): def __init__(self): self.counter = 0 self.winner = 0 self.is_start = False self.is_surrender = False self.window = tk.Tk() # 窗口对象(首字母大写) self.window.title('Gobang') self.window.geometry('800x540') self.window.resizable(width = False, height = False) # 画布对象 棋盘 self.canvas = tk.Canvas(self.window, height = 540, width = 540) self.chessboard = tk.PhotoImage(file = 'Gobang_chessboard/chessboard.gif') self.blackpoint = tk.PhotoImage(file = 'Gobang_chessboard/blackpoint.gif') self.whitepoint = tk.PhotoImage(file = 'Gobang_chessboard/whitepoint.gif') self.canvas.create_image(0, 0, anchor = 'nw', image = self.chessboard) self.canvas.bind("", self.get_point) self.start_point = 10 # 起始点位置 self.step = 35 # 每个格子的跨度 self.canvas.place(x = 0, y = 0) # 标签对象 self.l_info = tk.Label(self.window, text = 'Not started', font=('Arial', 12), width = 25, height = 2) self.l_info.place(x = 545, y = 0) # 文本框对象 self.t = tk.Text(self.window, height = 15) self.t.place(x = 540, y = 40) # 按钮对象 self.f_header = tk.Frame(self.window, highlightthickness=0) self.b_start = tk.Button(self.f_header, text = 'start', command = self.start) self.b_restart = tk.Button(self.f_header, text = 'restart', command = self.restart) self.b_regret = tk.Button(self.f_header, text = 'regret', command = self.regret) self.b_surrender = tk.Button(self.f_header, text = 'surrender', command = self.surrender) self.f_header.place(x = 545, y = 250) self.b_start.pack(side='left', padx=10) self.b_restart.pack(side = 'left') self.b_surrender.pack(side = 'right') self.b_regret.pac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值