Skillbook Logo
foto profilo

Skill Factory

Lista post > Come progettare e sviluppare giochi per l'educazione e la formazione con Python: lezione 5

Come progettare e sviluppare giochi per l'educazione e la formazione con Python: lezione 5

Mirko Onorato | Skill Factory - 23/09/2024 08:30:04 | in Tutorials

In questa lezione completiamo la prima esperienza di matematica di Hammer-XP, implementando tutti i livelli di gioco previsti:

1) Elimina dall'area di gioco i numeri pari;
2) Elimina dall'area di gioco 3 e i multipli di 3;
3) Elimina dall'area di gioco 7 e i numeri divisibili per 7;
4) Elimina dall'area di gioco i numeri primi.

I livelli sono stati progettati per ragazzi delle scuole elementari, che hanno un'età massima di 10 anni.

I quattro livelli sono stati implementati attraverso le funzioni seguenti:

1) def exp_01_01(block_list,sprite_list,game_exit,scheda);
2) def exp_01_02(block_list,sprite_list,game_exit,scheda);
3) def exp_01_03(block_list,sprite_list,game_exit,scheda);
4) def exp_01_04(block_list,sprite_list,game_exit,scheda).

Puoi consultare il codice delle funzioni, scaricando il programma Python nel file zip alla fine di questa lezione.

Il primo livello parte subito all'avvio del gioco, con la funzione:

def exp_01_01(block_list,sprite_list,game_exit,scheda).

L'avvio degli altri livelli viene gestito attraverso la variabile level_progressivo e la struttura condizionale seguente:

level_progressivo+=1
 if level_progressivo==2:
      exp_01_02(block_list,sprite_list,game_exit,scheda)
elif level_progressivo==3:
      exp_01_03(block_list,sprite_list,game_exit,scheda)
elif level_progressivo==4:
      exp_01_04(block_list,sprite_list,game_exit,scheda)

Per passare al livello seguente è stato aggiunto il pulsante "START NEXT LEVEL >>":

bloccoGoalNextLevel=Etichetta((201,55,184),300,40,500,164,'START NEXT LEVEL >>')

Quando Hammer tocca il pulsante START NEXT LEVEL >>", si passa al livello successivo.

Il suono per accedere al prossimo livello è stato creato con la funzione seguente:

def beep_next_level():
    frequenza=150
    durata=[200,75,100,125,350,500,700]
    for x in range(5):
        winsound.Beep(frequenza,durata[x])
        frequenza+=150
    winsound.Beep(frequenza,1000)

FASI DEL GIOCO
All'avvio, il gioco presenta subito il primo livello, dove bisogna eliminare tutti i numeri pari.
Il gioco finisce se termina il tempo a disposizione oppure gli errori (wrong) superano i successi (score).
Quando il gioco termina appare il pulsante "GAME OVER", come mostra l'immagine seguente:

Se il giocatore elimina dall'area di gioco tutti i numeri pari passa al livello successivo.

Il secondo livello prevede che il giocatore deve eliminare dall'area di gioco il 3 e i multipli di 3. Anche in questo caso il gioco finisce se termina il tempo a disposizione oppure gli errori (wrong) superano i successi (score)

Il terzo livello è simile al secondo, ma qui il giocatore deve eliminare dall'area di gioco il 7 e i numeri divisibili per 7.

Infine, il quarto livello è quello più difficile, perché il giocatore deve eliminare dall'area di gioco tutti i numeri primi; quindi, prima d'iniziare a giocare, è il caso di studiare bene l'argomento.

Se il giocatore, termina con successo anche l'ultimo livello, appare il pulsante "GOAL!!!"

Tutte le fasi del gioco vengono gestite con il codice Python seguente: 

            if not gameNextLevel:
                blocks_hit_list = pygame.sprite.spritecollide(hammer, block_list, True)
                t2=time.time()
                t_value=math.floor(t2-t1)
                for blocco in blocks_hit_list:
                    if blocco.hit:
                        score_value+=1
                    else:
                        wrong_value+=1
                if score_value==game_exit.score_value_exit and level_progressivo<4:
                    gameNextLevel=True
                    block_level.add(bloccoGoalNextLevel)
                    sprite_list.add(bloccoGoalNextLevel)
                    beep_next_level()
                elif score_value==game_exit.score_value_exit and level_progressivo==4:
                        gameOver=True
                        sprite_list.add(bloccoGoal)
                        beep_goal()
                elif wrong_value>score_value or t_value==game_exit.t_value_exit:
                        gameOver=True
                        sprite_list.add(bloccoGameOver)
                        beep_game_over()


COME ESEGUIRE IL GIOCO

Per eseguire il gioco HAMMER-XP dovete installare il framework Python sul vostro computer.

Per eseguire il download del setup per installare Python clicate qui oppure collegatevi al link seguente: https://www.python.org/downloads/.
Dopo il download del setup, eseguitelo per installare Python.

Attenzione, durante l'installazione è importante spuntare l'opzione "Add Python 3.X to PATH:



Dopo che avete impostato l'opzione, cliccate sul comando Install Now.

Per verificare se il framework Python è stato installato correttamente, dal prompt dei comandi del sistema operativo, eseguite il comando:

python --version

Se l'installazione è andata a buon fine viene visualizzata la versione di Python, come mostra l'immagine seguente:

Successivamente create una cartella "HAMMER-XP" e in questa cartella estraete il contenuto del file zip che contiene le risorse del gioco.

Per avviare il gioco dal prompt dei comadi, entrate nella cartella hammer-xp, ed eseguite il comando:

python hammer_experience_matematica_001_V02.py


Nella prossima lezione implementeremo l'esperienza d'italiano per imparare a riconoscere i sostantivi, gli aggettivi, i verbi e gli avverbi.


Per il download delle risorse di questa lezione cliccate qui.


< LEZIONE PRECEDENTE  VAI ALLA PRIMA LEZIONE


T U T O R I A L S    S U G G E R I T I


PER IMPARARE A PROGRAMMARE, SEGUI LE PLAYLIST SUL NOSTRO CANALE YOUTUBE "SKILL FACTORY CHANNEL": clicca qui per accedere alle playlist


PAR GOL (Garanzia di Occupabilità dei Lavoratori)

Se sei residente in Campania e cerchi lavoro, sai che puoi partecipare gratuitamente ad un corso di formazione professionale PAR GOL?

I corsi di formazione professionale PAR GOL sono finanziati dalla Regione Campania e ti permettono di acquisire una Qualifica Professionale Europea (EQF) e di partecipare ad un tirocinio formativo aziendale.

 Invia il tuo CV o una manifestazione d'interesse a: recruiting@skillfactory.it

oppure

chiama ai seguenti numeri di telefono:

Tel.: 081/18181361
Cell.: 327 0870141

oppure

Contattaci attraverso il nostro sito: www.skillfactory.it


Per maggiori informazioni sul progetto PAR GOLclicca qui.

Per maggiori informazioni sulle Qualifiche Professionali Europee (EQF)clicca qui.


Academy delle professioni digitali

Per consultare il catalogo dei corsi online della nostra Academy ...

... collegati al nostro sito: www.skillfactory.it

... collegati al nostro sito: www.skillfactory.it

 

hammer-xp matematica python pygame sprite gamification gaming formazione training scuola skillfactory skill factory istruzione gioco ludico educazione digitale pari dispari numeri primi winsound math time

Share Button
TOP