Я хочу дать пользователю выбор того, хотят ли они рандомизировать координаты или хотят ли они вводить их для игры с линкорами на Python. Следует отметить, что я использую портативное приложение PyScripter для его создания.Как я могу дать пользователю возможность выбрать, в каком режиме играть?
рандомизированное Версия
from random import randint
Battleship_Board =[]
for x in range (0,5):
Battleship_Board.append(["O"] * 5)
def print_Battleship_Board(Battleship_Board):
for row in Battleship_Board:
print (" ".join(row))
print ("Let's play Battleships!")
print_Battleship_Board(Battleship_Board)
def random_row(Battleship_Board):
return randint(0, len(Battleship_Board) - 1)
def random_col(Battleship_Board):
return randint(0, len(Battleship_Board[0]) - 1)
Battleship_Row = random_row(Battleship_Board)
Battleship_Column = random_col(Battleship_Board)
for turn in range(5):
Guess_Board_Row = int(input("Guesss the X value"))
Guess_Board_Column = int(input("Guess the Y value"))
if Guess_Board_Row == Battleship_Row and Guess_Board_Column == Battleship_Column:
print("You sunk my battleship!")
break
else:
if (Guess_Board_Row < 1 or Guess_Board_Row > 5) or (Guess_Board_Column < 1 or Guess_Board_Column > 5):
print("Apologies, that's not on the grid")
elif(Battleship_Board[Guess_Board_Row][Guess_Board_Column] == "X"):
print("You already guessed that value")
else:
print("You missed my battleship")
Battleship_Board[Guess_Board_Row][Guess_Board_Column] = "X"
print("Turn" + str(turn+1) + " out of 4.")
print_Battleship_Board(Battleship_Board)
if turn >=4:
print("Game Over")
Как вы можете видеть, я позволяя пользователю играть в игру на основе рандомизированного значения для столбца и строки.
, введенная Версия
Battleship_Board =[]
for x in range (0,5):
Battleship_Board.append(["O"] * 5)
def print_Battleship_Board(Battleship_Board):
for row in Battleship_Board:
print (" ".join(row))
print ("Let's play Battleships!")
print_Battleship_Board(Battleship_Board)
Battleship_Row = int(input("Please enter a X value"))
Battleship_Column = int(input("Please enter a Y value"))
if (Battleship_Row < 1 or Battleship_Row > 5) or (Battleship_Column < 1 or Battleship_Row > 5):
print("Apologies, that's not on the grid")
for turn in range(5):
Guess_Board_Row = int(input("Guess the X value"))
Guess_Board_Column = int(input("Guess the Y value"))
if Guess_Board_Row == Battleship_Row and Guess_Board_Column == Battleship_Column:
print("You sunk my battleship!")
print("My Ship was here: [" + str(Battleship_Row) + "][" + str(Battleship_Column) + "]")
break
else:
if turn == 5:
Battleship_Board[Battleship_Row][Battleship_Column] = "X"
print_Battleship_Board(Battleship_Board)
print("Game Over")
print("My Ship was here: [" + str(Battleship_Row) + "][" + str(Battleship_Column) + "]")
else:
if (Guess_Board_Row < 1 or Guess_Board_Row > 5) or (Guess_Board_Column < 1 or Guess_Board_Column > 5):
print("Apologies, that's not on the grid")
elif(Battleship_Board[Guess_Board_Row][Guess_Board_Column] == "X"):
print("You already guessed that value")
else:
print("You missed my battleship!")
Battleship_Board[Guess_Board_Row][Guess_Board_Column] = "X"
print("Turns taken out of 5:", turn + 1)
print_Battleship_Board(Battleship_Board)
Вот один, в котором пользователь получает входные значения.
Я хочу установить вариант между этими двумя версиями для выбора пользователем при запуске приложения. Как я могу это сделать?
Инструкция 'if'? –
Я принимал так же много, но я не был уверен, как правильно компоновать весь код, учитывая, что мне нужно будет различать эти две версии для python, чтобы понять и запустить его. –
Что вы пробовали? Сделали какие-либо попытки в меню скрипта/функции/класса или что-то подобное? – jDo