【python】a small python game ——Battleship

this game is easy .i have a crucial ship among the 25 ships , you have 5 times to find out which one it is .

There are the whole codes :

import random

board
= [] for x in range(0,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 random.randint(0,len(board)-1) def random_col(board): return random.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! guess_row = input("Guess Row:") guess_col = input("Guess Col:") turn=0 for turn in range(5): 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 + 1) here! print turn + 1 print_board(board)

let's do it step by step :

1.create your ships

import random

board = []

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

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

print "Let's play Battleship!"
print_board(board)

2.set one as a crucial ship randomly 

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

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

ship_row = random_row(board)
ship_col = random_col(board)
print ship_row  #this is the answer , you can hide it 
print ship_col

3.ask palyer to guess a ship by guessing the row and column 

guess_row = input("Guess Row:")
guess_col = input("Guess Col:")
      print_board(board)

4.deal with the answer 

turn=0
for turn in range(5):
    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 + 1) here!
      print turn + 1

5. run it will be like this 

Let's play Battleship!
O O O O O
O O O O O
O O O O O
O O O O O
O O O O O
原文地址:https://www.cnblogs.com/younglaker/p/2877093.html