2016-08-03 32 views
2

Ich verstehe, dass der Befehl vergleicht und Werte subtrahieren kann, aber ich sehe nicht genau, wie das funktioniert. Ich habe eine TI-BASIC-Programmier-Tutorial-Site (http://tibasicdev.wikidot.com/movement-explanation) verwendet und ich brauche Erläuterungen zur Liste als Ganzes.Kann jemand den Befehl TI BASIC List erklären?

Dieser Teil des Codes mit Liste ist als ,:

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

folgt und die Website erklärt den Code wie folgt .:

„Dies ist, wie dieser Code funktioniert. Wenn Sie eine Taste drücken Der Wert wird in K gespeichert. Wir prüfen, ob K einer der Tasten entspricht, die wir gedrückt haben, indem wir sie mit den Listen {24, 26 und {25, 34 vergleichen. Dies ergibt eine Liste {0,1}, {1 , 0}, oder {0,0}, dann nehmen wir den ausgefallenen Befehl Δlist (um zu sehen, ob wir nach oben, unten, links oder rechts gehen sollen. Was Δlist (does ist ganz einfach. Δlist (subtrahiert das erste Element von dem zweiten in die vorherige Liste und speichert diese als neue Liste mit einem Element, {1}, {-1} oder {0}. Wir machen dann die Liste zu einer reellen Zahl, indem wir die Summe der Ein-Byte-Liste nehmen. Diese 1, -1 oder 0 hinzugefügt A.“

Antwort

3

Der ΔList( Befehl jedes Element in einer Liste von seinem vorherigen Elemente subtrahiert. Dieser Code verwendet einige Tricks mit ihm kompakt 1 zurück, wenn eine Taste gedrückt wird und -1

ΔList (berechnet die Differenzen zwischen aufeinander folgenden Bedingungen einer Liste und gibt sie in einer neuen Liste.

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

das heißt, Δ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}.

Wenn nur zwei Elemente in einer Liste vorhanden sind, ist ΔList({a,b}) daher gleich {b-a}. Dann ist sum(ΔList({a,b})) gleich b-a, da das der einzige Begriff in der Liste ist. Nehmen wir an, dass K in Ihrem Beispiel 26 ist; Das heißt, die Taste > wird gedrückt.

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] 

ähnlich B, wenn Taste 24, die linke Taste verringert werden, gedrückt wird.