Oct-11-2017, 02:07 AM
(This post was last modified: Oct-11-2017, 02:16 AM by sparkz_alot.)
def tic_tac_toe(): board = [1,2,3,4,5,6,7,8,9]
end = False
win_combinations = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (0, 3, 6), (1,
4, 7), (2, 5, 8), (0, 4, 8), (2, 4, 6))
def draw():
print(board[0], board[1], board[2])
print(board[3], board[4], board[5])
print(board[6], board[7], board[8])
print()
def p1():
n = choose_number()
if board[n] == "X" or board[n] =="0":
print("\nYou can't go there. Try again.")
p1()
else:
board[n] = "X"
def p2():
n = choose_number()
if board[n] == "X" or board [n] == "0":
print("\nYou can't go there. Try again.")
p2()
else:
board[n] = "0"
def choose_number():
while True:
a = input()
try:
a = int(a)
a-= 1
if a in range(0,9):
return a
else:
print("\nThat's not on the board. Try again.")
continue
except ValueError:
print("\nThat's not a number. Try again.") continue
def check board():
count = 0
for a in win_combinations:
if board[a[0]] == board[a[1]] == board[a[2]] == "X":
print("Player 1 Wins!\n")
print("Congratulations!\n")
return True
if board[a[0]] == board[a[1]] == board[a[2]] == "0":
print("Player 2 Wins!\n")
print("Congratulations!\n")
return True
if board[a[0]] == board[a]1]] == board[a[2]] == "0":
print("Player 2 Wins!\n")
print("Congratulations!\n")
return True
for a in range (9):
if board[a] == "X" or board[a] == "0":
count += 1
if count == 9:
print("The game ends in a Tie.\n")
return True
while not end:
draw()
end = check_board()
if end == True
break
print("Player 1 choose where to place a cross.\n")
pl()
print()
draw()
end = check board()
if end == True:
break
print("Player 2 choose where to plae a cross.\n")
p2()
print()
if input("Play again (y/n)\n") == "y":
print()
tic_tac_toe()
tic_tac_toe()
What am I doing wrong???
Error is coming up with, saying: dedent does not match any indentation level; when I intent, I get an invalid syntax, this also happens when i dedent all the way. So, when it matches the prior, I get the indentation error, indent otherwise and I get syntax. I am driving myself crazy.
else: (the one prior to)
board[n] = "0"
def choose_number():
while True:
Someone want to tell me what I am forgetting?
end = False
win_combinations = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (0, 3, 6), (1,
4, 7), (2, 5, 8), (0, 4, 8), (2, 4, 6))
def draw():
print(board[0], board[1], board[2])
print(board[3], board[4], board[5])
print(board[6], board[7], board[8])
print()
def p1():
n = choose_number()
if board[n] == "X" or board[n] =="0":
print("\nYou can't go there. Try again.")
p1()
else:
board[n] = "X"
def p2():
n = choose_number()
if board[n] == "X" or board [n] == "0":
print("\nYou can't go there. Try again.")
p2()
else:
board[n] = "0"
def choose_number():
while True:
a = input()
try:
a = int(a)
a-= 1
if a in range(0,9):
return a
else:
print("\nThat's not on the board. Try again.")
continue
except ValueError:
print("\nThat's not a number. Try again.") continue
def check board():
count = 0
for a in win_combinations:
if board[a[0]] == board[a[1]] == board[a[2]] == "X":
print("Player 1 Wins!\n")
print("Congratulations!\n")
return True
if board[a[0]] == board[a[1]] == board[a[2]] == "0":
print("Player 2 Wins!\n")
print("Congratulations!\n")
return True
if board[a[0]] == board[a]1]] == board[a[2]] == "0":
print("Player 2 Wins!\n")
print("Congratulations!\n")
return True
for a in range (9):
if board[a] == "X" or board[a] == "0":
count += 1
if count == 9:
print("The game ends in a Tie.\n")
return True
while not end:
draw()
end = check_board()
if end == True
break
print("Player 1 choose where to place a cross.\n")
pl()
print()
draw()
end = check board()
if end == True:
break
print("Player 2 choose where to plae a cross.\n")
p2()
print()
if input("Play again (y/n)\n") == "y":
print()
tic_tac_toe()
tic_tac_toe()
What am I doing wrong???
Error is coming up with, saying: dedent does not match any indentation level; when I intent, I get an invalid syntax, this also happens when i dedent all the way. So, when it matches the prior, I get the indentation error, indent otherwise and I get syntax. I am driving myself crazy.
else: (the one prior to)
board[n] = "0"
def choose_number():
while True:
Someone want to tell me what I am forgetting?