2016-08-03 1 views
2

Je comprends que la commande compare et peut soustraire des valeurs, mais je ne vois pas exactement comment cela fonctionne. J'ai utilisé un site tutoriel de programmation TI BASIC (http://tibasicdev.wikidot.com/movement-explanation) et j'ai besoin de clarifications sur List dans son ensemble.Quelqu'un peut-il expliquer la commande TI BASIC List?

Cette partie du code avec liste est la suivante ,:

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

et le site explique le code comme ceci .:

« Voilà comment cela fonctionne code. Lorsque vous appuyez sur une touche , sa valeur est stockée à K. Nous vérifions si K correspond à l'une des clés que nous avons pressée en la comparant aux listes {24, 26 et {25, 34. Cela donne une liste {0,1}, {1 , 0}, ou {0,0} Nous prenons alors la commande de fantaisie Δlist (pour voir si on veut monter, descendre, gauche ou droite) Qu'est-ce que Δlist (fait est assez simple? Δlist (soustrait le premier élément de la seconde dans la liste précédente, et stocke comme nouvelle liste d'éléments, {1}, {-1} ou {0}. Nous transformons ensuite la liste en un nombre réel en prenant la somme de la liste d'un octet. Ce 1, -1 ou 0 est ajouté à A. »

Répondre

3

La commande ΔList( retranche chaque élément dans une liste de son élément précédent. Ce code utilise ruser avec elle pour revenir 1 si une compacte touche est pressée et -1

ΔList (calcule les différences entre les termes consécutifs d'une liste, et les renvoie dans une nouvelle liste.

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

C'est, Δ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}.

Lorsqu'il n'y a que deux éléments dans une liste, ΔList({a,b}) est donc égal à {b-a}. Puis sum(ΔList({a,b})) est égal à b-a, puisque c'est le seul terme de la liste. Disons que K est 26 dans votre exemple; c'est-à-dire que la touche > est enfoncée.

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] 

De même, B sera réduite si la clé 24, la touche gauche, est pressée.