per quadrato Ripeti 4[Avanti 150 DX 90] fine per triangolo Ripeti 3[Avanti 150 DX 120] fine per porta Ripeti 2[Avanti 70 DX 90 Avanti 50 DX 90] fine per camino Avanti 55 DX 90 Avanti 20 DX 90 Avanti 20 fine per spostaAB DX 90 Avanti 50 SX 90 fine per spostaBC SX 90 Avanti 50 DX 90 Avanti 150 DX 30 fine per spostaCD PS DX 60 Avanti 20 SX 90 Avanti 35 PG fine per casa quadrato spostaAB porta spostaBC triangolo spostaCD camino fine
per supercubo PulisciSchermo PS ImpPos[ -30 150] PG ImpPos[-150 150] ImpPos[-90 210] ImpPos[30 210] ImpPos[-30 150] ImpPos[-30 -210] ImpPos[30 -150] ImpPos[30 -90] ImpPos[-30 -90] ImpPos[90 -90] ImpPos[90 30] ImpPos[-270 30] ImpPos[-270 -90] ImpPos[-210 -90] ImpPos[-210 -30] ImpPos[-90 -30] ImpPos[-90 -150] ImpPos[-210 -150] ImpPos[-210 -30] ImpPos[-150 30] ImpPos[-30 30] ImpPos[-90 -30] ImpPos[90 150] ImpPos[30 150] ImpPos[30 210] ImpPos[30 90] ImpPos[90 90] ImpPos[90 150] ImpPos[90 90] ImpPos[150 90] ImpPos[150 -30] ImpPos[90 -90] ImpPos[90 30] ImpPos[150 90] PS ImpPos[-150 30] PG ImpPos[-150 150] ImpPos[-150 90] ImpPos[-210 90] ImpPos[-270 30] PS ImpPos[-90 -150] PG ImpPos[-30 -90] PS ImpPos[-150 -150] PG ImpPos[-150 -210] ImpPos[-30 -210] fine
Il primo disegno è formato da sole figure piane, rettangoli, quadrati e triangoli. Ecco il codice:
per rec :lo :la # draws a rectangular with choosen dimansion Ripeti 2[Avanti :lo DX 90 Avanti :la DX 90] fine per square :c # draws a square with side length :c Ripeti 4[Avanti :c DX 90] fine per tri :c # draws an equilateral triangle with side length :c Ripeti 3[Avanti :c DX 120] fine per leg :c rec 20*:c 30*:c square 20*:c fine per antenna :c Avanti 30*:c SX 90 Avanti 10*:c DX 90 square 20*:c PS Indietro 30 *:c DX 90 Avanti 10*:c SX 90 PG fine per robot :c PulisciSchermo NascondiTartaruga # body rec 40*:c 280* :c # legs DX 90 Avanti 20*:c leg :c Avanti 40* :c leg :c Avanti 140*:c leg :c Avanti 40*:c leg :c # queue PS SX 90 Avanti 40* :c PG DX 45 Avanti 110*:c Indietro 110* :c SX 135 # head Avanti 180 *:c square 10*:c Avanti 30*:c square 10*:c DX 90 Avanti 10*:c SX 90 Avanti 20*:c DX 90 square 80* :c # ears Avanti 40*:c SX 60 tri 30*:c PS DX 150 Avanti 80 *:c SX 90 PG tri 30*:c # antennas Avanti 40 *:c SX 90 Avanti 20*:c DX 90 antenna :c SX 90 Avanti 40*:c DX 90 antenna :c # eyes PS Indietro 30 *:c PG square 10*:c DX 90 PS Avanti 30*:c PG SX 90 square 10*:c # mouth PS Indietro 30*:c SX 90 Avanti 30*:c DX 90 PG rec 10*:c 40*:c fine
per frog :c PulisciSchermo NascondiTartaruga Avanti 20 *:c DX 90 Avanti 50*:c SX 90 Avanti 40*:c SX 90 Avanti 70 *:c DX 90 Avanti 70*:c DX 90 Avanti 210 *:c DX 90 Avanti 20*:c SX 90 Avanti 20*:c DX 90 Avanti 90*:c DX 90 Avanti 20*:c SX 90 Avanti 20*:c DX 90 Avanti 90*:c DX 90 Avanti 20*:c DX 90 Avanti 70*:c Indietro 50*:c SX 90 Avanti 40*:c DX 90 Avanti 40*:c Indietro 40*:c SX 90 Indietro 20*:c SX 90 Avanti 50*:c SX 90 Avanti 40*:c DX 90 Avanti 70*:c DX 90 PS Avanti 90*:c PG Ripeti 4[Avanti 20*:c DX 90] fine
per game # initailaize number e counter AssegnaVar "number Casuale 32 AssegnaVar "counter 0 loop fine per loop Leggi [choose a number] "try Se Numero? :try[ # Se the value is a number Se :number=:try[Stampa Frase Frase [you win in ] :counter+1 [tries]][ Se :try>:number [Stampa [lesser]][Stampa [greater]] AssegnaVar "counter :counter+1 loop ] ] [Stampa [enter a valid number!] loop] fine