在Commodore BASIC中填充A $(X,X)数组?

时间:2014-03-13 20:58:47

标签: arrays printing basic commodore

我正在尝试用Commodore BASIC中的"。" s填充A $(X,X)。

这是我到目前为止所做的......但我不确定如何处理ASCII值等。任何评论?

INPUT A$
FOR I = 0 TO X = DIM A$(X,X)
A$(".",x)

我仍然对PET BASIC的API感到非常困惑......任何建议都会非常感激。

1 个答案:

答案 0 :(得分:6)

我的答案是以Commodore 64前面的年轻人为基础的,对于PET系列而言可能并不完全正确。但看到你还没有任何其他答案,我会给它一个重击。

在代码的第一行,您要求用户输入一个字符串并将其存储在A$中。美元符号表示变量是一个字符串。在第二行中,您将A$重新定义为二维数组。尺寸均为X,尚未定义。我不记得DIM有回报值,但我可能错了。

从char获取ASCII值的函数是ASC()并且要转换回使用CHR$()这样的函数:

10 NUMA = ASC("A"): REM NUMA now contains 65
20 CHARA$ = CHR$(NUMA): REM CHARA$ now contains "A"

你应该知道的是这些功能使用" PET ASCII"这与ASCII略有不同。它从来没有给我带来任何问题,但需要记住它。

FOR循环总是有NEXT来结束块:

10 FOR A = 1 TO 10
20 PRINT A: REM Displays series of numbers.
30 NEXT

我并不完全清楚你想要实现的目标,但希望我至少能给你足够的东西来解决它。据我所知,你需要这样的东西:

10 INPUT "Please enter a number:", X
20 DIM A$(X, X)
30 FOR I = 0 TO X
40 FOR J = 0 TO X
50 A$(I, J) = "."
60 NEXT
70 NEXT