Come creare un gioco di corazzata in Python
La risposta completa a "come creare un gioco di corazzata" è... beh, è oltre lo scopo di una risposta di Quora, questo è sicuro. A seconda di quanto esteso vuoi che sia il tuo gioco di corazzata, potresti aver bisogno di coinvolgere windowing, animazioni, gestori di eventi click, o un motore di gioco completo che potrebbe richiedere mesi di studio per essere compreso.
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:
Nel corpo del ciclo di gioco, chiedete al giocatore la riga e la colonna del suo tiro:
- col = int(input("column?"))
- row = int(input("row?"))
allora controlla la verità o la falsità del quadrato per la colonna e la fila date nel tabellone di gioco:
- se tabellone[col][row]:
Nel corpo dell'istruzione 'if', stampa qualche output per far sapere al giocatore che ha colpito il bersaglio, e imposta la variabile 'ended' a 'True' così il gioco finirà. Poi fornisci una dichiarazione 'else' in cui stampi qualche prompt per far sapere al giocatore che l'ha mancato, e il ciclo 'while' continuerà a chiedere al giocatore la sua scelta di colonna e riga.
Si noterà che non ho fornito un esempio completo di codice sorgente: questo è intenzionale. Voglio che pensiate effettivamente alle parole che sto scrivendo e che le capiate, piuttosto che copiare il codice nella finestra del vostro editor e inviarlo alla cieca.
Articoli simili
- Come creare un file di salvataggio per un gioco scritto in Python
- È consigliabile imparare Tkinter in Python per avanzare la propria carriera o per ottenere una migliore offerta di lavoro come sviluppatore Python?
- Come eseguire uno script Python senza installare Python
- Come creare dinamicamente le variabili in Python