# 16. Game Over - Why does it work like this

#1

Hi Guys, so I will include a photo of the exercise, I think it is easier on the eyes:

``````# 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 < 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 (turn + 1) here!
if turn==3:
print "Game Over"
print_board(board)``````

I don't get the "turn"-part, First, I can just put it in like that, without prior definition of "turn=0" and just put in "turn+1" for each iteration. (So I guess it just creates the variable with a 0 and puts a 1 on top each time) Then I give the player 4 plays, until I say Game Over - then turn should be on the 4th turn (like the console says). However, why do I put it in like "turn == 3" at the end? This really doesn't make sense to me right now.

I appreciate any explanation!

#2

Let's see what values `turn` is getting. Like all good programmers, we start counting from 0:

``0 1 2 3``

Since we want 4 turns, our last turn is 3, which is why we print when `turn` is equal to 3

#3

Thank you for your answer!! Okay, so it is like a list, I think I get it.