有人可以解释TI BASIC List命令吗?

时间:2016-08-03 22:41:16

标签: calculator basic ti-basic

我知道命令会比较并且可以减去值,但我不确切地知道它是如何工作的。我已经使用了TI BASIC编程教程网站(http://tibasicdev.wikidot.com/movement-explanation),我需要对List进行整体澄清。

这部分带有List的代码如下:

:min(8,max(1,A+sum(ΔList(Ans={25,34→A
:min(16,max(1,B+sum(ΔList(K={24,26→B

并且网站解释了这样的代码。:

“这就是这段代码的工作原理。当你按一个键时,它的值存储到K.我们检查K是否等于我们按下的一个键,将它与列表{24,26和{25}进行比较,34。这导致列表{0,1},{1,0}或{0,0}。然后我们采用花式命令Δlist(看看是向上,向下,向左还是向右移动。什么是Δlist (确实很简单.Δlist(从前一个列表中的第二个元素中减去第一个元素,并将其存储为新的一个元素列表,{1},{-1}或{0}。然后我们将列表转换为取一个字节列表之和的实数。这个1,-1或0加到A。“

1 个答案:

答案 0 :(得分:3)

ΔList(命令从前一个元素中减去列表中的每个元素。如果按下某个键并且1

,此代码会使用一些技巧来紧凑地返回-1
  

ΔList(计算列表连续项之间的差异,并将它们返回到新列表中。

ΔList({0,1,4,9,16,25,36})
   {1 3 5 7 9 11}

ΔList({0,1,4,9,16,25,36}) = {1-0, 4-1, 9-4, 16-9, 25-16, 36-25} = {1 3 5 7 9 11}

如果列表中只有两个元素,则ΔList({a,b})等于{b-a}。然后sum(ΔList({a,b}))等于b-a,因为这是列表中唯一的术语。我们假设K在你的例子中是26;也就是说,>按下键。

B+sum(ΔList(K={24,26→B      Result of expression:
            K               26
            K={24,26        {0,1}
      ΔList(K={24,26        {1} = {0 - 1}
  sum(ΔList(K={24,26        -1
B                           [current x-position of player]
B+sum(ΔList(K={24,26→B      [add 1 to current x-pos. of player]

同样,如果按下键24(左键),B将会减少。