如何在自定义TI程序中使用箭头键

时间:2011-08-03 17:59:59

标签: calculator ti-basic

我已经查看了尽可能多的功能,但我仍然找不到一个可以拦截TI箭头键点击的点击。

3 个答案:

答案 0 :(得分:5)

对于使用“Prog”按钮运行的基本程序,您需要调用getKey,它会返回按下最后一个按钮的键代码。箭头按钮映射到代码24252634

更多信息可在TI-Basic Developer的“阅读键盘”标题下找到。

答案 1 :(得分:3)

我知道这是一个老问题,但我认为这一点可能仍然有用。

如果您使用键输入来移动角色,或以某种方式移动某个值,那么您最好避免使用if-then-else语句。

最快的方法通常是做这样的事情:

:getkey -> A
:X+(A=24) -> X
:X-(A=26) -> X
:Y+(A=25) -> Y
:Y-(A=34) -> Y

可以进一步浓缩为:

:getkey -> A
:X+(A=24)-(A=26) -> X
:Y+(A=25)-(A=34) -> Y

我们不是通过if语句处理逻辑,而是利用(A=24)具有'布尔'(0或1)值的事实。因此,如果它是某个值,我们加1或减1。

设置限制也相当容易:

:getkey -> A
:X+(A=26)(X<=20)-(A=24)(X>0) -> X
:Y+(A=25)(Y<=15)-(A=34)(Y>=3) -> Y

因此,如果(X<20)它将乘以1,但当X&gt; = 20时,(X<20)将乘以0,否定了这一点。

我使用另一种技术来帮助我在某些程序中选择值:左右键增加和减少变量的值与上下键不同。但是,它需要更多的逻辑。

:getkey -> A
:X+10(A=26)(X+10<=100)-10(A=24)(X-10>=0) -> X
:Y+(A=25)(Y<15)-(A=34)(Y>3) -> B

在这种情况下,左箭头和右箭头都是数十,上下都是1。 (X+10<=100)代替(X<100),因为后者在X=99时为真,因此X可以达到109.前者确保添加10不会超过限制。

答案 2 :(得分:2)

您应该可以使用getkey命令执行此操作。

getkey (Store as) (Variable) A
while A=0
getkey (Store as) A

然后你可以在整个程序中调用变量A. 每个键都有一个通过getkey命令调用的数字。 所以你可以使用那个变量,

If A = 25
...
If A != 25
...

(25将是向上箭头)