Test your BASIC error message knowledge! (Development MSX Fora)MSX Resource Center MSX Info Update - Finnish MSX madness at its best           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 142 gasten en 6 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - Test your BASIC error message knowledge!

Schrijver

Test your BASIC error message knowledge!

Arjan
msx addict
Berichten: 454
Geplaatst: 07 Augustus 2003, 23:45   
Here's a little game I made a looong time ago... It will show you an error message and it's up to you to type a BASIC command that results in that error.
10 CLEAR 1000:DEFINT A-Z:DIM A$(22),A(22)
20 READ A$,A:IF A$="*" THEN 40
30 A$(X)=A$:A(X)=A:X=X+1:GOTO 20
40 X=RND(1)*19
50 PRINT "Type a command that will give the following error: " + A$(X)
60 C$="":LINE INPUT C$
66 IF C$="" THEN GOTO 60
70 ON ERROR GOTO 90
80 PRINT C$:DEFUSR=&H156:A=USR(0):POKE &HF3FA,&HF0:POKE &HF3FB,&HFB:POKE &HF3F8,&HF0+3:POKE &HF3F9,&HFB:POKE &HFBF0,30:POKE &HFBF1,30:POKE &HFBF2,13:END
90 IF ERR=A(X) THEN PRINT "Correct!" ELSE PRINT "Wrong!"
100 RESUME 40
110 DATA NEXT without for,1
120 DATA Syntax error,2
130 DATA RETURN without GOSUB,3
140 DATA Out of DATA,4
150 DATA Illegal function call,5
160 DATA Overflow,6
170 DATA Out of memory,7
180 DATA Undefined line number,8
190 DATA Subscript out of range,9
200 DATA Redimensioned array,10
210 DATA Division by zero,11
230 DATA Type mismatch,13
250 DATA Undefined user function,18
280 DATA Missing operand,24
290 DATA Bad file number,52
300 DATA File not found,53
310 DATA Bad file name,56
320 DATA File not open,59
330 DATA *,0

Oh it isn't fool proof so any enhancements are welcome
tcm1998
msx lover
Berichten: 90
Geplaatst: 09 Augustus 2003, 13:57   
Cool program, never thought the 'on error goto' command would ever be used as a quiz.
The program is very easy to beat, though. You might want to check for cheaters.

error 7 <enter>

See what I mean ?


Arjan
msx addict
Berichten: 454
Geplaatst: 09 Augustus 2003, 14:17   
yeah I know it has some bugs in it. Try
new <enter>
that'll definately stop the game
BiFi
msx guru
Berichten: 3142
Geplaatst: 09 Augustus 2003, 14:42   
Why not make an ASM version of it then? You can't NEW that... It's a funny idea to do such a thing...
GuyveR800
msx guru
Berichten: 3048
Geplaatst: 09 Augustus 2003, 14:58   
The following line will fix the NEW problem

67 IF C$="NEW" GOTO 60
Arjan
msx addict
Berichten: 454
Geplaatst: 09 Augustus 2003, 16:10   
There's another problem! If you enter a statement that doesn't result in an error, the program just stops. Could be easily fixed by adding ':error 0' after the text the user enters, but it will look a little bit ugly on screen
GuyveR800
msx guru
Berichten: 3048
Geplaatst: 09 Augustus 2003, 17:21   
A way to solve that is to store all commands that can generate the said error, but then the there's no need anymore for that trickery... :/
BiFi
msx guru
Berichten: 3142
Geplaatst: 09 Augustus 2003, 20:29   
Then it would be too easy, since the list of commands is aready listed. Best way to solve all this is doing it in assembly using H_ERRO (&HFFB1) which is called when a Basic error occurs and ERRFLG (&HF414) which holds the error number.
 
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.