Documentos de Académico
Documentos de Profesional
Documentos de Cultura
11 Procedure
11 Procedure
IrAlBorde(Oeste)
}
program {
program { Poner(Rojo) } DibujarLineaColorida()
}
procedure DibujarCuadradoNegroDeLado3() {
Poner(Negro) procedure DibujarCuadradoColorido(){
Mover(Este) DibujarLineaColorida()
Poner(Negro) Mover(Norte)
Mover(Este) DibujarLineaColorida()
Poner(Negro) Mover(Norte)
Mover(Norte) DibujarLineaColorida()
Poner(Negro) Mover(Norte)
Mover(Oeste) DibujarLineaColorida()
Poner(Negro) IrAlBorde(Oeste)
Mover(Oeste) Mover(Sur)
Poner(Negro) Mover(Sur)
Mover(Norte) Mover(Sur)
Poner(Negro) }
Mover(Este) program {
Poner(Negro) DibujarCuadradoColorido()
Mover(Este) }
Poner(Negro)
} procedure MoverOeste10() {
repeat(10) {
program { Mover(Oeste)
DibujarCuadradoNegroDeLado3() }
} }
procedure DibujarCuadradoNegroDeLado3(){
repeat(2){
DibujarLineaNegra3()
Mover(Norte)
}
DibujarLineaNegra3()
}
program {
DibujarCuadradoNegroDeLado3()
}
procedure DibujarLinea3(color) {
repeat(2) {
Poner(color)
Mover(Este)
}
Poner(color)
VolverAtras()
}
procedure DibujarCuadradoDeLado3(color) {
repeat(2) {
DibujarLinea3(color)
Mover(Norte)
DibujarLinea3(color)
}
}
procedure DibujarReloj(radio){
MoverN(radio, Norte)
PonerN(12, Rojo)
MoverN(radio,Sur)
} MoverN(radio, Sur)
PonerN(6, Rojo)
repeat(cantidad){ }
Poner(color)
} repeat (longitud){
PonerN(peso, color)
PonerN(dia, Azul) }
PonerN(mes, Verde) }
Mover(Este)
} PonerN(5, Negro)
PonerN(9, Rojo)
repeat(cantidad){ }
procedure SacarAzulConMiedo() {
procedure PonerSuma(x, y){
if (hayBolitas(Azul)) {
PonerN(x+y, Rojo)
Sacar(Azul)
}
}
}
procedure ContarGente(micros, autos, bicicletas){
PonerN(micros*40+autos*4+bicicletas, Verde)
procedure SacarRojoConMiedo() {
}
if (hayBolitas(Rojo)) {
Sacar(Rojo)
procedure MoverComoSalmon(direccion) {
}
Mover(opuesto(direccion))
}
}
program{ if (puedeMover(Este)){ Mover (Este) }}
procedure Linea(direccion, color, longitud) {
repeat(longitud) {
program{ if (nroBolitas(Negro) < 5){ Poner (Negro) }}
Poner(color)
Mover(direccion)
procedure AsegurarUnaBolitaVerde(){ if (not
}
hayBolitas(Verde)){ Poner(Verde) }}
MoverN(longitud, opuesto(direccion))
}
procedure MoverComoSea(){ if (puedeMover(Oeste))
{ Mover(Oeste) } else { Mover(Norte) }}
además de opuesto, Gobstones nos provee dos
funciones más para operar sobre las procedure PrenderOApagarLuz(){ if (hayBolitas(Verde)) {
direcciones, siguiente y previo. siguiente(direccion) retorn Sacar(Verde)
a la dirección siguiente a la especificada, mientras Poner(Negro) } else {
que previo(direccion) retorna la anterior, siempre Sacar(Negro)
pensándolo en el sentido de las agujas del reloj: Poner(Verde) } }
procedure Ele(direccion) {
Linea(direccion, Azul, 3)
Linea(siguiente(direccion), Azul, 3)
}
procedure Flecha(direccion){
Mover (direccion)