【问题标题】:Help: ZX81 BASIC "Peek" function帮助:ZX81 BASIC“窥视”功能
【发布时间】:2011-03-12 19:51:14
【问题描述】:

我需要一种方法来确定字符('

-在 ZX81 游戏中。

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

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

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

这是正确的代码吗?

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

请帮帮我...

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

谢谢,

【问题讨论】:

标签: memory basic zx81


【解决方案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)

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

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

【讨论】:

  • 嗯,好吧,如果我在 10,10(或任何位置)打印黑色像素图形,'peek(peek 16398 + 256*peek 16399)' 会找到黑色像素图形的代码吗?
  • 不,它会找到当前光标位置的任何图形的代码。
  • 光标位置?嗯? :P 我从来不知道 ZX81 有鼠标或光标?
【解决方案2】:

peek 读取内存位置的字节。根据The System Variables of the Sinclair ZX81,内存位置1639816399组成一个16bit的值,包含当前“显示文件中PRINT位置的地址”

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

【讨论】:

  • 是的,我一直在看那个。虽然对初学者没有帮助。 =/
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 2011-03-12
    • 1970-01-01
    • 2021-10-04
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多