###Bugs### - Pse-Lambda-das-Spiel/LambdaDasSpiel GitHub Wiki

Holt euch FindBugs (z.B. als Eclipse Plugin) oder ähnliches (das auch im Testberich angeben) und lasst das übers core Projekt laufen. Zeigt vielleicht ein paar interessante Sachen an. (z.B. hat ShopItemModel ein ShopModel Attribut, das (anscheinend) nie benutzt wird.)

Wir brauchen auch eine einheitliche Checkstyle-Version. Dafür hab ich mal im Qualitätssicherungs-Verzeichnis die checkstyle.xml von SWT1 commitet, dort hab ich den Eintrag für Final-classes deaktiviert, damit Singleton-Klassen nicht falsch angezeigt werden (Vergisst dann aber nicht das final bei den utility-Klassen zu setzen)

Wenn an der Behebung eines Bugs gearbeitet wird, dann tragt bitte euren Namen hinter dem jeweiligen Bug ein. Wenn ein Bug behoben ist, dann bitten mit einem (done) kennzeichnen. Bitte löscht nach der Behebung des Bugs nicht den Eintrag, wir müssen das ja dokumentieren.

  • Bei der Maske der Klammerung wird aktuell noch die Maske der Abstraktion angezeigt (Bug muss beim Editormodus liegen, da in der png, json und im Shop alles ordentlich geladen wird) (done)
  • Farben sollte man richtig unterscheiden können (wenn schon zwei mal ähnlich, dann die eine Farbe hell und die andere dunkel (hellorange/dunkelorange) (done) (wenn jemand noch andere Farbtöne haben will dann kann er diese direkt als Hexstring in der colors.json eintragen)
  • Animationen müssen im ReduktionsVC noch eingebunden werden (done)
  • Pro Level darf es nur eine bestimmte Menge an Spielementen in der Drag&Drop-Leiste geben (done) (wenn damit die Leveleinschränkungen auf benutzbare Toolbarelemente gemeint ist)
  • Es sollen nur die wirklich editierbaren Spielelemente vom Spielfeld entfernbar sein, und zum Entfernen sollen diese auch wirklich zum Rand des Bildschirms gezogen werden (done)
  • Mehrmaliges Drücken der Vorwärts- und Rückwärtsschritt-Buttons bei der Reduktion soll nicht zum Absturz führen (Es muss feste Start- und Endzustände für die Terme geben, die nicht weiter rückwärts oder vorwärts reduzierbar sind) (done) (anscheinend sendet der Libgdx Button auch nen Click-Event, wenn er disabled ist und gedrückt wird)
  • Return-Button von ReductionsVC nach EditorVC (soll auch für Android Back-Key funktionieren)
  • Hint- und Ziel-Dialog sollen mehrzeilige Lambda-Konstellationen anzeigen können (pass den Offset an oder schick mir nen Beispiel, wo Elemente nicht nur deshalb nicht angezeigt werden, weil sie außerhalb des Bildschirms sind) (Hab ich ja jetzt (anderst) gefixt. Ging auf die vorherige Art nicht da getHeight() bei einem LambdaTermVC flasche Werte zurückgegeben hat)
  • Der nicht-Standardmodus (Ausgabe-Bestimmung) soll in Editor- und ReduktionsVC richtig angezeigt werden, d.h. im Ziel-Dialog soll die zu reduzierende Anfangskonstellation dargestellt werden, auf dem Feld soll dann das Ergebnis platziert werden. Die zu reduzierende Anfangskonstellation ist im Attribut start des LevelModels gespeichert, das goal Attribut bleibt leer (die App soll damit umgehen können). Im ReduktionsVC soll die Anfangskonstellation reduziert werden und mit dem vorher auf dem Feld platzierten verglichen werden. (hab ich im Zieldialog (hoffentlich) schon richtig gemacht)
  • Je nachdem ob es Standardmodus ist oder nicht soll im Zieldialog unter dem Lambdaterm ein für den Spielmodus kennzeichnendes Label angezeigt werden (sowas wie Was kommt dabei raus ? und Was braucht man dafür?) (done)
  • Falls es in einem Level keinen Hint gibt, dann soll das im Hint-Dialog durch ein Label beschrieben sein (sieht aber scheiße aus^^) done (sollte jetzt gehen sorry.)
  • Falls es in einem Level keinen Ziel gibt, dann soll das im Ziel-Dialog durch ein Label beschrieben sein (oder Sonderbehandlung für Sandbox) (man sollte vielleicht eher ziel (vllt auch hint) gar nicht anzeigen lassen. Nur dann einen HelpDialog, indem irgendwas so im Sinne von "Mach was du willst" steht)
  • Beim Drücken auf den Reduktions-Button wird ja geprüft, ob der platzierte Lambdaterm gültig ist, falls nicht, dann soll auch eine Dialog mit entsprechenden Grund erscheinen (done)
  • Alle Tutorial-Dialoge sollten möglichst gleich groß sein
  • Es soll möglich sein ,den Färbungsdialog durch Drücken irgendeiner Stelle im Spielbildschirm zu verlassen (done) (hab auch für Profileconfig- + Strategydialog. Sonst noch bei einem?)
  • Das StatisticModel soll seine Werte erhalten können (durch das Spielen der Level) (Hab drag&drop neu geschrieben, deswegen sind da jetzt die statistik Sachen auch nicht mehr drin. Model Funktionalität sollte eh nicht in den VC geschrieben werden)(done)
  • Disabled-Bilder im Skin für Buttons im Reduktionsmodus
  • Wechselt die "???"
  • ?-Button im Redmodus zeigt zu viel info an (done)
  • info im levelziel ob alphaäquivalenz oder farbgleichheit zählt und entsprechende Erklärung im Tutorial
  • Es ist möglich Drag&Drop usw auszuführen, obwohl Dialoge gezeigt werden. (eigentlich egal)
  • (Hängt vielleicht mit den oberen zusammen -Nein, tut es nicht) Startet man ein Level neu (pause -> restart) und funktionert die Drag&Drop-Leiste nicht mehr bzw. man bewegt immer den Term. done (der restart im PauseDialog hat die EditorVC.show() nicht aufgerufen und es wurde der InputMultiplexer nicht richitg gesetzt)
  • Es lassen sich immernoch nichteditierbare Elemente entfernen. Beispiel Level 7. Klammer ganz links oben einfügen (Klammer verschwindet). Schaf an der gleichen Stelle einfügen.-> Jetzt hat man eine Klammer über allen Ausdrücken. Diese und alles darunter kann man mit Drag&Drop entfernen. (done gibt jetzt explizite Klammerungen)
  • Levelabschlussdialog sandbox? done (Falls es noch ein extra Label oder Buttons gibt die bitte hinzufügen)
  • Es darf in der Sandbox nicht nach der Reduktion zu einem Vergleich mit einem nicht vorhandenen Zielterm kommen. done
  • Falls sich im EditorVC auf dem Spielfeld keine Spielelemente befinden (leerer lambdaTerm, zB. in Sandbox möglich) und anschließend auf den Reduktionsbutton gedrückt wird, so kommt es zu einer NullpointerException (ausgelößt durch den IsValidVisitor) done
  • Pausierung der Reduktion (mit anzeigen des Pausebuttons) fehlt done
  • Nach einem Reduktionsschritt wird ein Lamm mit Zauberstab nicht zu einem ohne Zauberstab,es fehlt also diese Umwandlung und man muss dann noch sehen dass das Lamm ohne Zauberstab verschwindet, und dann soll das darunter erst nach ober rücken, generell sollen es nach diesen Vorgängen eine gewisse Zeitspanne geben in der nichts geschieht damit der Benutzer auch alles richtig mitbekommnt, es soll auch nicht sofort mit der nächsten Reduktionsanimation begonnen werden
  • Musikfiles eventuell noch auf gleiche Lautstärke bringen (done) (wobei manche Sachen immernoch zu laut/leise wirken nur halt nicht so stark wie vorher)
  • Der validVisitor funktioniert bzgl. der Klammerung nicht richtig, zB. wird (zz) nicht als gültig erachtet beim Drücken auf den Reduktionsbutton (ist glaub sogar bei jeder Klammer, die man selber einfügt. Nicht editierbare/vom Level vorgegebene funktionieren)
  • Shop wechselt die Sprache nicht. done
  • Die Buttons in der Reduktionsleiste im ReduktionsVC lassen sich nicht mehr drücken, nachdem einer von Ihnen gedrückt wurde done
  • Editormodus: Per Rechtsklick während einer Drag&Drop Bewegung kann man ein Spielelement einfach auf dem Bildschirm platzieren. Das kann man dann nicht mehr auswählen und geht auch nicht mehr (zwischen Levels) weg^^ (doch nicht war vielleicht irgendein Spezialfall, wo ich mit den Dialogen rumgepfuscht hab. Momentan bekomm ich es nicht mehr hin, den Bug zu replizieren. War also vllt meine Schuld) --- hatte es in einem von den letzten Commits gefixt. done