-1

我一直在将“Commodore 64 的六十个程序”(R. Erskine 等人)一书中的“决斗”编码到我的 C64 mini 中。我不断收到以下错误:“?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"
4

1 回答 1

3

DATA 是一种将一系列值输入 BASIC 程序的方法。DATA 语句中值的数量必须大于或等于调用 READ 的次数。如果 READ 用完 DATA 值,则会引发“Out of Data”错误。

在这种情况下,应该有 133 个值,由逗号或不同的 DATA 语句分隔。然而,第 50 行的结尾有些奇怪。它将 30 个值读入 A 而不对它们做任何事情,因此这部分毫无意义。

检查您的源代码以查看是否有任何印刷错误或缺失的行。如果没有,请尝试注释掉第 50 行 FOR 语句。

于 2019-06-03T19:19:56.920 回答