import sys
import tkinter
from tkinter import *
from tkinter.messagebox import *
game->start命令处理函数
def startGame():
global turn,board
turn=True
board=[[0 for i in range(15)] for j in range(15)]
drawBoard()
game->exit命令处理函数
def exit():
win.destroy()
sys.exit()
help->about命令处理函数
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)
#鼠标左键拾起事件的事件处理函数
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
board[m][n]=-1 if turn else 1 #设计鼠标点击位置的对应board元素的值
drawBoard()
if isWin(turn):
showinfo("Gobang","黑棋获胜!" if turn else "白棋获胜!")
startGame()
turn=not turn #设置下一次是黑棋还是白棋
#判断是否胜利
def isWin(turn):