Vamos a dar a conocer las reglas del juego:
Observaciones:
Como habrás podido comprobar, el operador '/' no se ha tenido en cuenta y ha sido debido a que el programa
toma aleatoriamente números y operadores en la formulación de la expresión y el uso de '/'
puede hacer que las divisiones a realizar no sean completas, con números decimales. No hemos querido
complicar demasiado el juego y por eso nos ha parecido más adecuado dejarlo fuera.
El programa se divide en las siguientes partes.
Esta expresión (ERAN$) será una cadena de caracteres para el programa. Por lo tanto, también son significativos los
espacios en blanco y negro implicados. Analizar la cadena de caracteres en caracteres,
distinguiendo entre temas (cadenas numéricas) y agentes (+,–,*) y calculando simultáneamente el valor
de la expresión.
Para esta distinción hay que tener en cuenta que en el rango
de dos temas pueden existir únicamente agentes o espacios por delante y por detrás del agente.
10(1) OBTENER EL NÚMERO REM
20 DIM DIG(25):DIM AUK(8):DIM
POSI(8,2):DIM SIGNO(3)
30
CLS:SCREEN 2:KEY OFF:RANDOMIZE TIMER
40=POSI
POSI(3,2)=13:POSI(4,1)=7:POSI(4,2)
=20:POSI(5,1)=9:POSI(5,2)=5:POSI(6,1)=11:POSI(6,2)=8:POSI(7,1)=10:
POSI=1AUM=1FN
PRINT "-------------------"
280 CIRCLE
(100,65),100 290 FOR I=1 TO 8:LOCATE POSI(I,1),POSI(I,2):PRINT
AUK(I) 16,300 EXNINT ";ZENB
320 LOCATE 18,5:PRINT Debes escribir una expresión con 4 números y agentes
(+,-,*)
del grupo como resultado ";NUM;":LOCATE 19,5:PRINT ": ASUNTO 1$
EN
FORMA
DE
THE,RF
Noticias
Lo has conseguido"; ELSE PRINT
"No has acertado. La declaración puede ser: ";
530 LOCATE 25,20:PRINT "Desea continuar (S/N/?"
540 TE$=INKEY$:WHILE TE$ "":TE$=INKEY$:WEND
550 WHILE$ "B" AND TE$ "b" AND TE$ "E" AND TE$ "e":
TE$=INKEY$:WEND
560 IF TE$="B" OR TE$="b"THEN 30
570 LOCATE 23,1:PRINT SPC(79):LOCATE 25,1:PRINT SPC(79):LOCATE 22,30:
PRINT "¡Adiós hasta otro! ";
CONSEGUIR NUMERO 580 END
600 REMN AMAIA