Login Register






Battleship filter_list
Author
Message
Battleship #1
Going off my trend of turning paper games into scripted ones, I made a one player battleship program as my debut for Python. This works on *nix systems due to the os.system('clear'), so if you want to run it on windows, just switch it to os.system('cls').

Code:
from random import randint from time import sleep import os board = [] for x in range(5): board.append(["O"] * 5) def print_board(board): for row in board: print " ".join(row) 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) for turn in range(4): print "Turn", turn + 1 print_board(board) guess_row = int(raw_input("Guess Row:")) guess_col = int(raw_input("Guess Col:")) os.system('cls') 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" if turn == 3: print "Game Over" sleep(10)
It's often the outcasts, the iconoclasts ... those who have the least to lose because they
don't have much in the first place, who feel the new currents and ride them the farthest.

Reply

RE: Battleship #2
Fun little game Smile For future reference, you can avoid casting raw_input() to an int by using input(). In Python 2, input() is equivalent to eval(raw_input()).

Code:
int(raw_input("Guess Row:")) -> input("Guess Row:")
[Image: CDUAq9d.png]

[+] 1 user Likes Shebang's post
Reply

RE: Battleship #3
(07-08-2015, 01:10 AM)Shebang Wrote: Fun little game Smile For future reference, you can avoid casting raw_input() to an int by using input(). In Python 2, input() is equivalent to eval(raw_input()).

Code:
int(raw_input("Guess Row:")) -> input("Guess Row:")

I prefer raw_input(); never have used input().

[+] 1 user Likes Eclipse's post
Reply