Py+Tk 扫雷游戏

Python 做的 Tic-Tac-Toe

scturtle posted @ 2010年4月11日 07:55 in python , 2479 阅读

学了点Tkinter,用用试试,还不太会布局

tic-tac-toe

# coding:utf-8
from Tkinter import *
root = Tk()

cixu=0
qizi=['o','x']
btl=[]

def win():
    global cixu,qizi,btl
    cixu= 1 if cixu==0 else 0
    print '%s win !' % qizi[cixu]
    tl = Toplevel()
    Label(tl,text = '%s win !' % qizi[cixu]).pack()

def clear():
    for bt in btl:
        bt['text']=''

def setbtnum(event):
    global cixu,qizi,btl
    i = btl.index(event.widget)
    if btl[i]['text']=='':
        btl[i]['text']=qizi[cixu]
        cixu= 1 if cixu==0 else 0

        for winlist in [[0,1,2],[3,4,5],[6,7,8],
                [0,3,6],[1,4,7],[2,5,8],[0,4,8],[2,4,6]]:
            if i in winlist:
                for k in range(3):
                    if btl[i]['text']!=btl[winlist[k]]['text']:
                        break
                else:
                    win()
                    return
 
for i in range(9):
    btl.append(Button(root,relief=GROOVE,width=3,height=1))
for i in range(9):
    btl[i].bind("<ButtonRelease-1>",setbtnum)
    btl[i].grid(row=i/3,column=i%3)

Button(root,text='Clear',width=4,height=2,command=clear).place(x = 100,y = 20,anchor = NW)
root.geometry('150x90+0+0')
root.mainloop()

 

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter