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!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
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]