Battleships!

b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16

This lab is about trying to make the game battleships through coding. It requires the usage of functions, Boolean, lists and input. The idea is to make a page of code that would translate Battleships onto the console and have the user enter numbers that they think is the location of the Battleship. There will have to be fail safes that would allow the game to continue in case the user inputs some bad numbers such as any number above 5. This will prevent accidental errors and let the game continue on until the game hits an end point or the last turn as written in the code.

 

Code used to make the game.

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

# Everything from here on should go in your for loop!
# Be sure to indent four spaces!
for turn in range(4):
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!”
break
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”, turn + 1# Print (turn + 1) here!

print_board(board)
if turn >= 3:
print “Game Over”
print ” ###### YOU MISSED ALL SHOTS !!!!! ######”
print “The answer was: Row number ” + str(ship_row) + ” and Col number ” + str(ship_col)