A
Rapporto su
“Gioco del Tris ”
Sotto l'oggetto
Programmazione con Python [22616]
Inviato da
N. di serie Numero di iscrizione Nome dello studente
1 1700100271 Sig. Shinde Mohini Anandrao
2 1700100276 Sig. Jagtap Sakshi Krushna
Sotto la guida di
Signor Emekar S. P
Dipartimento di Ingegneria Informatica
Politecnico Governativo, Karad
1.0 Motivazione
L'obiettivo di questo progetto è sviluppare il famoso gioco da tavolo Tic-Tac-
Toe per due giocatori.
In generale, questo è un gioco da tavolo strategico per due giocatori. Il gioco del Tris è
basato su un tabellone di gioco (array 2D) di dimensione 3 x 3. I giocatori alternano nel posizionare le X
e Os sulla scheda fino a quando uno dei due non ha posizionato tre X o Os in fila orizzontalmente,
verticalmente, o in diagonale; oppure se tutte e nove le caselle del tabellone sono piene. Il giocatore vince se lui/lei
fa tre X o tre O in fila. Altrimenti, il gioco è un pareggio.
Inizialmente le caselle della griglia sono inizializzate a zero. Le X e le O potrebbero essere
indicato da numeri all'interno della griglia del tabellone rispettivamente da uno e due. Ad esempio, se il giocatore uno
sceglie X, la posizione di quella scelta è registrata come 1 e quando il giocatore due sceglie O
la posizione di quella scelta nel tuo array è registrata come 2. Alla fine, se una riga di 1 è
registrato allora il giocatore uno ha vinto la partita. Oppure se viene registrata una fila di 2, così il giocatore due.
ha vinto la partita. In caso contrario, la partita è un pareggio. La partita termina quando non ci sono più spazi vuoti
campi nell'array (tabellone) da riempire o se uno dei giocatori vince la partita.
2.0 Obiettivo del progetto
1. Sviluppare un gioco interessante per bambini per passare il loro tempo libero.
2. Sviluppare il famoso gioco da tavolo Tris per due giocatori.
3. Essere uno dei giocatori che ottiene tre simboli uguali in fila - orizzontalmente, verticalmente o
diagonalmente su una griglia 3 x 3.
Risultati del Corso 3.0 Raggiunti
1. Mostra un messaggio sullo schermo utilizzando uno script Python nell'IDE.
2. Sviluppare un programma python per dimostrare l'uso degli operatori.
3. Esegui operazioni su strutture dati in Python.
4. Sviluppa funzioni per problemi dati.
4.0 Revisione della letteratura
Autore Conclusione
Kalyani Adawadkar Questo documento descrive i principali Abbiamo usato questo documento per imparare
(Istituto Sigma di caratteristiche e applicazioni delle diverse funzionalità disponibili in
Ingegneria Programmazione Python Python e le sue applicazioni.
David Beazley Questo libro contiene un completo Abbiamo usato questo libro per imparare il
(Sams Publishing) apprendimento della programmazione Python concetti di base di Python
Programmazione
Tom Gutschmidt Questo libro copertine Abbiamo usato questo libro per imparare come
(Premier Press) programmazione in tre diversi costruire efficienti, flessibili e ben-
linguaggi di scripting ossia, Python, Lua programmi e sistemi integrati
e Ruby
Tabella 1 - Revisione della Letteratura
5.0 Procedura attuale seguita
La procedura attuale seguita durante il progetto è riportata nella tabella sottostante con
la data di inizio pianificata e la data di completamento finale.
Nr. Pianificato Pianificato Nome del responsabile
Data di inizio Data di fine Membri del team
1. Decidere il tema del progetto 16/12/2019 23/12/2019 1. Shinde Mohini
2. Jagtap Sakshi
2. Decidi le funzionalità del progetto 23/12/2019 06/01/2020 Shinde Mohini
2. Jagtap Sakshi
3. Preparare proposta di progetto 06/01/2020 13/01/2020 1. Shinde Mohini
2. Jagtap Sakshi
4. Decidi differente data 13/01/2020 27/01/2020 Shinde Mohini
strutture 2. Jagtap Sakshi
5. Sviluppa programma reale 27/01/2020 17/02/2020 Shinde Mohini
codice 2. Jagtap Sakshi
6. Debugga il codice del programma 17/02/2020 02/03/2020 1. Shinde Mohini
2. Jagtap Sakshi
7. Preparazione del rapporto finale del progetto 02/03/2020 16/03/2020 1. Shinde Mohini
2. Jagtap Sakshi
Tabella 2 - Procedura seguita
Codice sorgente
Implementazione del gioco Tic-Tac-Toe per due giocatori in Python.
theBoard = {'1': ' ' , '2': ' ' , '3': ' ' ,
4
7
board_keys = []
per chiave nella lavagna:
board_keys.append(key)
def stampaTabellone(tabellone):
stampa(' ' +board['1'] + ' | ' + board['2'] + ' | ' + board['3']
print(' ---+---+---')
print(' ' + tavolo['4'] + ' | ' + tavolo['5'] + ' | ' + tavolo['6']
print(' ---+---+---')
print(' ' + board['7'] + ' | ' + board['8'] + ' | ' + board['9']
Ora scriveremo la funzione principale che ha tutta la funzionalità del gioco.
def gioco():
X
count = 0
per i in range(10):
stampaTabellone(theBoard)
muovi=input("È il tuo turno," + turno + ". In quale posto vuoi andare? ")
input()
se theBoard[move] == ' ':
theBoard[muovi] = turno
count += 1
altro:
QUEL POSTO È GIA' OCCUPATO. In quale posto vuoi spostarti?
continua
Ora verificheremo se il giocatore X o O ha vinto, dopo ogni mossa dopo 5 mosse.
se conteggio >= 5:
se ilTabellone['1'] == ilTabellone['2'] == ilTabellone['3'] != ' ': # attraverso la parte superiore
stampaTavola(ilTavolo)
FINE DEL GIOCO.
Stampa(" ****** CONGRATULAZIONI! " + turno + " HAI VINTO IL GIOCO
******
interrompere
elif theBoard['4'] == theBoard['5'] == theBoard['6'] != ' ': # attraverso il mezzo
stampaTabellone(theBoard)
FINE DEL GIOCO.
print(" ****** CONGRATULAZIONI! " + turn + " HAI VINTO IL GIOCO
******
pausa
elif theBoard['7'] == theBoard['8'] == theBoard['9'] != ' ': # attraverso il fondo
stampaTabellone(tabellone)
FINE DEL GIOCO.
stampa(" ****** CONGRATULAZIONI! " +turn + " HAI VINTO IL GIOCO
******
pausa
elif ilTabellone['7'] == ilTabellone['4'] == ilTabellone['1'] != ' ': # giù sul lato sinistro
stampaTabellone(ilTabellone)
FINE DEL GIOCO.
stampa(" ****** CONGRATULAZIONI! " +turn + " HAI VINTO IL GIOCO
******
pausa
elif theBoard['8'] == theBoard['5'] == theBoard['2'] != ' ': # giù nel mezzo
stampaTabellone(theBoard)
FINE DEL GIOCO.
stampa(" ****** COMPLIMENTI! " +turn + " HAI VINTO IL GIOCO
******\n\n")
pausa
elif ilTabellone['9'] == ilTabellone['6'] == ilTabellone['3'] != ' ': # giù per il lato destro
stampaTabellone(ilTabellone)
FINE DEL GIOCO.
stampa(" ****** CONGRATULAZIONI! " +turn + " HAI VINTO IL GIOCO
******
pausa
elif theBoard['1'] == theBoard['5'] == theBoard['9'] != ' ': # diagonale
stampaScheda(laScheda)
GAME OVER.
stampa(" ****** CONGRATULAZIONI! " +turn + " HAI VINTO IL GIOCO
******\n\n"
interrompere
elif theBoard['7'] == theBoard['5'] == theBoard['3'] != ' ': # diagonale
stampaTabellone(theBoard)
GAME OVER.
stampa(" ****** CONGRATULAZIONI! " + turn + " HAI VINTO IL GIOCO
******
pausa
Se né X né O vincono e la tavola è piena, dichiareremo il risultato come 'pareggio'.
se count == 9:
FINE DEL GIOCO.
*** È UN PAREGGIO!! ***
interruzione
Ora dobbiamo cambiare il giocatore dopo ogni mossa.
se turn == 'X':
O
altrimenti:
X
Ora chiederemo se il giocatore vuole riprendere il gioco o meno.
Vuoi giocare di nuovo?(y/n)
se riavvia == "s" o riavvia == "S":
per chiave in board_keys:
theBoard[key]
gioco()
se __nome__ == '__principale__':
gioco()
Fig 1: Tavola del Gioco del Tris
Fig 2: Messaggio visualizzato se scegli la posizione che è già stata scelta
Fig 3: Messaggio visualizzato dopo aver vinto il gioco
Fig 4: Messaggio visualizzato dopo aver perso il gioco
6.0 Risorse effettive richieste
Le risorse utilizzate durante il completamento del progetto sono menzionate qui sotto
N. Ordine Specifiche Quantità Osservazioni
materiale
1. YouTube Formato file MP4, 640 x 1
360 pixel
2. Microsoft Word versione del 2010 1
3. INATTIVO 3.8.1 1
4. Laptop Dell, RAM 8 GB, 1
Hard disk 1 TB, i3
processore
8.0 Abilità sviluppate / apprendimento da questo Micro-Progetto
Abbiamo imparato,
1. Per dimostrare l'uso degli operatori.
2. Eseguire operazioni su strutture dati in Python.
3. Sviluppare funzioni per problemi specifici.
4. Competenze comunicative efficienti.
5. Lavorare come membro di un team per lo sviluppo di un programma in C.
6. Sviluppare qualità di leadership.
9.0 Applicazioni del Progetto
Questo progetto può essere utilizzato come un gioco interessante per i bambini per trascorrere il loro tempo libero.
2. Il progetto può essere utilizzato anche per comprendere il.
3. Il progetto può essere utilizzato nell'apprendimento del
Insegnante di materia
Signor Emekar S. P