Dos de los más famosos y sencillos son BASIC y JavaScript. Este último es el que utiliza CODE, que nos anima a aprender a programar en la Hora del Código, donde nos propone una serie de juegos. Yo he probado el de Ice Age. Aquí os dejo una captura del último nivel, en el cual tenía que guiar a mi pequeño amigo hacia la bellota.
Para seguir aprendiendo acerca del manejo de este lenguaje, he probado otros desafíos con tutorial guiado con códigos un poco más complejos. El primer desafío consta de diez niveles en los que eres un pato amarillo que tiene que intentar hundir a un pato rojo. Igual que en el anterior juego de La Hora del Código, cada nivel se va complicando un poco más. Empiezas estando ambos quietos, hasta que lo persigues y le disparas, pasando por varias fases intermedias
Para este juego, tenemos que utilizar una serie de comandos: cannon, sirve para disparar, indicando el ángulo y la fuerza, scan sirve para detectar si hay algún enemigo cerca y seguirlo con el cañón, swim para que tu pato nade en el ángulo y velocidad indicados...
El segundo desafío, ya más complejo, incluye más comandos y más patos. Aquí os dejo la solución por si le quisierais echar un ojo.
Para acabar, programaremos en BASIC, creado a mediados de los 60 para aquellos que no eran expertos pero precisaban programar o enseñar a hacerlo. Usaremos la página quitebasic.com para ello, en la cual introduciremos este código:
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 limites 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
No hay comentarios:
Publicar un comentario