At My Fingertips
In questa attività implementerai la funzione fantasmi
per creare una grafica che rappresenta gli antagonisti di Pac-Man.
Nel gioco ufficiale di Pac-Man ci sono quattro fantasmi. Sapevi che hanno un nome?
Come prima cosa definiamo i loro colori:
fantasma
Osserva l'immagine sottostante per capire come scomporre un fantasma nelle forme di base.
Vogliamo implementare la funzione fantasma
in modo che possa generare fantasmi di diverse dimensioni e colori.
Dato che vogliamo poter scegliere le dimensioni e il colore del fantasma, questi sono i valori che dobbiamo inserire come parametri.
Di conseguenza, la nostra funzione dovrebbe avere un parametro che modelli le dimensioni del fantasma (come per esempio larghezza
, raggio_testa
, ...), il cui tipo dovrebbe essere float
, e un parametro che modelli il colore del fantasma, il cui tipo dovrebbe essere Colore.
Ora implementiamo una funzione che produce un fantasma, dati la larghezza
e il colore
desiderati.
Non stipare tutto il codice in quest'unica funzione: quando necessario, introduci funzioni aggiuntive, ciascuna delle quali produca una componente del fantasma.
Il codice dovrebbe essere leggibile e non presentare inutili duplicazioni.
Se hai funzioni utili nella tua toolbox (p. es. triangolo_equilatero
, semicerchio
, ...) puoi importarle e utilizzarle qui.
In questa attività ti sei esercitato nella scomposizione di un problema, scomponendo l'immagine del fantasma in grafiche più semplici e la funzione fantasma
in funzioni ausiliarie
Hai anche usato colori definiti dall'utente, creati con colore_rgb.
Soprattutto hai avuto l'opportunità di riflettere sulla scelta dei parametri di una funzione, nonché sui loro tipi.
Potresti anche aver importato dalla tua toolbox alcune funzioni utili (come semicerchio
o triangolo_equilatero
).
This activity has been created by Lardelli and is licensed under CC BY-SA 4.0.
It is derived from this activity.
Fantasmi
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version b744b47 (Tue, 08 Oct 2024 16:30:14 GMT)