Play it Sam, NOT A LESSON! This is a question. :)


Why does the basic code for the lesson "Play it Sam" give you the answer, use the code. It tells you what numbers to use, Why??

from random import randint

board = []

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

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

print "Let's play Battleship!"

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)
print ship_row
print ship_col

# Everything from here on should go in your for loop!
# Be sure to indent four spaces!
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!"
    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."
        print "You missed my battleship!"
        board[guess_row][guess_col] = "X"
    # Print (turn + 1) here!


I'm not stuck or anything.


Are you asking what part of your code is printing something? There aren't that many print statements in there to look at. Or are you asking why one would design the program to print out the hidden location? I believe that was mentioned at the same time as that suggestion was made


Try using the code, when you use it, above the "print row" and "print column" there are 2 numbers and they tell you what to use to hit the enemy battleship.


Using the print function can be used as a debugging method so you can ensure that you are getting what you want out of the random number generator.

These two print functions are added in the step called "It's Not Cheating—It's Debugging!"

Ideally, you would remove those before actually allowing someone to play the game.


Oh Okay :grin: :grin:


Thanks for the help :grin:


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