我正在制作TI-BASIC游戏,玩家可以在主屏幕上移动二维地图。我为每张地图制作了一个8x16矩阵:
[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
[1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1]
[1,0,1,0,1,1,1,1,1,1,1,1,1,1,0,1]
[1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1]
[1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1]
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]]
......以及这个"功能"显示它:
For(A,1,8)
For(B,1,16)
Output(A,B,sub(" I",[A](C,D)+1,1))
End:End
现在,我有多个地图(矩阵),需要"呼叫"该函数具有不同的矩阵,而不是每次都重新键入该代码。有没有办法做到这一点?
答案 0 :(得分:1)
不幸的是,TI-84没有方法。
我认为你最好的选择就是创建另一个只有“功能”的程序,并在你需要的时候在主程序中执行“子程序”,这是你调用方法最接近的事情。您也可以使用Lbl
和Goto
命令,但使用较大的程序可能会比较复杂(而且速度较慢)。
答案 1 :(得分:0)
可以使用Ans
变量将参数传递给方法。以下是一个示例(基于您给定的显示函数prgmDISPLAY
):
prgmDISPLAY
For(A,1,8
For(B,1,16
Output(A,B,sub(" I",Ans(C,D)+1,1
End
End
然后您可以通过从主程序中调用prgmDISPLAY
来调用此方法,如下所示:
[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1][1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1][1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1][1,0,1,0,1,1,1,1,1,1,1,1,1,1,0,1][1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1][1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1][1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1][1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
prgmDISPLAY
或者,如果矩阵存储在[A]
中,只需执行:
[A]
prgmDISPLAY