zoukankan      html  css  js  c++  java
  • 【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
Copyright © 2011-2022 走看看