帮助:ZX81 BASIC“Peek”功能

时间:2010-07-07 13:26:49

标签: memory basic zx81

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

- 在ZX81游戏中。

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

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

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

这是正确的代码吗?

我真的不知道地址和获取记忆和东西。

请帮帮我......

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

谢谢,

3 个答案:

答案 0 :(得分:1)

peek读取内存位置的字节。根据{{​​3}},内存位置1639816399形成一个16位值,其中包含当前“显示文件中的PRINT位置地址”

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

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