python做作品发生了我自个儿无法解决的事情,求助
python做作品发生了我自个儿无法解决的事情,求助代码如下:
import easygui as g
import random as r
def 井字棋():
棋 = ['','','','','','','','','']
# 1(0) 2(1) 3(2) 4(3) 5(4) 6(5) 7(6) 8(7) 9(8) 分别对应九个格子:
# ┏━┳━┳━┓
# 1 ┃1 ┃2 ┃3 ┃
# ┣━╋━╋━┫
# 2 ┃4 ┃5 ┃6 ┃
# ┣━╋━╋━┫
# 3 ┃7 ┃8 ┃9 ┃
# ┗━┻━┻━┛
# 一二三
title = '井字棋'
次 = 0
def 井_开始():
global 人 #每次到这里就会出错,会提示“‘人’不是变量(NameError: name '人' is not defined)”,如果把‘global 人’删掉,就会提示“‘人’变量无法在函数里使用,因为它不是全局变量(UnboundLocalError: local variable '人' referenced before assignment)”,这要怎么改呀?
choices = ['(一,1)','(二,1)','(三,1)','(一,2)','(二,2)','(三,2)','(一,3)','(二,3)','(三,3)']
选择 = g.choicebox('请选择┏━┳━┳━┓\n 1 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┣━╋━╋━┫\n 2 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┣━╋━╋━┫\n 3 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┗━┻━┻━┛\n 一二三',title + '——' + 人,choices)
if 选择 == '(一,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(0,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(二,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(1,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(三,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(2,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 =='2P':
人 = '1P'
elif 选择 == '(一,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(3,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(二,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(4,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(三,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(5,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(一,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(6,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(二,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(7,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(三,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(8,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
g.msgbox('抽取先后手',title,'好的')
先后 = r.randint(1,2)
if 先后 == 1:
g.msgbox('1P先手(○),2P后手(×)',title,'好的')
g.msgbox('准备开始井字棋',title,'开始')
先 = '1P'
后 = '2P'
次 = 0
井_开始()
elif 先后 == 2:
g.msgbox('2P先手(○),1P后手(×)',title,'好的')
g.msgbox('准备开始井字棋',title,'开始')
先 = '2P'
后 = '1P'
次 = 0
井_开始()
井字棋()
#剩下的还没做完,如果各位大佬在上面的代码中发现其它bug,或者有更好的建议,请帮我指出来,谢谢。 变量得先定义后使用,global的作用是讲全局作用域中的变量扩展到局部,我看你全局中并没有定义人这个变量,当然会报错,我看你这个是个内嵌函数,如果内嵌函数想要使用局部作用域中的变量,不能使用global,应该用nonlocal ZhKQYu 发表于 2022-7-28 15:24
变量得先定义后使用,global的作用是讲全局作用域中的变量扩展到局部,我看你全局中并没有定义人这个变量, ...
至于修改方法,你得在全局作用域中定义一个人这个变量才能使用 ZhKQYu 发表于 2022-7-28 15:25
至于修改方法,你得在全局作用域中定义一个人这个变量才能使用
是要这样吗:
import easygui as g
import random as r
人 = 0
def 井字棋():
棋 = ['','','','','','','','','']
# 1(0) 2(1) 3(2) 4(3) 5(4) 6(5) 7(6) 8(7) 9(8) 分别对应九个格子:
# ┏━┳━┳━┓
# 1 ┃1 ┃2 ┃3 ┃
# ┣━╋━╋━┫
# 2 ┃4 ┃5 ┃6 ┃
# ┣━╋━╋━┫
# 3 ┃7 ┃8 ┃9 ┃
# ┗━┻━┻━┛
# 一二三
title = '井字棋'
次 = 0
def 井_开始():
global 人 #每次到这里就会出错,会提示“‘人’不是变量(NameError: name '人' is not defined)”,如果把‘global 人’删掉,就会提示“‘人’变量无法在函数里使用,因为它不是全局变量(UnboundLocalError: local variable '人' referenced before assignment)”,这要怎么改呀?
choices = ['(一,1)','(二,1)','(三,1)','(一,2)','(二,2)','(三,2)','(一,3)','(二,3)','(三,3)']
选择 = g.choicebox('请选择┏━┳━┳━┓\n 1 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┣━╋━╋━┫\n 2 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┣━╋━╋━┫\n 3 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┗━┻━┻━┛\n 一二三',title + '——' + 人,choices)
if 选择 == '(一,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(0,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(二,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(1,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(三,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(2,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 =='2P':
人 = '1P'
elif 选择 == '(一,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(3,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(二,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(4,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(三,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(5,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(一,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(6,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(二,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(7,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
elif 选择 == '(三,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
棋.insert(8,'○')
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
if 人 == '1P':
人 = '2P'
elif 人 == '2P':
人 = '1P'
g.msgbox('抽取先后手',title,'好的')
先后 = r.randint(1,2)
if 先后 == 1:
g.msgbox('1P先手(○),2P后手(×)',title,'好的')
g.msgbox('准备开始井字棋',title,'开始')
先 = '1P'
后 = '2P'
次 = 0
井_开始()
elif 先后 == 2:
g.msgbox('2P先手(○),1P后手(×)',title,'好的')
g.msgbox('准备开始井字棋',title,'开始')
先 = '2P'
后 = '1P'
次 = 0
井_开始()
井字棋()
#剩下的还没做完,如果各位大佬在上面的代码中发现其它bug,或者有更好的建议,请帮我指出来,谢谢。
然后把其它变量都搞到函数外同一定义就行了吗 wqiori 发表于 2022-7-28 15:30
是要这样吗:
然后把其它变量都搞到函数外同一定义就行了吗
是的可以这么搞但是定义成全局变量还是比较危险的 万一哪里没注意修改了一下可能导致程序报错
wqiori 发表于 2022-7-28 15:30
是要这样吗:
然后把其它变量都搞到函数外同一定义就行了吗
还有就是变量名定义为汉字可能也不太好,虽然不会报错,但是还是看着有点那啥,哈哈哈 好的,已经修改好了。Thank you very much! 定义为汉字主要是因为我记不住英文,我才小学(^ v ^) wqiori 发表于 2022-7-28 15:39
定义为汉字主要是因为我记不住英文,我才小学(^ v ^)
牛,未来可期 完成啦~
import easygui as g
import random as r
人 = 'P'
人_胜负 = 'P'
次 = 0
先 = 'P'
后 = 'P'
内容 = ''
title = '井字棋'
def 井字棋():
global 人
global 内容
global title
棋 = ['','','','','','','','','']
# 1(0) 2(1) 3(2) 4(3) 5(4) 6(5) 7(6) 8(7) 9(8) 分别对应九个格子:
# ┏ ━ ┳ ━ ┳ ━ ┓
# 3 ┃1(0)┃2(1)┃3(2)┃
# ┣ ━ ╋ ━ ╋ ━ ┫
# 2 ┃4(3)┃5(4)┃6(5)┃
# ┣ ━ ╋ ━ ╋ ━ ┫
# 1 ┃7(6)┃8(7)┃9(8)┃
# ┗ ━ ┻ ━ ┻ ━ ┛
# 一 二 三
def 井_开始():
def 井_检测():
global 次
global 人
global title
if 棋 == 棋 == 棋 == '○':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '×':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '○':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '×':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '○':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '×':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '○':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '×':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '○':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '×':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '○':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '×':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '○':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '×':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '○':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 棋 == 棋 == 棋 == '×':
g.msgbox(人_胜负 + '赢了',title,'好的')
exit()
elif 次 == 9:
g.msgbox('平局',title,'好的')
exit()
else:
pass
global 人
global 人_胜负
global 次
global 先
global 后
global 内容
global title
井_检测()
choices = ['左上(一,3)','上 (二,3)','右上(三,3)','左 (一,2)','中 (二,2)','右 (三,2)','左下(一,1)','下 (二,1)','右下(三,1)']
选择 = g.choicebox('请选择┏━┳━┳━┓\n 3 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┣━╋━╋━┫\n 2 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┣━╋━╋━┫\n 1 ┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n ┗━┻━┻━┛\n 一二三',title + '——' + 人,choices)
if 选择 == '左上(一,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(0,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 选择 == '上 (二,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(1,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 选择 == '右上(三,3)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(2,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 选择 == '左 (一,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(3,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 选择 == '中 (二,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(4,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 选择 == '右 (三,2)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(5,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 选择 == '左下(一,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(6,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 选择 == '下 (二,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(7,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 选择 == '右下(三,1)':
if 棋 == '○' or 棋 == '×':
g.msgbox('这个位置已经被占用了哦',title,'好的')
井_开始()
else:
del 棋
棋.insert(8,内容)
g.msgbox('┏━┳━┳━┓\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┣━╋━╋━┫\n┃' + 棋 + '┃' + 棋 + '┃' + 棋 +'┃\n┗━┻━┻━┛',title,'好的')
次 += 1
if 人 == '1P':
人 = '2P'
人_胜负 = '1P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
elif 人 == '2P':
人 = '1P'
人_胜负 = '2P'
if 内容 == '○':
内容 = '×'
井_开始()
elif 内容 == '×':
内容 = '○'
井_开始()
g.msgbox('抽取先后手',title,'好的')
先后 = r.randint(1,2)
if 先后 == 1:
g.msgbox('1P先手(○),2P后手(×)',title,'好的')
g.msgbox('准备开始井字棋',title,'开始')
先 = '1P'
后 = '2P'
人 = '1P'
内容 = '○'
次 = 0
井_开始()
elif 先后 == 2:
g.msgbox('2P先手(○),1P后手(×)',title,'好的')
g.msgbox('准备开始井字棋',title,'开始')
先 = '2P'
后 = '1P'
人 = '2P'
内容 = '○'
次 = 0
井_开始()
井字棋()
页:
[1]