[Tiptoi] Vergleich auf < (kleiner als) bzw. >= geht im play modus aber nicht auf dem Stift

Andreas Binzenhöfer binzi at binzi.de
Fr Mai 1 10:37:10 CEST 2015


Hi,

 

Entwarnung, zumindest teilweise. 

 

 

Ich habe selbst gedebugged und einfach mal ein P(beep) ans Ende der Zeile
gemacht:

 

  finaleingabe:

  - $codestelle==0? P(erstfinalstarten)

  - $codestelle<7? $codestelle+=1 $code*=10 $code+=$zahl P(beep)

 

Ergebnis: Wenn ich auf die Zahlen drücke, dauert es auf dem Stift ein wenig,
bis das beep abgespielt wird. Es funktioniert dann aber alles bestens!

 

Nun war meine Vermutung, dass ich einfach zu schnell auf die nächste oid
gedrückt habe. Also habe ich einfach mal das P(beep) wieder raus genommen
und mir sehr, sehr viel Zeit genommen bevor ich auf die nächste oid gedrückt
habe. Dummerweise geht es dann aber auch wieder nicht.

 

Ich habe den Code dann so umgeschrieben, dass ich eben keine elegante
finaleingabe mehr habe, sondern alles direkt mit redundantem Code bei
Eingabe der Zahlen erledige.

 

  f1:

  - $codestelle==0? P(f1) P(erstfinalstarten)

  - $codestelle>=7? P(f1)

  - $codestelle+=1 $code*=10 $code+=1 P(f1)

  f2:

  - $codestelle==0? P(f2) P(erstfinalstarten)

  - $codestelle>=7? P(f2)

  - $codestelle+=1 $code*=10 $code+=2 P(f2)

 

Damit geht es absolut fehlerfrei!

 

@andi: Mit deinen 2^16 hast du Recht. Daran habe ich nicht gedacht.
Witzigerweise geht es mit obigem Code aber problemlos auf dem Stift…

 

Von: tiptoi [mailto:tiptoi-bounces at lists.nomeata.de] Im Auftrag von Andreas
Binzenhöfer
Gesendet: Freitag, 1. Mai 2015 08:40
An: 'Die Mailingliste für Tiptoi-Bastler'
Betreff: [Tiptoi] Vergleich auf < (kleiner als) bzw. >= geht im play modus
aber nicht auf dem Stift

 

Hallo,

ich habe mal wieder etwas seltsames gefunden. Ich möchte einen
sechsstelligen Code mit dem Stift erzeugen. Dazu kann man auf oids für die
zahlen 0 bis 9 klicken, danach wird der Code zusammengebaut. Im play modus
funktioniert das Ganze problemlos. Auf dem Stift geht es nicht.

Nach langem debuggen habe ich nun den Fehler gefunden. Der Vergleich eines
Registers mit < bzw. auch mit >= funktioniert im play-modus, auf dem Stift
aber nicht:

Code:

      final:

  - $codestelle==0? $code:=0 $codestelle:=1 P(StartFinal)

  f1:

  - $zahl:=1 P(f1) J(finaleingabe)

  finaleingabe:

  - $codestelle==0? P(erstfinalstarten)

  - $codestelle<7? $codestelle+=1 $code*=10 $code+=$zahl

Den Vergleich <7 mache ich, da mein code sechstellig ist und ich das
register nicht überlaufen lassen möchte. Im Play modus führt er den code so
aus, wie ich mir das vorstelle. Auf dem Stift geht er offensichtlich nie in
die zweite Zeile.

Mit >= hat es dann auch nicht funktioniert:

finaleingabe:

  - $codestelle==0? P(erstfinalstarten)

  - $codestelle>=7?

  - $codestelle+=1 $code*=10 $code+=$zahl

Mit folgendem Code geht es dann aber auch auf dem Stift:

      final:

  - $codestelle==0? $code:=0 $codestelle:=1 P(StartFinal)

  f1:

  - $zahl:=1 P(f1) J(finaleingabe)

  finaleingabe:

  - $codestelle==0? P(erstfinalstarten)

  - $codestelle+=1 $code*=10 $code+=$zahl

Das liegt vermutlich wieder an mir. Nachdem es in play und auf dem Stift
unterschiedlich ist, wollte ich es doch mal posten.

Hier noch der komplette yaml Code, falls es doch noch an anderer Stelle
liegt:

  final:

  - $codestelle==0? $code:=0 $codestelle:=1 $station:=7 P(StartFinal)

  - $code!=135246? $code:=0 $codestelle:=1 $station:=7 P(CodeFalsch)

  - $code==135246? $station:=7 P(FinalKoordinaten)

  f0:

  - $codestelle==0? P(f0) P(erstfinalstarten)

  - $codestelle>=7? P(f0)

  - $codestelle==1? P(f0)

  - $code*=10 $codestelle+=1 P(f0)

  f1:

  - $zahl:=1 P(f1) J(finaleingabe)

  f2:

  - $zahl:=2 P(f2) J(finaleingabe)

  f3:

  - $zahl:=3 P(f3) J(finaleingabe)

  f4:

  - $zahl:=4 P(f4) J(finaleingabe)

  f5:

  - $zahl:=5 P(f5) J(finaleingabe)

  f6:

  - $zahl:=6 P(f6) J(finaleingabe)

  f7:

  - $zahl:=7 P(f7) J(finaleingabe)

  f8:

  - $zahl:=8 P(f8) J(finaleingabe)

  f9:

  - $zahl:=9 P(f9) J(finaleingabe)

  finaleingabe:

  - $codestelle==0? P(erstfinalstarten)

  - $codestelle<7? $codestelle+=1 $code*=10 $code+=$zahl

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.nomeata.de/pipermail/tiptoi/attachments/20150501/3842a5a1/attachment.htm>


Mehr Informationen über die Mailingliste tiptoi