Python Tkinter 实践系列——五子棋游戏
tkinter模块,窗口创建、消息循环等tkinter的基本架构
绘制图形,键盘及鼠标事件的处理程序
- 导入程序所需的库和模块
import sys
import tkinter
from tkinter import *
from tkinter.messagebox import *
- 命令处理函数
def startGame():
global turn, board
turn=True
board=[[0 for i in range(15)] for j in range(15)]
drawBoard()
def exit():
win.destroy()
sys.exit()
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*14, width=1, fill='black')
for i in range(15):
for j in range(15):
if board[i][j]==0:
continue
elif board[i][j]==-1:
color='black'
else:
color='white'
canvas.create_oval(j*40+15, i*40+15, j*40+45, i*40+45, fill=color)
4.鼠标左键抬起事件的事件处理函数
def onMouseUp(event):
global turn
x,y=event.x,event.y
if x>10 and x<610 and y>10 and y<610:
n=(x-10)//40
m=(y-10)//40