2

我正在尝试在 Commodore BASIC 中用“.”填充 A$(X,X)。

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

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

我仍然对 PET BASIC 的 API 感到非常困惑……任何建议都将不胜感激。

4

1 回答 1

5

我的回答是基于 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"

您应该知道的是,这些函数使用与 ASCII 略有不同的“PET 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
于 2014-03-14T11:19:01.840 回答