6

我需要一种方法来查找字符('<')是否撞到了墙上(黑色像素图形)

- 在 ZX81 游戏中。

我一直在看另一个游戏......它使用代码

if peek(peek 16398 +256*peek 16399) = code "**blackpixel graphic**" then ...

这似乎对他们有用......

这是正确的代码吗?

我对地址和获取内存之类的东西并不是很了解。

请帮我...

-如果你知道更好的方法。请回答 :)

谢谢,

4

3 回答 3

2

peek读取内存位置的字节。根据Sinclair ZX81的系统变量,内存位置1639816399形成一个包含当前“显示文件中PRINT位置的地址”的16位值。

因此,peek 16398 + 256*peek 16399将这两个值组合成一个 16 位地址,然后peek将该地址(可能)获取该位置的像素/字符(?)。

于 2010-07-07T13:37:15.330 回答
2

位于地址 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)

查找该位置的任何字符的代码。其余的你应该能够弄清楚。

现在,主要问题是:您的游戏是否以相同的方式使用光标?如果不是,您必须使用不同的解决方案。

于 2010-07-07T13:38:51.927 回答
0

这取决于内存地址是什么,但 peek 通常表示“这个内存位置有什么值?”

看起来应该是这个特定主题的一些好读物。

于 2010-07-07T13:31:31.617 回答