Una soluzione del giocattolo Building Block
- 3 rettangoli identici 8x4
- 3 rettangoli identici 3x4 + 3 rettangoli identici 5x4
Il codice per le mosse supera le colonne disponibili sullo schermo… ma deve stare sulla stessa riga!
GLOBAL SPAZIO, DIM, COLORI, MOSSE
SPAZIO = 60 ; dall'angolo della carta...
DIM = 48 ; il lato di ogni quadrato
COLORI = {“R2”:“MAGENTA”,
“P3”:“PURPLE”,
“I4”:“YELLOW”,
“Q4”:“RED”,
“L4”:“TOMATO”,
“T4”:“BLUE”,
“S4”:“LIME”,
“C5”:“CYAN”
}
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]],
“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]],
“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
HIDETURTLE
PENCAP “round”
PENSIZE 8
PENCOLOR "SILVER"
griglia
PENSIZE 1
PENCOLOR “BLACK”
pezzo “L4” 1 1 0 pezzo “R2” 3 1 0 pezzo “R2” 2 2 1 pezzo “Q4” 3 2 0 pezzo “P3” 1 4 0 pezzo “S4” 3 4 1 pezzo “I4” 4 5 1 pezzo “T4” 1 6 1 pezzo “C5” 1 7 3
pezzo “L4” 5 1 0 pezzo “R2” 7 1 0 pezzo “R2” 6 2 1 pezzo “Q4” 7 2 0 pezzo “P3” 5 4 0 pezzo “S4” 7 4 1 pezzo “I4” 8 5 1 pezzo “T4” 5 6 1 pezzo “C5” 5 7 3
pezzo “L4” 9 1 0 pezzo “R2” 11 1 0 pezzo “R2” 10 2 1 pezzo “Q4” 11 2 0 pezzo “P3” 9 4 0 pezzo “S4” 11 4 1 pezzo “I4” 12 5 1 pezzo “T4” 9 6 1 pezzo “C5” 9 7 3
Osserva
- 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]
Per colore
I pezzi simili sono adiacenti
La serie ha una parte in basso fissa
Per rettangoli simili
Si ripete tre volte lo schema 8x4, oppure c’è una striscia gialla 1x12 e 3 volte il rettangolo 7x4
Si ripete tre volte lo schema 8x3 + 8x1
Si ripete tre volte lo schema 3x4 + 5x4
Rettangoli 2×3 ?
Rettangoli 2×4 ?
Quadrati 3×3 ?
Scale 8?
…