tic tac toe php,Python tic-tac-toe检测作弊

所以现在我写了一个简单的井字游戏。我甚至没有使用我所做的所有功能,但我的问题是:

我如何判断玩家是否在已经有1或2的地方放置1或2,我想我知道怎么做,但是如果他们输入非法字符或试图覆盖已经放置的1或2,我如何才能将它们放回“输入你的号码”提示符。在

还有没有更紧凑的方法来实现这一点?在

游戏代码如下:nr = [0,0,0,0,0,0,0,0,0]

keepGoing = True

def checkP1():

if nr[0] and nr[1] and nr[2] or nr[3] and nr[4] and nr[5] or nr[6] and nr[7] and nr[8] or nr[0] and nr[3] and \

nr[6] or nr[1] and nr[4] and nr[7] or nr[2] and nr[5] and nr[8] or nr[0] and nr[4] and nr[8] or nr[2] and nr[4] and nr[6] == 1:

print("P1 Wins")

keepGoing = False

return keepGoing

def checkP2():

if nr[0] and nr[1] and nr[2] or nr[3] and nr[4] and nr[5] or nr[6] and nr[7] and nr[8] or nr[0] and nr[3] and \

nr[6] or nr[1] and nr[4] and nr[7] or nr[2] and nr[5] and nr[8] or nr[0] and nr[4] and nr[8] or nr[2] and nr[4] and nr[6] == 2:

print("P2 Wins")

keepGoing = False

return keepGoing

def Game():

while keepGoing:

PrintBoard()

in1 = 0

in2 = 0

in1 = input("Please enter the number of the position you want to put your symbol P1.")

nr[int(in1)-1] = 1

check = checkP1()

if check == 0:

PrintBoard()

break

in2 = input("Please enter the number of the position you want to put your symbol P2.")

check = checkP2()

if check == 0:

PrintBoard()

break

nr[int(in2)-1] = 2

def PrintBoard():

print("",nr[0],nr[1],nr[2],"\n",nr[3],nr[4],nr[5],"\n",nr[6],nr[7],nr[8])

def Reset():

nr = [0,0,0,0,0,0,0,0,0]

keepGoing = True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值