Files
SyncHome/trunk/workspace/Atari/gfa-math/MATH.LST
2023-03-13 08:36:51 +00:00

107 lines
2.1 KiB
Plaintext

REM *********************
REM ** primo programma **
REM ** conta insieme **
REM *********************
DO
a$=@splashscreen$
REM ******************
REM ** Main Program **
REM ******************
limit=100
limit_2=20
iterazioni=0
score=0
badscore=0
LOCATE 0,15
PRINT "---------------------------------------"
COLOR 3
LOCATE 4,15
PRINT " ";a$;" "
REPEAT
x=RAND(limit+1)
y=RAND(limit_2+1)
IF x<y
SWAP x,y
ENDIF
segno=RAND(2)
IF segno=1
se$=" +"
resu=x+y
ELSE
se$=" -"
resu=x-y
ENDIF
riga=(iterazioni MOD 5)*2+1
IF riga=1
cancella
ENDIF
LOCATE 0,riga
REM Pen 2
PRINT " Quanto fa";x;se$;y;" ";
INPUT res
IF res=resu
LOCATE 25,riga
PRINT "OK!"
score=score+1
suono_ok
pallina(score,1)
ELSE
LOCATE 25,riga
PRINT "ERRORE! ";resu
badscore=badscore+1
suono_error
pallina(badscore,0)
ENDIF
iterazioni=iterazioni+1
UNTIL iterazioni>39
CLS
LOCATE 0,1
PRINT "Bravo ";a$;"!"
PRINT
PRINT "Hai eseguito ";score;" operazioni corrette"
PRINT " e ";badscore;" operazioni errate"
PRINT
PRINT "Ora tocca al prossimo giocatore!"
REM EVNT_TIMER(1000)
LOOP
REM ***************************
REM ** Procedure e funzioni **
REM ***************************
FUNCTION splashscreen$
CLS
LOCATE 0,1
PRINT " Conta Insieme"
PRINT " -------------"
LOCATE 1,5
INPUT "Come ti chiami? ";a$
LOCATE 1,8
PRINT "Ciao ";a$;", partiamo!"
CLS
RETURN a$
ENDFUNC
PROCEDURE suono_ok
RETURN
PROCEDURE suono_error
RETURN
PROCEDURE pallina(iterazioni,risultato)
IF risultato=1
REM pallina buona
LOCATE iterazioni-1,17
REM Pen 5
PRINT "O"
REM Pen 2
ELSE
REM pallina cattiva
LOCATE iterazioni-1,19
REM Pen 4
PRINT "X"
REM Pen 2
ENDIF
RETURN
PROCEDURE cancella
LOCATE 0,0
FOR ri=0 TO 10
PRINT " "
NEXT ri
RETURN