MSW logo
Programa MSWlogo 1 Samuel Arce Belmonte
4º ESO
para cercle
sl
gi 90
av 100
gd 90
bl
repite 360 [av 1 gd 1]
sl
gd 90
av 120
gi 90
rotula [cercle]
gi 90
av 100
gd 90
av 100
bl
fin
para color
sl
ponpos [-50 -50]
bl
poccr 6
rellena
sl
ponpos[100 -50]
bl
poccr 4
rellena
sl
ponpos [250 -50]
bl
poccr 8
rellena
fin
para dibuix
bp
poncp 1
quadrat
cercle
triangle
color
fin
para quadrat
bl
gd 90 repite 4 [gd 90 av 100]
sl
gd 90
av 120
gi 90
av -100
rotula [quadrat]
av 100
gi 90
av 20
gd 90
av 100
bl
fin
para triangle
sl
gd 90
av 80
gi 90
bl
repite 3 [av 100 gi 120]
gd 90
sl
av 10
gi 90
rotula [triangle]
fin
Este programa del MSWlogo sirve para dibujar un triángulo, un cuadrado y un círculo con solo 1 comando, ''dibuix'' y colorear cada figura y el fondo
__________________________________________________________________________________
Este procedimiento sirve para hacer un semáforo que te pregunta el color que quieres que se encienda
y cuantos segundos quieres que se encienda, para despues apagarse. Si no se introduce un color valido el programa te lodirá y te repetirá la pregunta.
para cerclegroc
sl
ponpos[150 225]
bl
repite 360 [av 1.5 gd 1]
nogroc
fin
para cercleroig
sl
gd 90
ponpos [150 425]
bl
repite 360 [av 1.5 gd 1]
noroig
fin
para cercleverd
sl
ponpos [150 25]
bl
repite 360 [av 1.5 gd 1]
noverd
fin
para corrección
ponpos [-400 180]
rotula [Introduce un valor correcto]
espera 2 * 60
pregunta1
fin
para corrección2
ponpos [-400 160]
rotula [Introduce un valor correcto]
espera 2 * 60
pregunta2
fin
para groc
sl
ponpos [150 200]
poccr 6
rellena
fin
para luces
si :var1 = "a [roig]
si :var1 = "b [groc]
si :var1 = "c [verd]
fin
para nogroc
sl
ponpos[150 200]
poccr 0
rellena
fin
para noroig
sl
ponpos [150 420]
poccr 0
rellena
fin
para noverd
sl
ponpos [150 10]
poccr 0
rellena
fin
para pregunta1
sl
ponpos [-400 330]
rotula [¿Que color quieres que se encienda?]
ponpos [-400 300]
rotula [a, roig]
ponpos [-400 280]
rotula [b, groc]
ponpos [-400 260]
rotula [c, verd]
haz "var1 leepalabra
fin
para pregunta2
sl
ponpos [-420 -150]
rotula [¿Cuanto tiempo quieres que se encienda en segundos?]
haz "var2 primero leepalabra
fin
para roig
sl
ponpos [150 420]
poccr 4
rellena
fin
para semafor
bp
pongrosor [1 1]
bl
poccr 0
sl
ponpos [0 -150]
bl
repite 2 [av 600 gd 90 av 300 gd 90]
sl
ponpos[100 -150]
bl
av -200
gd 90
av 100
gi 90
av 200
sl
ponpos[125 -200]
poccr 15
sl
rellena
poccr 15
sl
ponpos [30 -149]
rellena
cercleroig
cerclegroc
cercleverd
pregunta1
sisino (o :var1 ="a :var1 ="b :var1 ="c) [pregunta2] [corrección]
luces
espera :var2 * 60
noroig
noverd
nogroc
fin
para verd
sl
ponpos [150 10]
poccr 2
rellena
fin
___________________________________________________________________________________
bp
gd 90
ot
rotula [El numero introducido no tiene raiz cuadrada]
raiz
fin
para raiz
bp
poncl 0
poncp 7
gd 90
rotula [dime un número para calcular su raiz cuadrada]
haz "var1 leepalabra
sisino :var1 >0 [resul] [incorrecto]
fin
para resul
bp
gd 90
haz "var2 1
haz "var3 2
escribe (lista "la "raiz "cuadrada "de :var1 "es rc :var1)
repite 20 [bp gd 90 poncl :var2 poncp :var3 rotula rc :var1 espera 60 haz "var2 :var2 + 3 haz "var3 :var3 + 1]
fin
___________________________________________________________________________________
para cont
haz "tecla car lc
si :tecla = "a [gi 20]
si :tecla = "d [gd 20]
fin
para juego
sl
cargadib "circuito.bmp
ponpos [0 0]
ponpos [-240 -20]
ponr 90
ponfoco [Pantalla de MSWLogo]
ponteclado [cont]
movimiento
fin
para movimiento
siempre [av 1 repite 200000 []
si pixel = [0 0 0] [ponpos [-240 -20]]
si pixel = [0 0 255][alto]]
fin
__________________________________________________________________________________
para circuito1
bp
bl
pongrosor [15 15]
av 200
repite 180 [gd 1 av 2]
av 250
repite 180 [gd 1 av 2]
av 30
poncl [0 0 255]
av 10
poncl [0 0 0]
av 10
marcador1
fin
para circuito2
bp
sl
pongrosor [10 10]
av 200
repite 90 [gd 1 av 2]
av 100
repite 180 [gd 1 av 2]
repite 90 [gi 1 av 2]
av 40
repite 180 [gd 1 av 1]
av 20
gd 45
av 12
poncl [0 0 255]
av 10
gi 45
poncl [0 0 0]
av 33
marcador1
fin
para circuito3
bp
bl
pongrosor [5 5]
av 200
repite 180 [gi 1 av 2]
av 250
repite 180 [gd 1 av 2]
av 250
repite 90 [gd 1 av 3]
av 300
repite 90 [gd 1 av 3]
av 100
repite 90 [gi 1 av 2]
repite 180 [gd 1 av 2]
av 185
repite 90 [gd 1 av 2]
av 100
poncl [0 0 255]
av 10
poncl [0 0 0]
av 25
marcador1
fin
para conta
haz "tecla car lc
si :tecla = "a [gi 4]
si :tecla = "d [gd 4]
fin
para contb
haz "tecla car lc
si :tecla = "a [gi 8]
si :tecla = "d [gd 8]
fin
para contc
haz "tecla car lc
si :tecla = "a [gi 7]
si :tecla = "d [gd 7]
fin
para derrota
si :errores = 15 [pantmuert]
fin
para fallo
si pixel = [255 255 255] [haz "errores :errores +1]
marcador
fin
para juego
bp
haz "errores 0
gd 90
sl
rotula [JOC DE LA LINEA]
ponpos[0 -20]
rotula [Selecciona dificultad]
ponpos[0 -40]
rotula [a) Facil]
ponpos[0 -60]
rotula [b)medio]
ponpos[0 -80]
rotula [c)dificil]
ponpos[0 -100]
haz "letradif leepalabra
si :letradif = "a [circuito1]
si :letradif = "b [circuito2]
si :letradif = "c [circuito3]
ponfoco [Pantalla de MSWLogo]
si :letradif = "a [ponteclado [conta]]
si :letradif = "b [ponteclado [contb]]
si :letradif = "c [ponteclado [contc]]
si :letradif = "a [movima]
si :letradif = "b [movimb]
si :letradif = "c [movimc]
fin
para marcador
sl
activa 1
sl
ot
ponpos [20 -350]
gd 90
rotula (lista "fallos "= :errores)
ponpos [0 0]
gi 90
activa 0
ponpos [0 0]
si :letradif = "a [circuito1]
si :letradif = "b [circuito2]
si :letradif = "c [circuito3]
si :letradif = "a [movima]
si :letradif = "b [movimb]
si :letradif = "c [movimc]
fin
para marcador1
sl
activa 1
sl
ot
ponpos [20 -350]
gd 90
rotula (lista "fallos "= :errores)
ponpos [0 0]
gi 90
activa 0
ponpos [0 0]
derrota
fin
para movima
sl
si pixel = [0 0 0] [av 1 repite 200000 []]
si pixel = [0 0 255][alto]
si pixel = [255 255 255] [fallo]
movima
fin
para movimb
sl
si pixel = [0 0 0] [av 1 repite 200000 []]
si pixel = [0 0 255][alto]
si pixel = [255 255 255] [fallo]
movimc
fin
para movimc
sl
si pixel = [0 0 0] [av 1 repite 200000 []]
si pixel = [0 0 255][alto]
si pixel = [255 255 255] [fallo]
movimc
fin
para pantmuert
bp
gd 90
rotula[has perdido]
ponpos [0 -30]
rotula[presiona r para volver a intentar]
espera 60*2
haz "segundavida leepalabra
si :segundavida = "r [juego]
fin
4º ESO
para cercle
sl
gi 90
av 100
gd 90
bl
repite 360 [av 1 gd 1]
sl
gd 90
av 120
gi 90
rotula [cercle]
gi 90
av 100
gd 90
av 100
bl
fin
para color
sl
ponpos [-50 -50]
bl
poccr 6
rellena
sl
ponpos[100 -50]
bl
poccr 4
rellena
sl
ponpos [250 -50]
bl
poccr 8
rellena
fin
para dibuix
bp
poncp 1
quadrat
cercle
triangle
color
fin
para quadrat
bl
gd 90 repite 4 [gd 90 av 100]
sl
gd 90
av 120
gi 90
av -100
rotula [quadrat]
av 100
gi 90
av 20
gd 90
av 100
bl
fin
para triangle
sl
gd 90
av 80
gi 90
bl
repite 3 [av 100 gi 120]
gd 90
sl
av 10
gi 90
rotula [triangle]
fin
Este programa del MSWlogo sirve para dibujar un triángulo, un cuadrado y un círculo con solo 1 comando, ''dibuix'' y colorear cada figura y el fondo
__________________________________________________________________________________
Semáforo MSW logo
Este procedimiento sirve para hacer un semáforo que te pregunta el color que quieres que se encienda
y cuantos segundos quieres que se encienda, para despues apagarse. Si no se introduce un color valido el programa te lodirá y te repetirá la pregunta.
para cerclegroc
sl
ponpos[150 225]
bl
repite 360 [av 1.5 gd 1]
nogroc
fin
para cercleroig
sl
gd 90
ponpos [150 425]
bl
repite 360 [av 1.5 gd 1]
noroig
fin
para cercleverd
sl
ponpos [150 25]
bl
repite 360 [av 1.5 gd 1]
noverd
fin
para corrección
ponpos [-400 180]
rotula [Introduce un valor correcto]
espera 2 * 60
pregunta1
fin
para corrección2
ponpos [-400 160]
rotula [Introduce un valor correcto]
espera 2 * 60
pregunta2
fin
para groc
sl
ponpos [150 200]
poccr 6
rellena
fin
para luces
si :var1 = "a [roig]
si :var1 = "b [groc]
si :var1 = "c [verd]
fin
para nogroc
sl
ponpos[150 200]
poccr 0
rellena
fin
para noroig
sl
ponpos [150 420]
poccr 0
rellena
fin
para noverd
sl
ponpos [150 10]
poccr 0
rellena
fin
para pregunta1
sl
ponpos [-400 330]
rotula [¿Que color quieres que se encienda?]
ponpos [-400 300]
rotula [a, roig]
ponpos [-400 280]
rotula [b, groc]
ponpos [-400 260]
rotula [c, verd]
haz "var1 leepalabra
fin
para pregunta2
sl
ponpos [-420 -150]
rotula [¿Cuanto tiempo quieres que se encienda en segundos?]
haz "var2 primero leepalabra
fin
para roig
sl
ponpos [150 420]
poccr 4
rellena
fin
para semafor
bp
pongrosor [1 1]
bl
poccr 0
sl
ponpos [0 -150]
bl
repite 2 [av 600 gd 90 av 300 gd 90]
sl
ponpos[100 -150]
bl
av -200
gd 90
av 100
gi 90
av 200
sl
ponpos[125 -200]
poccr 15
sl
rellena
poccr 15
sl
ponpos [30 -149]
rellena
cercleroig
cerclegroc
cercleverd
pregunta1
sisino (o :var1 ="a :var1 ="b :var1 ="c) [pregunta2] [corrección]
luces
espera :var2 * 60
noroig
noverd
nogroc
fin
para verd
sl
ponpos [150 10]
poccr 2
rellena
fin
___________________________________________________________________________________
raiz cuadrada
para incorrectobp
gd 90
ot
rotula [El numero introducido no tiene raiz cuadrada]
raiz
fin
para raiz
bp
poncl 0
poncp 7
gd 90
rotula [dime un número para calcular su raiz cuadrada]
haz "var1 leepalabra
sisino :var1 >0 [resul] [incorrecto]
fin
para resul
bp
gd 90
haz "var2 1
haz "var3 2
escribe (lista "la "raiz "cuadrada "de :var1 "es rc :var1)
repite 20 [bp gd 90 poncl :var2 poncp :var3 rotula rc :var1 espera 60 haz "var2 :var2 + 3 haz "var3 :var3 + 1]
fin
___________________________________________________________________________________
juego coche
para cont
haz "tecla car lc
si :tecla = "a [gi 20]
si :tecla = "d [gd 20]
fin
para juego
sl
cargadib "circuito.bmp
ponpos [0 0]
ponpos [-240 -20]
ponr 90
ponfoco [Pantalla de MSWLogo]
ponteclado [cont]
movimiento
fin
para movimiento
siempre [av 1 repite 200000 []
si pixel = [0 0 0] [ponpos [-240 -20]]
si pixel = [0 0 255][alto]]
fin
__________________________________________________________________________________
juego linea
para circuito1
bp
bl
pongrosor [15 15]
av 200
repite 180 [gd 1 av 2]
av 250
repite 180 [gd 1 av 2]
av 30
poncl [0 0 255]
av 10
poncl [0 0 0]
av 10
marcador1
fin
para circuito2
bp
sl
pongrosor [10 10]
av 200
repite 90 [gd 1 av 2]
av 100
repite 180 [gd 1 av 2]
repite 90 [gi 1 av 2]
av 40
repite 180 [gd 1 av 1]
av 20
gd 45
av 12
poncl [0 0 255]
av 10
gi 45
poncl [0 0 0]
av 33
marcador1
fin
para circuito3
bp
bl
pongrosor [5 5]
av 200
repite 180 [gi 1 av 2]
av 250
repite 180 [gd 1 av 2]
av 250
repite 90 [gd 1 av 3]
av 300
repite 90 [gd 1 av 3]
av 100
repite 90 [gi 1 av 2]
repite 180 [gd 1 av 2]
av 185
repite 90 [gd 1 av 2]
av 100
poncl [0 0 255]
av 10
poncl [0 0 0]
av 25
marcador1
fin
para conta
haz "tecla car lc
si :tecla = "a [gi 4]
si :tecla = "d [gd 4]
fin
para contb
haz "tecla car lc
si :tecla = "a [gi 8]
si :tecla = "d [gd 8]
fin
para contc
haz "tecla car lc
si :tecla = "a [gi 7]
si :tecla = "d [gd 7]
fin
para derrota
si :errores = 15 [pantmuert]
fin
para fallo
si pixel = [255 255 255] [haz "errores :errores +1]
marcador
fin
para juego
bp
haz "errores 0
gd 90
sl
rotula [JOC DE LA LINEA]
ponpos[0 -20]
rotula [Selecciona dificultad]
ponpos[0 -40]
rotula [a) Facil]
ponpos[0 -60]
rotula [b)medio]
ponpos[0 -80]
rotula [c)dificil]
ponpos[0 -100]
haz "letradif leepalabra
si :letradif = "a [circuito1]
si :letradif = "b [circuito2]
si :letradif = "c [circuito3]
ponfoco [Pantalla de MSWLogo]
si :letradif = "a [ponteclado [conta]]
si :letradif = "b [ponteclado [contb]]
si :letradif = "c [ponteclado [contc]]
si :letradif = "a [movima]
si :letradif = "b [movimb]
si :letradif = "c [movimc]
fin
para marcador
sl
activa 1
sl
ot
ponpos [20 -350]
gd 90
rotula (lista "fallos "= :errores)
ponpos [0 0]
gi 90
activa 0
ponpos [0 0]
si :letradif = "a [circuito1]
si :letradif = "b [circuito2]
si :letradif = "c [circuito3]
si :letradif = "a [movima]
si :letradif = "b [movimb]
si :letradif = "c [movimc]
fin
para marcador1
sl
activa 1
sl
ot
ponpos [20 -350]
gd 90
rotula (lista "fallos "= :errores)
ponpos [0 0]
gi 90
activa 0
ponpos [0 0]
derrota
fin
para movima
sl
si pixel = [0 0 0] [av 1 repite 200000 []]
si pixel = [0 0 255][alto]
si pixel = [255 255 255] [fallo]
movima
fin
para movimb
sl
si pixel = [0 0 0] [av 1 repite 200000 []]
si pixel = [0 0 255][alto]
si pixel = [255 255 255] [fallo]
movimc
fin
para movimc
sl
si pixel = [0 0 0] [av 1 repite 200000 []]
si pixel = [0 0 255][alto]
si pixel = [255 255 255] [fallo]
movimc
fin
para pantmuert
bp
gd 90
rotula[has perdido]
ponpos [0 -30]
rotula[presiona r para volver a intentar]
espera 60*2
haz "segundavida leepalabra
si :segundavida = "r [juego]
fin
Comentarios
Publicar un comentario