我需要一種方法來發現如果字符(「<」)已經碰了壁(黑色像素圖形)幫助: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