Como criar um jogo de batalha naval em Python
A resposta completa "como criar um jogo de batalha naval" é... bem, está além do escopo de uma resposta Quora, isso é certo. Dependendo de quão extenso você quer que seu jogo de batalha naval seja, você pode precisar envolver janelas, animações, manipuladores de eventos de clique, ou um mecanismo de jogo completo que pode levar meses de estudo para entender.
But if we scope the problem down to the simplest possible implementation, with a single player, a ship that takes up one square, a fixed board, and a command-line interface, we can get it done pretty quickly.
You need a two-dimensional array (in python, a list of lists) to store the game board:
- board = []
- for i in range(0, 5):
- board.append([False] * 5)
Go ahead and set one square to ‘True’ to hold a one-tile battleship.
You need a game loop: either a for loop over a fixed number of turns, or a ‘while’ loop that says “while the game hasn’t ended, keep doing this stuff.” In the ‘while’ case, you need to initialize your variable to track whether the game has ended (a ‘semaphore’) outside the loop:
- ended = False
- while not ended:
No corpo do loop do jogo, peça ao jogador a linha e a coluna do seu tiro:
- col = int(input("column?"))
- linha = int(input("linha?")) <
então verifique a verdade ou falsidade do quadrado para a coluna e linha dada no tabuleiro de jogo:
- se tabuleiro[col][linha]:
no corpo da declaração 'if', imprima alguma saída para que o jogador saiba que atingiu o alvo, e defina a variável 'ended' para 'True' para que o jogo termine. Então forneça uma declaração 'else' na qual você imprime algum prompt para que o jogador saiba que eles falharam, e o loop 'while' continuará pedindo ao jogador pela escolha de coluna e linha.
Você vai notar que eu não forneci um exemplo completo do código fonte: isso é intencional. Eu quero que você realmente pense nas palavras que estou escrevendo e as entenda, ao invés de copiar o código na janela do editor e enviá-lo cegamente.
Artigos semelhantes
- É aconselhável aprender Tkinter em Python para avançar na carreira ou para obter uma melhor oferta de emprego como desenvolvedor Python?
- Como executar um script Python sem instalar o Python
- Qual foi o primeiro jogo de batalha ao estilo royale?
- É uma boa ideia escrever um motor de jogo em Python? Se não, qual é a melhor linguagem para se escrever um motor de jogo?