lunes, 28 de marzo de 2016

Introducción a la programación

Hora del código
La organización code.org propone distintos desafíos en  la Hora del Código para que podamos iniciarnos en la programación de forma sencilla y divertida. Os invito a que hagáis el reto de Angry Birds, que es el que hice yo. Aquí os dejo la solución del último nivel.


Juegos de Blockly
Los juegos de Blockly también son una buena manera de comenzar a programar. Estas pruebas son un poco más complicadas y contienen además la opción de escribir el código con JavaScript. Aquí os dejo el enlace tanto a la parte 1 del juego, como a la parte 2. Y también una fotografía con el código que resuelve la última prueba.




BASIC
Por último, utilizaremos el quitebasic.com para aprender a programar en BASIC. Para ello, tenéis que acceder a la página del enlace anterior y copiar el siguiente código que creó mi profesor:

100 REM ** Preparación del terreno de juego **
110 CLS
120 LET X = 5
130 LET Y = 0
140 PLOT X,Y,"pink"
150 PRINT "Marca los li­mites del juego con color rosa utilizando los controles w, a, s, d. Pulsa espacio cuando hayas terminado para competir."
160 LET A = GETCHAR()
170 IF A="w" THEN LET Y=Y+1 ELSE IF A="s" THEN LET Y=Y-1 ELSE IF A="a" then LET x=x-1 else if A="d" then LET x=x+1 else if A=" " then goto 500 else goto 160
180 PLOT X,Y, "pink"
190 GOTO 160
500 REM ** Comienzo de la carrera **
510 INPUT "Nombre del jugador amarillo:"; C
520 INPUT "Nombre del jugador azul:"; D
530 LET X=0
540 LET Y=0
550 LET M=1
560 LET N=0
570 CLT
580 PRINT "Controles de "; C; " (amarillo): w, a, s, d"
590 PRINT "Controles de "; D; " (azul): i, j, k, l"
600 LET A = GETCHAR()
610 IF A="w" THEN LET Y=Y+1 ELSE IF A="s" THEN LET Y=Y-1 ELSE IF A="a" then LET x=x-1 else if A="d" then LET x=x+1 else IF A="i" THEN LET N=N+1 ELSE IF A="k" THEN LET N=N-1 ELSE IF A="j" then LET M=M-1 else if A="l" then LET M=m+1 else goto 600
620 IF COLOR(X,Y)="rgb(255, 192, 203)" then GOSUB 700
630 IF COLOR(M,N)="rgb(255, 192, 203)" then GOSUB 800
640 IF (M<0 AND N>10) or (N<0 AND M>10) or M>49 or  N>49 then GOTO 1000
650 IF (X<0 AND Y>10) or (Y<0 AND x>10)or X>49 or y>49 then GOTO 900
660 IF (N<0 AND M<10) or (N<10 AND M<0) then GOSUB 800
670 IF (X<0 AND Y<10) or (Y<0 AND X<10) THEN GOSUB 700
680 PLOT X,Y, "yellow"
690 PLOT M,N, "blue"
695 GOTO 600
700 REM ** Choca amarillo **
710 LET X = 0
715 LET Y = 0
720 PRINT C; " has chocado, vuelves a empezar"
730 FOR I=0 TO 50
740 FOR J = 0 TO 50
750 IF COLOR(I,J)="yellow" THEN PLOT I,J, "grey"
760 NEXT J
770 NEXT I
780 RETURN
800 REM ** Choca azul **
810 LET M = 0
815 LET N = 1
820 PRINT D; " has chocado, vuelves a empezar"
830 FOR I=0 TO 50
840 FOR J = 0 TO 50
850 IF COLOR(I,J)="blue" THEN PLOT I,J, "grey"
860 NEXT J
870 NEXT I
880 RETURN

900 REM ** Gana amarillo **
905 CLT
910 PRINT "***********************************"
920 PRINT "          "; C; " GANA!!!!!!! "
930 PRINT "***********************************"
940 END
1000 REM ** Gana azul **
1005 CLT
1010 PRINT "***********************************"
1020 PRINT "          "; D; " GANA!!!!!!!"
1030 PRINT "***********************************"


1040 END

Ahora solo tendrás que diseñar tu circuito y competir contra un amigo. Aquí os dejo como terminó mi partida.



No hay comentarios:

Publicar un comentario