Breve panoramica di Scratch

Carlo Bellettini, Dario Malchiodi, Mattia Monga, Anna Morpurgo

aladdin@di.unimi.it

1 Gli elementi chiave dell'ambiente

  • `Sprite' in uno schermo 480x360, origine centrale, angoli come in un orologio
    • figurine mobili
    • background
  • Blocchi
    • istruzioni: movimento / media / output / aspetto
    • controllo composizione: cicli / selezioni / eventi
    • sensori: colore / proprietà / input
    • operatori matematici / logici
  • Variabili
    • semplici
    • composte: liste
    • personali (locali) o globali

2 La `semantica' dell'interprete

  • Ad ogni sprite possono essere associati script
  • Gli script sono eseguiti concorrentemente
  • Sincronizzazione possibile con invia a tutti e attendi

3 Demo dagli esempi

3.1 Spinner (Simulazioni)

  • 3 sprite, 2 script
  • ciclo a conteggio
  • generazione casuale

3.2 PacMan (Giochi)

  • 3 sprite, 8 script
  • ciclo condizionato e infinito
  • costumi, sensori colore, attendi, tastiera

3.3 FishChomp (Giochi)

  • 6 sprite, 5 script
  • ciclo a condizione e infinito
  • selezioni
  • annidamenti
  • eventi
  • costumi, sensori colore, distanza, mouse, nascondi

3.4 Pong (Giochi)

  • 3 sprite

    Provate a farlo voi!!!

3.5 Altre demo

  • FunWithAnimation
  • GravityBlocks
  • PlayWithYourFace
  • MelodyList
  • BouncingMusicBalls

3.6 Un gioco un po' più complesso

Come impostereste la realizzazione del gioco del tris?

4 Un esempio con difficoltà algoritmiche

Il problema del resto

  • con monete infinite
  • con una quantità limitata di monete