假设玩家X在棋盘上的a1处放置一个点。我怎样才能让玩家O不只是把他们的观点放在a1上而覆盖X的输入
board = ["# ", "# ", "# ", "# ", "# ", "# ", "# ", "# ", "# "]
p2 = 1
p = 0
scorex = 0
scoreo = 0
a = 0
b = 0
def game():
for i in range(0,3):
print(board[i], end="")
print("")
for i in range(3,6):
print(board[i], end="")
print("")
for i in range(6,9):
print(board[i], end="")
def pagain(scoreo, scorex):
again = input("Do you want to play again(y)or no(n)?: ")
if again == "y":
board.clear()
for i in range(9):
board.append("# ")
p = 0
wholegame(scoreo, scorex)
return scoreo
elif again == "n":
p = 1
print("Thanks for playing!")
o = input("")
def wholegame(scoreo, scorex):
game()
p = 0
while p == 0:
#For O
o = input("\nWhere do you want to place your O letter?(a1, a2, a3...): ")
if o == "a1":
board[0] = "o "
game()
elif o == "a2":
board[1] = "o "
game()
elif o == "a3":
board[2] = "o "
game()
elif o == "b1":
board[3] = "o "
game()
elif o == "b2":
board[4] = "o "
game()
elif o == "b3":
board[5] = "o "
game()
elif o == "c1":
board[6] = "o "
game()
elif o == "c2":
board[7] = "o "
game()
elif o == "c3":
board[8] = "o "
else:
print("\nInvalid, you lost your turn.")
#O Wins
if board[0] + board[1] + board[2] == "o o o ":
scoreo = scoreo + 1
print("\n\nO Wins\nPlayer O has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[3] + board[4] + board[5] == "o o o ":
scoreo = scoreo + 1
print("\n\nO Wins\nPlayer O has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[6] + board[7] + board[8] == "o o o ":
scoreo = scoreo + 1
print("\n\nO Wins\nPlayer O has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[0] + board[4] + board[8] == "o o o ":
scoreo = scoreo + 1
print("\n\nO Wins\nPlayer O has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[2] + board[4] + board[6] == "o o o ":
scoreo = scoreo + 1
print("\n\nO Wins\nPlayer O has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[0] + board[3] + board[6] == "o o o ":
scoreo = scoreo + 1
print("\n\nO Wins\nPlayer O has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[1] + board[4] + board[7] == "o o o ":
scoreo = scoreo + 1
print("\n\nO Wins\nPlayer O has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[2] + board[5] + board[8] == "o o o ":
scoreo = scoreo + 1
print("\n\nO Wins\nPlayer O has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif "# " not in board:
print("\n\nTie.\nPlayer O has", oscore, "point(s).\nPlayer X has", xscore, "point(s)")
p = p + 1
pagain()
#For X
x = input("\nWhere do you want to place your X letter?(a1, a2, a3...): ")
if x == "a1":
board[0] = "x "
game()
elif x == "a2":
board[1] = "x "
game()
elif x == "a3":
board[2] = "x "
game()
elif x == "b1":
board[3] = "x "
game()
elif x == "b2":
board[4] = "x "
game()
elif x == "b3":
board[5] = "x "
game()
elif x == "c1":
board[6] = "x "
game()
elif x == "c2":
board[7] = "x "
game()
elif x == "c3":
board[8] = "x "
game()
else:
print("\nInvalid, you lost your turn.")
#X wins
if board[0] + board[1] + board[2] == "x x x ":
scorex = scorex + 1
print("\n\nO Wins\nPlayer X has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[3] + board[4] + board[5] == "x x x ":
scorex = scorex + 1
print("\n\nO Wins\nPlayer X has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[6] + board[7] + board[8] == "x x x ":
scorex = scorex + 1
print("\n\nO Wins\nPlayer X has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[0] + board[4] + board[8] == "x x x ":
scorex = scorex + 1
print("\n\nO Wins\nPlayer X has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[2] + board[4] + board[6] == "x x x ":
scorex = scorex + 1
print("\n\nO Wins\nPlayer X has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[0] + board[3] + board[6] == "x x x ":
scorex = scorex + 1
print("\n\nO Wins\nPlayer X has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[1] + board[4] + board[7] == "x x x ":
scorex = scorex + 1
print("\n\nO Wins\nPlayer X has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif board[2] + board[5] + board[8] == "x x x ":
scorex = scorex + 1
print("\n\nO Wins\nPlayer X has", scoreo, "point(s)")
p = p + 1
pagain(scoreo, scorex)
elif "# " not in board:
print("\n\nTie.\nPlayer O has", oscore, "point(s).\nPlayer X has", xscore, "point(s)")
p = p + 1
pagain()
wholegame(scoreo, scorex)
#create if statements to make acceptions(so you cant overite the others positions)
#Unexpected input(Ex: If someone doesn't type a1 then say invali
试试这个:
然后继续下面的if语句
将检查正方形是否为空。但是,由于您单独测试每个条件,因此需要将
and board[n] == "# "
添加到所有条件中相关问题 更多 >
编程相关推荐