这个问题在这里已经有一个答案:

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

- ZX81游戏。

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

如果Peek(Peek 16398 +256*Peek 16399)=代码”黑像素图“ 然后 ...

似乎对他们有用...

这是正确的代码吗?

我并不真正了解地址,并获得记忆和东西。

请帮我...

- 如果您知道更好的方法。请回答:) - 有人提到“光标位置” ZX81上到底是什么?谢谢,

有帮助吗?

解决方案

PEEK(PEEK 16398+256*PEEK 16399) 是一个习语,意思是“在当前打印位置上获取字符编号”。之所以起作用,是因为ZX81 BASIC/ROM使用的两个字节单词在16398使用,将指向存储位置的指针存储在与打印位置相对应的屏幕数据块中。

因此,要进行碰撞检测,您首先必须设置:

PRINT AT X,Y;

坐标到 > 即将移动, 然后

LET C= PEEK(PEEK 16398+256*PEEK 16399)

然后你可以打印 > 屏幕上(覆盖先前的字符,其代码现在在 C)如果您愿意在进行检查之前:

IF C=128 THEN ...

(我猜你想要的角色是全黑角色128,█)。

哦,男孩,我觉得很老。

其他提示

哇,这是否回去。我还没有使用ZX81,但是我确实在一天的TRS-80时写了一些游戏。

内部:

(Peek 16398 +256*PEEK 16399)

几乎是将两个内存位置的值(8位)的值占据并创建16位

从他们那里来的数字,然后用作外观的地址;您可以将其重写为:

addrtoCheck =(Peek 16398 +256*PEEK 16399)

pixelvalue = peek(addrtocheck)

如果PixelValue =代码“ Blackpixel Graphic”,则...

我猜想“ addrtocheck”值实际上是游戏中的字符位置,以屏幕上的地址表示。因此,如果该值不是墙,那么您将以新的字符位置(毫无疑问,使用“ oke”)更新地址16398和16399中的值。

希望这可以帮助

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top