Controllo · scheda Giochi
Labirinto
Labirinto generato da solo (sempre diverso o sempre uguale con lo stesso seme): i muri fermano il giocatore, l'uscita è la F


Esempio
Metti un Labirinto nella finestra (si chiamerà Labirinto1) e scrivi:
quando Finestra1.apertura fai Labirinto1.mostra_percorso = verofine quando Labirinto1.uscita fai stampa("uscita: chi = {evento["chi"]}")fineRisultato (controlli simulati)
uscita: chi = esempio Labirinto1.mostra_percorso = vero
Proprietà
Si leggono e si cambiano con il punto: Labirinto1.righe. Ha anche le proprietà comuni a tutti i controlli (posizione, colori, carattere, bordo, effetti).
| Proprietà | Tipo | Iniziale | Significato |
|---|---|---|---|
righe | intero, da 2 a 60 | 8 | Righe di stanze |
colonne | intero, da 2 a 60 | 10 | Colonne di stanze |
seme | intero, da 0 a 2e+09 | 0 | Numero del labirinto: lo stesso numero dà sempre lo stesso (0 = ogni volta diverso) |
monete | intero, da 0 a 500 | 0 | Monete da raccogliere sparse nei vicoli ciechi |
mappa | lista | [] | La mappa: # muro, . corridoio, S partenza, F uscita, o moneta (vuota = la crea dal seme) |
colore_muri | colore | "#2A2D34" | Colore dei muri |
colore_pavimento | colore | "#F1ECE2" | Colore dei corridoi |
mostra_percorso | logico | falso | Disegna la strada giusta (per aiutare) |
stile | scelta tra `"normale"`, `"moderno"`, `"pillola"`, `"3d"`, `"neon"`, `"vetro"`, `"cartone"`, `"pixel"`, `"carta"`, `"minimale"`, `"gioco"`, `"elegante"`, `"tecnico"` | "normale" | Stile dell'oggetto: la forma (angoli, bordi, ombre, carattere, reazione al tocco); il colore resta quello scelto. "normale" = come la finestra |
dinamiche | lista | [] | Comportamenti da gioco senza codice: giocatore, gravità e salto, piattaforma, raccoglibile, nemico, spara, rimbalza, trascinabile... (se ne possono mettere più di una) |
Eventi
quando Labirinto1.uscita faiprincipaleQuando un giocatore trova l'uscita. Inevento:chi.quando Labirinto1.raccolta faiQuando un giocatore raccoglie un simbolo del livello. Inevento:simbolo,riga,colonna,da.quando Labirinto1.clic faiQuando si fa clic sul controllo. Inevento:x,y.
Metodi
Labirinto1.genera([seme])Crea un labirinto nuovo (seme= numero che dà sempre lo stesso labirinto; niente = a caso).Labirinto1.muro(riga, colonna)Vero se nella casella (riga, colonna) della mappa c'è un muro (anche fuori dal labirinto).Labirinto1.percorso()Il percorso più breve dalla partenza all'uscita: una lista di [riga, colonna].Labirinto1.salta([forza])Fa saltare l'oggetto:Palla.salta()oPalla.salta 15(forza da 1 a 30: 10 è il salto normale).Labirinto1.spingi([velocita_x], [velocita_y])Dà una spinta:Palla.spingi(300, -200)(pixel al secondo; y negativo = in su).Labirinto1.ferma_movimento()Ferma il movimento dell'oggetto (le dinamiche restano).Labirinto1.spara()Spara un colpo adesso (serve la dinamica "spara", altrimenti una pallina in avanti).Labirinto1.esulta([secondi])Il personaggio esulta per un po' (salti di gioia).Labirinto1.aggiungi_dinamica(nome, [regolazioni])Aggiunge una dinamica:Palla.aggiungi_dinamica("rimbalza", {"velocità_x": 300}).Labirinto1.togli_dinamica(nome)Toglie una dinamica:Nemico1.togli_dinamica("nemico").Labirinto1.ha_dinamica(nome)Vero se l'oggetto ha la dinamica:se Palla.ha_dinamica("gravità") allora.Labirinto1.regola(nome, regolazione, valore)Cambia una regolazione:Giocatore.regola("giocatore", "velocità", 400).Labirinto1.tocca(altro)Vero se i due oggetti si toccano adesso:se Giocatore.tocca(Lava) allora.
E tutte le animazioni comuni: Labirinto1.lampeggia(), Labirinto1.rimbalza(), Labirinto1.vola_a(x, y)…
Stili pronti
Con Labirinto1.stile = "principale" prende colori, bordo e reazione al mouse coerenti con il tema della finestra.
- normale
- moderno
- pillola
- 3d
- neon
- vetro
- cartone
- pixel
- carta
- minimale
- gioco
- elegante
- tecnico
Dove funziona
- PCsì
- Telefonosì
Nella stessa scheda
- ScenaArea di gioco aggiornata 60 volte al secondo
- SpritePersonaggio animato con collisioni
- FisicaInvisibile: gravità e rimbalzi per gli sprite
- JoystickLevetta sullo schermo o gamepad vero
- PunteggioContatore animato che ricorda il record
- PersonaggioPersonaggio animato (fermo, cammina, corre, salta, colpito, attacco, vittoria) già pronto a muoversi e saltare
- MondoAPiastrelleLivello a griglia scritto con i simboli: # terreno, = ponte, o moneta, * stella, ^ spuntoni, F arrivo
- PiattaformaPiattaforma su cui camminare (ferma o che si muove)
- MonetaOggetto da raccogliere: dà punti (monete, gemme, stelle, cuori, chiavi...)
- NemicoNemico che pattuglia o insegue: se ti tocca perdi una vita, se gli salti sopra vinci tu
- ProiettileColpo che vola dritto (o il modello dei colpi della dinamica Spara)
- OstacoloOstacolo che fa male: spuntoni, lava, cactus, sega, fuoco
- PortaPorta, bandiera o portale: chi la tocca passa a un'altra schermata o livello
- SfondoCheScorrePaesaggio a più strati che scorre (effetto profondità)
- TelecameraInvisibile: fa scorrere il mondo per seguire un oggetto, e sa scuotere lo schermo
- ViteLe vite del giocatore, come cuori
- ClassificaI punteggi migliori con i nomi, salvati sul dispositivo
- TimerDiGiocoTempo di gioco che scende (o sale); a zero finisce la partita
- PulsanteGiocoGrande pulsante rotondo da gioco: Salta, Spara, Pausa, frecce, azione
- FrecceDirezionaliCroce con le quattro frecce, comoda per il pollice
- DadoDado da lanciare toccandolo (anche più dadi insieme)
- MazzoDiCarteMazzo di carte francesi o napoletane: mescola e pesca
- ScacchieraGriglia di gioco con le regole pronte: tris, forza quattro, dama (o libera)
- ParticelleEsplosioni, stelle, coriandoli, fuochi d'artificio, neve, pioggia, bolle
- PianoforteTastiera da suonare con le dita (do re mi)
- RuotaDellaFortunaRuota a spicchi da far girare: dove si ferma?
- BersaglioBersaglio a cerchi: più vicino al centro, più punti