16. Game over


#1

What's wrong in my code?? It gives me: "Oops, try again. Did you add your if statement with the "Game Over" message?"

Could anyone please give a hint?? Cheers!!

Everything from here on should go in your for loop!

Be sure to indent four spaces!

for turn in range(4):
print "Turn ", (turn + 1)

guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))

if guess_row == ship_row and guess_col == ship_col:
print "Congratulations! You sunk my battleship!"
else:
if guess_row == ship_row and guess_col == ship_col:
print "Congratulations! You sunk my battleship!"
else:
if (guess_row < 0 or guess_row > 4) or (guess_col < 0 or guess_col > 4):
print "Oops, that's not even in the ocean."
elif(board[guess_row][guess_col] == "X"):
print "You guessed that one already."
else:
print "You missed my battleship!"
board[guess_row][guess_col] = "X"
print_board(board)
if turn == 3:
print "Game over"
for turn in range(4):
print "Turn", turn + 1


#2

It's kinda hard to tell what part of the code belongs to one for loop or if statement since your post is without any indentation.

I think the problem lies in the fact that you use another for loop at the end to print the turn, while you can just put it in the same for loop.

Also, why do you have an if and else statement with the same outcome?

if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sunk my battleship!"
else:
    if guess_row == ship_row and guess_col == ship_col:
        print "Congratulations! You sunk my battleship!"

Anyway, what I used was:

if turn == 3:
    print"Game Over"
else:
# Print (turn + 1) here!
    print str(turn+1)    
    turn=turn+1
    print_board(board)

I hope it is any help :slightly_smiling: