我一直在用basic将书中的“决斗”( "Sixty Programmes for the Commodore 64" (by R. Erskine et al.) )编码到我的迷你C64中。我一直收到以下错误:"?Out of data error in 60“。我已经检查了代码中的拼写错误,但没有找到任何错误。其他人也有这个问题吗?你有解决方法吗?谢谢
我已经检查了代码的拼写错误,但我找不到任何错误。
第5-60行:
5 REM *** D U E L *** @ MICHAEL BEWS
*** TRANSLATED BY IAN YATES
10 V-53248:X=RND(-TI):POKEV+32,4:POKEV+33,5:POKEV+24,23:POKE650,255:M20
20 Y$="String of C64 Characters":X$="String of C64 Characters
30 PRINT"String of C64 CharactersPLEASE WAIT WHILE USER-DEFINED",,"CHARACTERS ARE SET UP."
40 POKE52,48:POKE56,48:POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251
50 FORX=14336TO15143:POKEX,PEEK(X+40960):NEXT:FORX=1TO30:READA:NEXT
60 FORX=15144To15247:READA:POKEX,A:NEXT:M$="String of C64 Characters":N$="String of C64 Characters"发布于 2019-06-04 03:19:57
数据是将一系列值输入到BASIC程序中的一种方式。DATA语句中的值数必须大于或等于调用READ的次数。如果读取耗尽了数据值,则会引发"Out of Data“错误。
在这种情况下,应该有133个值由逗号或不同的DATA语句分隔。但是,第50行的末尾有点奇怪。它将30个值读取到A中,而不对它们做任何处理,所以这部分是没有意义的。
检查代码的源代码,看看是否有任何打印错误或缺少行。如果没有,请尝试注释掉语句第50行。
https://stackoverflow.com/questions/56378916
复制相似问题