我需要一种方法来判断字符('<')是否撞到了墙(黑色像素图形)。
-在ZX81游戏中。
我一直在看另一个游戏……它使用的代码是:
if peek(peek 16398 +256*peek 16399) = code "**blackpixel graphic**" then ...
这对他们来说似乎有效...
这段代码正确吗?
我对地址和获取内存等方面并不很了解。
请帮帮我...
-如果您知道更好的方法,请回答 :)
谢谢,
我需要一种方法来判断字符('<')是否撞到了墙(黑色像素图形)。
-在ZX81游戏中。
我一直在看另一个游戏……它使用的代码是:
if peek(peek 16398 +256*peek 16399) = code "**blackpixel graphic**" then ...
这对他们来说似乎有效...
这段代码正确吗?
我对地址和获取内存等方面并不很了解。
请帮帮我...
-如果您知道更好的方法,请回答 :)
谢谢,
peek
读取内存位置处的字节。根据Sinclair ZX81的系统变量,内存位置16398
和16399
形成一个16位值,包含当前的"显示文件中打印位置的地址"。
因此,peek 16398 + 256 * peek 16399
将这两个值组合成一个16位地址,对该地址进行peek
操作(可能)得到该位置的像素/字符(?)。
地址16398和16399处是两个字节,它们组成了光标位置。(参见http://web.ukonline.co.uk/sinclair.zx81/chap28.html)。换句话说,
peek 16398 + 256*peek 16399
这个命令会给你当前屏幕上下一个 PRINT 命令的字符内存地址。可以使用 PRINT AT
命令更改此地址。
peek(peek 16398 + 256*peek 16399)
查找特定位置字符的代码。其余部分您应该能够理解。
现在,主要问题是:您的游戏是否以相同方式使用光标?如果不是,则必须使用不同的解决方案。