14. Test run. One quess?


#1

Everytime i run my code i only have one guess, so it wont allow me to test the game properly. When I run it and i get ""You missed my battleship!" I get Congratulations, you've finished this section! So i can actually never see if all statements work as they should. eg "You guessed that one already." never get tested.

How do i get able to run my game to success?

from random import randint

board = []

for x in range(0, 5):
    board.append(["O"] * 5)

def print_board(board):
    for row in board:
        print " ".join(row)

print_board(board)

def random_row(board):
    return randint(0, len(board) - 1)

def random_col(board):
    return randint(0, len(board[0]) - 1)

ship_row = random_row(board)
ship_col = random_col(board)
guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))

print " Row " + str((ship_row))
print " Col " + str((ship_col))

# Write your code below!
if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sank my battleship!"
else:
    if guess_row not in range(5) or \
       guess_col not in range(5):
        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)

#2

Don't worry, you'll have the chance to test it properly in the lessons ahead. Later you'll ad a cycle so you have the chance to try and guess several times.

Also, whenever you get the "Congratulations, you've finished this section!", you can easily close that sign and run the code again (trying something different maybe), without moving on to the next stage until you're satisfied.


#3

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.