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

 __________________________________________________________________________________

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 incorrecto
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


___________________________________________________________________________________


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

Entradas populares de este blog

como crear un blog en blogger