我想在TIBasic中制作一个像Galaga这样的简单街机射击游戏。我成功地创建了一些代码,可以让你在屏幕上水平移动你的角色(一个“X”),同时拍摄一个清理沿着它所需的垂直路径的所有东西的子弹。但是,我对于应该从屏幕上掉下来的“岩石”有问题,并在击中时消失。当我拍摄岩石时,它会被子弹清除,然后继续沿着屏幕向下,直到它碰到屏幕的底部。下面是岩石的代码:Tibasic检查字符是否在屏幕上的位置
//outside the game loop:
1->R
//inside game loop:
If not(R=8)
Then
R+1->R
If R>1
Then
Output(E-1, 1, " " //removes last rock
End
Output(R, 1, "R" //replaces last rock with one below it (traveling towards the ground)
End
此代码显然不能持续下去的画面时,它被清除(顺便说一下停止“R”,我只是无论子弹是用Output(...," ")
清除子弹击中的任何东西)。那么,如何在游戏循环的最后一次迭代中检查岩石是否被清除?有没有办法检查屏幕上某处(“R”)是否在屏幕上的某个位置,以检查它是否在最后一次迭代中被子弹清除了?或者,还有更好的方法?谢谢您的帮助!
我不认为TI-BASIC允许您检查屏幕上显示的内容。但是,您始终可以学习如何在z80 ASM中编写程序并以这种方式访问屏幕缓冲区。一旦你编写了一个程序来完成它,你可以在你的主程序中调用它。但是,这将必须特定于它的精确计算器和操作系统版本。 – fuzzything44
好的,谢谢你的帮助 –
你最简单的做法就是保持它在变量中的位置(列表对于保存比你通常得到的28更多的变量是很好的)并检查它。 – fuzzything44