ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º
ɻ˻ɻɻ˻ɻÉ˻ɻɻËɻɻÉ
ɻ˻ɻɻËÉ»
º
º
̼̹ººº»Ì¹Ì¹ºÊºÌ¹º ºººººº
ººÌ¹Ì¹È»ºº
º
º Ê
ÊÈȼȼÊÈÊÊÊ ÊÊÊȼÊȼ¼È¼
ȹʼÊÊȼÊȼ
º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
º É˻ɻ˻»ÉË É»
É» º
º
º ºÊºººººººº ºº
¹ º
PROGRAMACION ESTRUCTURADA º
º Ê Êȼʼȼȼȼ
ȼ º
º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
º
º
º
EN ESTA LECCION APRENDERAS...
º
º
º
º ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
º ³
³ º
º ³ þ C¢mo traducir programas a QBasic
³ º
º ³ usando subrutinas
convencionales .............
2 ³ º
º ³ þ Qu‚ son las etiquetas (labels)
............... 2 ³ º
º ³ þ A hacer un juego llamado
³ º
º ³ ADIVINA UN NUMERO
............................
3 ³ º
º ³ þ Sintaxis para la setencia Screen
............. 4 ³ º
º ³ þ Sintaxis para la setencia Width
.............. 5 ³ º
º ³
³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
º
º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
º É»Ë»Ë É»É» É»É»Ë º
º
º ººÌ¹º Ì º
¹ººº º DE GWBASIC O
BASICA A QBASIC º
º ȹʼȼȼȼ
È¼È¼Ê º
º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º É»Ë»Ë É»É»
É»É»Ë º
º
º ººÌ¹º Ì º
¹ººº º DE GWBASIC O
BASICA A QBASIC º
º ȹʼȼȼȼ
È¼È¼Ê º
º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
TRADUCIENDO PROGRAMAS A QBASIC
------------------------------
USANDO SUBRUTINAS CONVENCIONALES
--------------------------------
Las subrutinas convencionales, o sea, las dadas
por los
enunciados GOSUB y RETURN tambi‚n se pueden usar en QBasic
tanto
con n£mero de l¡neas como sin ellos. As¡ que, puedes escribir en
QBasic...
100 'Conversi¢n de temperaturas
110 '--------------------------
120 GOSUB
200 'Selecciona conversi¢n
130 GOSUB
300 'Haz la conversi¢n.
140 GOSUB
400 'Pide otra conversi¢n.
150 GOSUB
500 'Termina.
160 END
170 '
200 'Seleciona conversi¢n
210 '--------------------
220 PRINT
"Selecciona conversi¢n."
230 RETURN
QUE SON LAS ETIQUETAS (LABELS)
------------------------------
...siempre que uses n£mero de l¡neas. Sin embargo, estos
no son necesarios siempre que indiques un label
(etiqueta) a
donde las sentencias GOSUB puedan
dirigirse.
Observa la
traducci¢n del ejemplo anterior al QBasic sin l¡neas...
'Conversi¢n de temperaturas
'--------------------------
GOSUB
SeleccionaConversion
GOSUB
HazConversion
GOSUB
PideOtraConversion
GOSUB
Termina
END
'
SelecionaConversion:
'------------------
PRINT
"Selecciona conversi¢n."
RETURN
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB301
DE GWBASIC O BASICA A QBASIC
3 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Nota
c¢mo, por ejemplo, la l¡nea GOSUB SeleccionaConversion
llama a la etiqueta (label) SeleccionaConversion,
como si esta
fuera el nombre de una subrutina. Sin embargo, no
es una
subrutina convencional. Esta etiqueta es el
nombre de una
variable que tiene impl¡cito como valor un n£mero de l¡nea.
Ahora bien, ¨c¢mo la computadora puede ir a la
subrutina
SeleccionaConversion usando el
enunciado GOSUB sin que
aparentemente esta no tenga un n£mero de l¡nea? Observa que en
esta subrutina...
SelecionaConversion:
'------------------
PRINT
"Selecciona conversi¢n."
RETURN
...el nombre SeleccionaConversion est seguido del signo de
puntuaci¢n ":". Pues, este signo indica que
dicho nombre
representa UN NUMERO DE LINEA. Cuando se identifica a un
nombre
de esta manera se dice que dicho nombre es una etiqueta, que
como
acabas de ver, tambi‚n
representa un n£mero de l¡nea
impl¡citamante.
Cuando la etiqueta es llamada con GOSUB en...
GOSUB SeleccionaConversion
...parece que se est llamando al NOMBRE DE UNA
SUBRUTINA.
Sin embargo, lo que se est haciendo es llamando AL
NUMERO DE
LINEA representado por la etiqueta SeleccionaConversion.
JUEGO DE ADIVINA UN NUMERO
--------------------------
Ahora, para ilustrar c¢mo convertir un programa GWBasic
o
Basica a QBasic consideraremos el programa llamado
ADIVINA UN
NUMERO. Es un
juego que te invita a que adivines un n£mero. Te
da 10 oportunidades para que lo adivines. Cada vez que falles en
hacerlo te da una orejita dici‚ndote que el
n£mero pensado es
menor o mayor que el n£mero que entras a la
computadora. Si el
mismo es adivinado, la computadora as¡ te lo expresar . De forma
similar procede, sino lo adivinas.
El programa est escrito tanto con n£mero de l¡nas como sin
ellos.
Encontrar s ambos programas al final de esta
lecci¢n.
L‚elos detenidamente y ‚ntralos en tu
computadora. No
te
preopcupes sino entiendes algunas sentencias, te las
explicaremos
a medida que avances en el curso. Despu‚s que hayas visto como
funciona el programa regresa a esta lecci¢n nuevamente.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB301
DE GWBASIC O BASICA A QBASIC
4 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Una cosa que debes notar, es que
el programa enumerado est
tan bien estructurado que es casi un
reflejo de la versi¢n
escrita en espa¤ol. Usando este m‚todo de las etiquetas
y
aprovech ndonos de la estructura parecida a los
procedimientos
que estudiamos en QBasic, la traducci¢n
a este int‚rprete se
simplific¢ grandemente.
En la rutina principal del programa...
100 REM ADIVIMA UN NUMERO
110 REM -----------------
120 CLS : SCREEN 0: WIDTH 80
130 GOSUB
200 'PiensaUnNumero
140 GOSUB
260 'AdivinaNumero
150 GOSUB
900 'DiSiGanaste
160 GOSUB
1040 'RepiteJuego
170 GOSUB
1330 'TerminaJuego
180 END
...ver s que la l¡nea...
120 CLS : SCREEN 0: WIDTH 80
...contiene varias sentencias nuevas para t¡. Estas son
SCREEN y WIDTH.
La sentencia SCREEN se usa para seleccionar la
manera en que la pantalla del monitor se va a presentar,
y la
sentencia WIDTH el n£mero de columnas y filas que
tendr . A
continuaci¢n tendremos la sintaxis
simple para cada una.
Empecemos con....
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ SCREEN mode, color,
active page, visual page ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Aunque
la sintaxis para SCREEN completa es la que se muestra
arriba, la consideraremos ahora s¢lo con el
param‚tro mode, en
lecciones posteriores consideraremos los dem s par metros.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ SCREEN mode ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
El modo (mode) nos dir si la pantalla ser s¢lo para texto
(mode 0) o para gr ficos (modes 1, 2, 3, 4, 7, 8, 9, 10, 11, 12
y
13). Como por ahora
no vamos a usar los modos gr ficos, sino el
de texto (0), despreoc£pate por ellos ahora. Cuando tratemos
sobre gr ficos los consideraremos.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB301
DE GWBASIC O BASICA A QBASIC
5 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
La sentencia WIDTH nos da el tama¤o de la
pantalla en
columnas y filas...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ WIDTH [columns%] ³ ³ WIDTH [columns%] [,rows%] ³
ÀÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÙ
puede ser 40
£ 80 40 £
80 25, 30, 43
50 ¢ 60
De modo que la l¡nea CLS :
SCREEN 0: WIDTH 80,
significa,
limpia la pantalla (CLS) y establ‚cela s¢lo para texto (SCREEN
0)
con 80 columnas de ancho.
He aqu¡ la versi¢n con n£meros de l¡neas. Est£diala y
comp rala con la versi¢n QBasic (sin n£meros de l¡neas).
VERSION CON NUMEROS DE LINEA
----------------------------
100 REM ADIVIMA UN NUMERO
110 REM -----------------
120 CLS : SCREEN 0: WIDTH 80
130 GOSUB
200 'PiensaUnNumero
140 GOSUB 260
'AdivinaNumero
150 GOSUB
900 'DiSiGanaste
160 GOSUB
1040 'RepiteJuego
170 GOSUB
1330 'TerminaJuego
180 END
190 '
200 PiensaUnNumero:
210 '--------------
220 RANDOMIZE
TIMER
230 LET
numero.pensado = INT(RND * 100) + 1
240 RETURN
250 '
260 'AdivinaNumero:
270 '--------------
280 LET turno
= 1
290 RepiteTurno:
300 CLS
310 LOCATE 1,
20: PRINT "TURNO"; turno; " DE"; 10
320 PRINT
330 INPUT
"ADIVINA UN NUMERO DEL 1 AL 100"; n
335 IF n <
1 OR n > 100 THEN GOTO 290 'RepiteTurno
340 LET
numero.intentado = n
345 IF
numero.intentado = numero.pensado OR turno = 10 THEN
350 GOTO 410 'TerminaTurno
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB301
DE GWBASIC O BASICA A QBASIC
6 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
360 END IF
370 GOSUB
440 'DaOrejita
380 GOSUB
800 'Pausa
390 LET turno
= turno + 1
400 GOTO
290 'RepiteTurno
410 TerminaTurno:
420 RETURN
430 '
440 'DaOrejita:
450 '----------
460 PRINT
470 IF
numero.intentado < numero.pensado THEN
480
GOTO 530 'DiNumeroEsMayor
490 END IF
500 DiNumeroEsMenor:
510 PRINT
"NO, EL NUMERO PENSADO ES MENOR QUE ";
512 PRINT
numero.intentado
520 GOTO
550 'TerminaOrejita
530 DiNumeroEsMayor:
540 PRINT
"NO, EL NUMERO PENSADO ES MAYOR QUE";
542 PRINT
numero.intentado
550 TerminaOrejita:
560 RETURN
570 '
800 'Pausa:
810 '------
820 LET Pausa
= 0
830 RepitePausa:
840 LET Pausa
= Pausa + 1
850 IF Pausa
= 40000 THEN GOTO TerminaPausa
860 GOTO
830 'RepitePausa
870 TerminaPausa:
880 RETURN
890 '
900 'DiSiGanaste:
910 '------------
920 CLS
930 IF
numero.intentado = numero.pensado THEN
940
GOTO 990 'Adivinaste
950 END IF
960 NoAdivinaste:
970 GOSUB
1260 'DiQueNoAdivinaste
980 GOTO
1010 'TerminaMensaje
990 Adivinaste:
1000 GOSUB
1150 'DiQueAdivinaste
1010 TerminaMensaje:
1020 RETURN
1030 '
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB301
DE GWBASIC O BASICA A QBASIC
7 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
1040 'RepiteJuego:
1050 '------------
1060 PRINT
1070 Decidete:
1080 INPUT
"QUIERES JUGAR OTRA VEZ (S/N)"; decision$
1090 IF
decision$ = "S" OR decision$ = "s" THEN
1092 RUN 'Juega otra vez.
1094
END IF
1100 IF
decision$ = "N" OR decision$ = "n" THEN
1112 GOTO 1120 'TerminaDecision
1114
END IF
1110 GOTO 1070 'Decidete
1120 TerminaDecision:
1130 RETURN
1140 '
1150 'DiQueAdivinaste:
1160 '----------------
1170 PRINT
"CARAMBA, ADIVINASTE!"
1180 PRINT
1190 PRINT "EL
NUMERO ES"; numero.pensado
1200 PRINT
1210 PRINT "LO
ADIVINASTE EN "; turno; " TURNOS DE "; 10
1240 RETURN
1250 '
1260 'DiQueNoAdivinaste:
1270 '------------------
1280 PRINT
"FALLASTE EN ADIVINARLO!"
1290 PRINT
1300 PRINT "EL
NUMERO ES"; numero.pensado
1310 RETURN
1320 '
1330 'TerminaJuego:
1340 '-------------
1350 CLS
1360 PRINT
1370 PRINT
"ESPERO QUE TE HAYAS DIVERTIDO"
1380 PRINT
1390 PRINT
"HASTA LUEGO"
1400 RETURN
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB301
DE GWBASIC O BASICA A QBASIC
8 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
VERSION QBASIC (sin n£meros de l¡neas)
--------------------------------------
REM ADIVIMA UN NUMERO
REM -----------------
CLS : SCREEN
0: WIDTH 80
GOSUB
PiensaUnNumero
GOSUB
AdivinaNumero
GOSUB
DiSiGanaste
GOSUB
RepiteJuego
GOSUB TerminaJuego
END
'
PiensaUnNumero:
'--------------
RANDOMIZE
TIMER
LET
numero.pensado = INT(RND * 100) + 1
RETURN
'
AdivinaNumero:
'--------------
LET turno =
1
RepiteTurno:
CLS
LOCATE 1,
20: PRINT "TURNO"; turno; " DE"; 10
PRINT
INPUT "ADIVINA UN NUMERO DEL 1 AL
100"; n
IF n < 1
OR n > 100 THEN GOTO RepiteTurno
LET
numero.intentado = n
IF
numero.intentado = numero.pensado OR turno = 10 THEN
GOTO TerminaTurno
END IF
GOSUB
DaOrejita
GOSUB Pausa
LET turno =
turno + 1
GOTO
RepiteTurno
TerminaTurno:
RETURN
'
DaOrejita:
'----------
PRINT
IF
numero.intentado < numero.pensado THEN
GOTO DiNumeroEsMayor
END IF
DiNumeroEsMenor:
PRINT
"NO, EL NUMERO PENSADO ES MENOR QUE ";
PRINT numero.intentado
GOTO
TerminaOrejita
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB301
DE GWBASIC O BASICA A QBASIC
9 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
DiNumeroEsMayor:
PRINT
"NO, EL NUMERO PENSADO ES MAYOR QUE";
PRINT
numero.intentado
TerminaOrejita:
RETURN
'
Pausa:
'-----
LET Pausa =
0
RepitePausa:
LET Pausa =
Pausa + 1
IF Pausa =
40000 THEN GOTO TerminaPausa
GOTO
RepitePausa
TerminaPausa:
RETURN
'
DiSiGanaste:
'-----------
CLS
IF
numero.intentado = numero.pensado THEN
GOTO Adivinaste
END IF
NoAdivinaste:
GOSUB
DiQueNoAdivinaste
GOTO
TerminaMensaje
Adivinaste:
GOSUB
DiQueAdivinaste
TerminaMensaje:
RETURN
'
RepiteJuego:
'-----------
PRINT
Decidete:
INPUT
"QUIERES JUGAR OTRA VEZ (S/N)"; decision$
IF decision$ = "S" OR decision$ = "s" THEN
RUN 'Juega otra vez.
END IF
IF decision$ = "N" OR decision$ = "n" THEN
GOTO TerminaDecision
END IF
GOTO
Decidete
TerminaDecision:
RETURN
'
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB301
DE GWBASIC O BASICA A QBASIC
10 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
DiQueAdivinaste:
'---------------
PRINT
"CARAMBA, ADIVINASTE!"
PRINT
PRINT
"EL NUMERO ES"; numero.pensado
PRINT
PRINT
"LO ADIVINASTE EN "; turno; " TURNOS DE "; 10
RETURN
'
DiQueNoAdivinaste:
'-----------------
PRINT
"FALLASTE EN ADIVINARLO!"
PRINT
PRINT
"EL NUMERO ES"; numero.pensado
RETURN
'
TerminaJuego:
'------------
CLS
PRINT
PRINT
"ESPERO QUE TE HAYAS DIVERTIDO"
PRINT
PRINT
"HASTA LUEGO"
RETURN