我知道命令会比较并且可以减去值,但我不确切地知道它是如何工作的。我已经使用了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。“
答案 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
将会减少。