我需要一种方法来发现如果字符(“<”)已经碰了壁(黑色像素图形)帮助:ZX81“基本”防窥视功能
-On一个ZX81游戏。
我一直在看另一场比赛...它采用代码
如果PEEK(PEEK 16398 + 256 *偷看16399)=代码 “blackpixel图形” 那么......
哪似乎为他们工作...
这是正确的代码?
我真的不知道地址和获取内存和东西。
请帮我...
- 如果你知道更好的方法。请回答:) - 有人提到'光标位置'在ZX81上究竟是什么? 谢谢,
我需要一种方法来发现如果字符(“<”)已经碰了壁(黑色像素图形)帮助:ZX81“基本”防窥视功能
-On一个ZX81游戏。
我一直在看另一场比赛...它采用代码
如果PEEK(PEEK 16398 + 256 *偷看16399)=代码 “blackpixel图形” 那么......
哪似乎为他们工作...
这是正确的代码?
我真的不知道地址和获取内存和东西。
请帮我...
- 如果你知道更好的方法。请回答:) - 有人提到'光标位置'在ZX81上究竟是什么? 谢谢,
PEEK(PEEK 16398+256*PEEK 16399)
是一个成语,意思是“获得在当前打印位置的字符数。”这是因为ZX81 BASIC/ROM使用16398处的双字节字来存储指向与PRINT位置对应的屏幕数据块中的存储器位置的指针。
所以做碰撞检测,你首先必须设置:
PRINT AT X,Y;
坐标到其中>
将要移动,然后阅读
LET C= PEEK(PEEK 16398+256*PEEK 16399)
那么你可以在屏幕上打印>
(覆盖之前的代码现在在C
中的字符),如果您想在执行检查之前进行打印:
IF C=128 THEN ...
(我猜你想要的字符是全黑的字符128,█。)
哦,孩子,我觉得自己老了。
好的非常感谢。听起来很完美。让我尝试一下,一个问题:你说'在X,Y打印哪里将要移动?你的意思是现在在哪里移动? - 我很困惑你如何打印它,然后在你评论之后,你可以打印>'你打印两次吗? =/ – 2010-07-07 21:33:24
没有字符串的'PRINT AT'只设置打印光标位置。 – bobince 2010-07-07 22:48:17
哇,我从来不知道=]非常感谢。 - 那是我需要的建议=] – 2010-07-08 06:57:18
哇这是否回去。我没有使用过ZX81,但是我在当天的TRS-80上写了一些游戏。
内部部分:
(PEEK 16398 + 256 *偷看16399)
是相当多采取的两个存储单元(8位)的值,并产生一个16位的
他们的号码,然后用作外部窥视的地址;你可能改写这个:
addrToCheck =(PEEK 16398 + 256 *偷看16399)
pixelValue = PEEK(addrToCheck)
如果pixelValue =代码 “blackpixel图形”,然后...
我猜测'addrToCheck'的值实际上是游戏中的角色位置,表示为屏幕上的地址。所以如果这个值不是一堵墙,那么你应该用一个新的字符位置更新地址16398和16399中的值(毫无疑问,使用'戳')。
希望这有助于
角色在游戏中的位置?我将如何设置? – 2010-07-07 17:27:51
通过选择一个内存位置(显然,根据原始源),将其初始化为您希望角色启动的任何屏幕内存位置,然后执行此操作。 – jackjumper 2010-07-08 18:57:11
+1关于如何在2010年编程ZX81的问题:) – Andy 2010-07-07 16:43:11