Blocchi – 2

La configurazione iniziale di Wooden Block Puzzle

  • un rettangolo 8x4 + un quadrato 8x8

Il codice per le mosse supera le colonne disponibili sullo schermo… ma deve stare sulla stessa riga!

GLOBAL SPAZIO, DIM, COLORI, MOSSE
SPAZIO = 60
DIM    = 48
COLORI = {“R2”:“WHITE”,“P3”:“PURPLE”,“I4”:“BLACK”,“Q4”:“GREEN”,“L4”:“BLUE”,“T4”:“YELLOW”,“S4”:“RED”,“C5”:“TOMATO”}
MOSSE  = {
“R2”:[[90,90,180,-90,-90,0],[90,180,180,-90,0,0]],
“P3”:[[90,90,180,-90,180,-90,0,0],[90,90,180,180,-90,0,-90,0],[90,180,180,-90,-90,0,90,0],[90,180,90,180,-90,-90,0,0]],
“I4”:[[90,90,90,90,180,-90,-90,-90,-90,0],[90,180,180,180,180,-90,0,0,0,0]],
“Q4”:[[90,90,180,180,-90,-90,0,0]],
“L4”:[[90,90,180,-90,180,180,-90,0,0,0],[90,90,90,180,180,-90,0,-90,-90,0],[90,180,180,180,-90,-90,0,90,0,0],[90,180,90,90,180,-90,-90,-90,0,0],[90,90,180,180,180,-90,0,0,-90,0],[90,180,-90,-90,-90,0,90,90,0],[90,180,180,90,180,-90,-90,0,0,0],[90,90,90,180,-90,-90,180,-90,0,0]],
“T4”:[[90,180,90,180,-90,180,-90,0,0,0],[90,90,90,180,-90,180,-90,0,-90,0],[90,180,180,180,-90,0,-90,0,90,0],[90,180,90,180,-90,-90,-90,0,90,0]],
“S4”:[[90,180,90,180,180,-90,0,-90,0,0],[90,90,180,-90,180,-90,-90,0,90,0],[90,180,180,-90,180,-90,0,0,90,0],[90,90,180,90,180,-90,-90,0,-90,0]],
“C5”:[[90,90,180,-90,180,90,180,-90,-90,0,0,0],[90,90,90,180,180,-90,0,-90,180,-90,0,0],[90,90,180,180,180,-90,-90,0,90,0,-90,0],[90,180,90,0,90,180,180,-90,-90,-90,0,0]]
}

TO posizione x y
     GLOBAL SPAZIO,DIM
     X = SPAZIO+DIM*(x-1)
     Y = SPAZIO+DIM*(y-1)
     POSITION [X,Y]
END

TO linea x1 y1 x2 y2
    PENUP   posizione x1 y1
    PENDOWN posizione x2 y2
END

TO griglia 
    REPEAT  9  [ linea        1 REPCOUNT        13 REPCOUNT ]
    REPEAT 13 [ linea REPCOUNT        1  REPCOUNT        9 ]
END

TO pezzo k x y r
    GLOBAL COLORI, DIM, MOSSE
    FILLCOLOR COLORI[k]
    PENUP
    posizione x y
    PENDOWN
    FOR dir in MOSSE[k][r] [ 
        SETHEADING dir 
        FORWARD    DIM 
    ]
    FILL
END

CLEARSCREEN
HIDETURTLE
PENCAP   “round”
PENSIZE  8 
PENCOLOR “SILVER”
griglia
PENSIZE  1 
PENCOLOR “BLACK” 
pezzo “L4”  1 1 7 pezzo “T4”  1 3 1 pezzo “C5” 1 4 3 pezzo “P3” 1 6 3 pezzo “I4”  1 8 0 pezzo “R2”  2 2 0 pezzo “S4”  2 6 3 pezzo “I4”  4 1 1 
pezzo “R2”  4 5 1 pezzo “C5”  5 1 0 pezzo “Q4” 5 4 0 pezzo “T4” 5 6 1 pezzo “L4”  5 7 3 pezzo “T4”  7 1 2 pezzo “S4”  7 7 3 pezzo “Q4”  8 1 0 
pezzo “S4”  8 3 2 pezzo “R2”  8 5 1 pezzo “I4” 9 3 1 pezzo “P3” 9 7 1 pezzo “L4” 10 1 0 pezzo “C5” 10 4 0 pezzo “R2” 11 3 0 pezzo “Q4” 11 7 0 
pezzo “P3” 12 1 2 pezzo “T4” 12 4 2

Osserva

  • i colori e il numero di pezzi per ogni tipo sono diversi rispetto a Building Block
  • per i pezzi asimmetrici, L4 e S4, sono presenti anche le configurazioni che si ottengono ribaltando il pezzo
  • posizione x y
    Posiziona la tartaruga alle coordinate fisiche corrispondenti alle coordinate logiche x y
  • linea x1 y1 x2 y2
    Traccia una linea dal punto x1 y1 al punto x2 y2
  • griglia
    Traccia tutte le linee per tassellare la superficie di gioco
  • pezzo k x y r
    Disegna il pezzo utilizzando i parametri
    • k, il nome del pezzo, per recuperare il colore, COLORE[k], e le mosse per il perimetro, MOSSE[k]
    • x y, la posizione logica del primo angolo in alto a sinistra del pezzo
    • r, la rotazione del pezzo per recupere le mosse corrispondenti, MOSSE[k][r]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *