sábado, 19 de marzo de 2016

Introducción a la programación

Hoy vamos a hablar de los lenguajes de programación, aquellos con los que podemos "comunicarnos" con los ordenadores y robots.
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 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









No hay comentarios:

Publicar un comentario