Python井字棋Pro Max Plus Ultra版 分turtle和tkinter

我不允许我的文章有缺点 今天是井字棋 明天就是我不知道

下面 正文开始:

两个程序的代码

turtle版

from tkinter.messagebox import*;from turtle import*
ht();speed(0);pensize(3);a=Screen();a.setup(width=0.5,height=0.5);j=['0','0','0','0','0','0','0','0','0']
def c(d,e):
    pu();goto(b*50-d,e);pd()
    if l%2==0:write('×',font=('黑体',40,'normal'));j[b-1]='1'
    else:write('〇',font=('黑体',40,'normal'));j[b-1]='2'
for i in range(2):pu();goto(-50,50-i*50);pd();fd(150)
left(90)
for g in range(2):pu();goto(g*50,-50);pd();fd(150)
def k(n):showerror('锐骐牌井字棋','“'+str(n)+'”赢了')
for l in range(9):
    b=int(a.numinput('锐骐牌井字棋','请输入你想要的位置',default=1,maxval=9,minval=1))
    if b<4:c(100,50)
    elif 3<b<7:c(250,0)
    else:c(400,-50)
    if j[0]+j[4]+j[8]=='111' or j[2]+j[4]+j[6]=='111' or j[0]+j[3]+j[6]=='111' or j[1]+j[4]+j[7]=='111' or j[2]+j[5]+j[8]=='111' or j[0]+j[1]+j[2]=='111' or j[3]+j[4]+j[5]=='111' or j[6]+j[7]+j[8]=='111':k('×');done()
    elif j[0]+j[4]+j[8]=='222' or j[2]+j[4]+j[6]=='222' or j[0]+j[3]+j[6]=='222' or j[1]+j[4]+j[7]=='222' or j[2]+j[5]+j[8]=='222' or j[0]+j[1]+j[2]=='222' or j[3]+j[4]+j[5]=='222' or j[6]+j[7]+j[8]=='222':k('〇');done()
    if '0' not in j:showerror('锐骐牌井字棋','平局')
done()

from tkinter.messagebox import*;from turtle import*
ht();speed(0);pensize(3);a=Screen();a.setup(width=0.5,height=0.5);j=['0','0','0','0','0','0','0','0','0']
def c(d,e):
    pu();goto(b*50-d,e);pd()
    if l%2==0:write('×',font=('黑体',40,'normal'));j[b-1]='1'
    else:write('〇',font=('黑体',40,'normal'));j[b-1]='2'
for i in range(2):pu();goto(-50,50-i*50);pd();fd(150)
left(90)
for g in range(2):pu();goto(g*50,-50);pd();fd(150)
def k(n):showerror('苦瓜牌井字棋','“'+str(n)+'”赢了')
for l in range(9):
    b=int(a.numinput('苦瓜牌井字棋','请输入你想要的位置',default=1,maxval=9,minval=1))
    if b<4:c(100,50)
    elif 3<b<7:c(250,0)
    else:c(400,-50)
    if j[0]+j[4]+j[8]=='111' or j[2]+j[4]+j[6]=='111' or j[0]+j[3]+j[6]=='111' or j[1]+j[4]+j[7]=='111' or j[2]+j[5]+j[8]=='111' or j[0]+j[1]+j[2]=='111' or j[3]+j[4]+j[5]=='111' or j[6]+j[7]+j[8]=='111':k('×');done()
    elif j[0]+j[4]+j[8]=='222' or j[2]+j[4]+j[6]=='222' or j[0]+j[3]+j[6]=='222' or j[1]+j[4]+j[7]=='222' or j[2]+j[5]+j[8]=='222' or j[0]+j[1]+j[2]=='222' or j[3]+j[4]+j[5]=='222' or j[6]+j[7]+j[8]=='222':k('〇');done()
    if '0' not in j:showerror('苦瓜牌井字棋','平局')
done()

____________________________________________________________________

tkinter版

from tkinter.messagebox import*
from tkinter import*
a=Tk();a.geometry('60x60')
x,y=['0','0','0','0','0','0','0','0','0'],0
def c(d,e,g):
    global y
    if y%2==0:h=Button(text='×',font=('normal',10));h.place(x=d,y=e,width=20,height=20);x[g]='1'
    elif y%2==1:h=Button(text='〇',font=('normal',10));h.place(x=d,y=e,width=20,height=20);x[g]='2'
    y+=1
    if x[0]+x[4]+x[8]=='111' or x[2]+x[4]+x[6]=='111' or x[0]+x[3]+x[6]=='111' or x[1]+x[4]+x[7]=='111' or x[2]+x[5]+x[8]=='111' or x[0]+x[1]+x[2]=='111' or x[3]+x[4]+x[5]=='111' or x[6]+x[7]+x[8]=='111':showerror('苦瓜の井字棋','“×”赢了')
    elif x[0]+x[4]+x[8]=='222' or x[2]+x[4]+x[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值