Work In Progress

Das ist ja ärgerlich. Woran liegt denn das? So viel langsamer sind doch Smartphone Prozessoren auch nicht mehr, oder?

So nach vielen grauen Haaren habe ich nun dank jemanden aus dem JGO Forum eine Lösung gefunden, die funktioniert.
Bin jetzt glücklich. Jetzt kann ich es weiter optimieren für das Smartphone. (Anzeige etc) … wie es aussieht kann ich es doch veröffentlichen … .yeah … bei mir läuft es sehr gut auf jeden Fall. [Smartphone: OnePlus 2] =)

Android: Die aktuellste Version für das Smartphone findet ihr wieder hier.
Java Libgdx: Die aktuellste Version wie für das Smartphone bloß als Jar für den Desktop gibt es hier. Vorteil ist, dass man es einfach größer ziehen will, kann man es machen. :wink:

WIP version

Download
Android Version: Download
Desktop Java Libgdx: Download

Was ist neu?

  • Ich habe mich daran versucht eine gestrichelte Linie mit libgdx zu zeichnen. Klappt in 90% der Fälle auch sehr gut. Aber ab und zu gibt es noch ausreißer. Das fixe ich in der nächsten Version.
  • Jetzt sieht man eine 3 Sekunden Vorschau, wie sich die Funktion entwickeln wird, wenn die T-Variable mit enthalten ist. (rote Linie im Bild)
  • In der Android version sind die Positionsinformationen jetzt immer sichtbar, solange das eigentliche Spiel nicht läuft. So sollte es einfacher sein, die korrekte Funktion zu finden.
  • Außerdem kann man nun “pos1” und “end” nutzen und es gibt einen Button, um den kompletten String zu löschen. [nur in der libgdx Version und in der Android Version]

Nächste Ziele:

  • Sound / Musik
  • Gerade die Android Version weiter polishen.
  • Vielleicht noch ein paar Achievements einbauen

Heute

  • habe ich ein neues Startmenu hinzugefügt
  • eine weitere Statistik hinzugefügt, damit ihr eure beste Zeit mit der "Welt"bestzeit vergleichen könnt
  • “süße” Partikel nach dem Lösen eines Levels

Jetzt fehlt noch der Sound, falls da jemand Ideen hat, immer her damit. =) Würde mich freuen.

Aktuelle Alpha-Download
Android Libgdx version:Download
Desktop libgdx version: Download

Neuste Version

  • Jetzt gibt es insgesamt 12 Achievements
  • damit es nicht so statisch im Menu ist, wurden einen paar fliegende Funktionen im Hintergrund eingebaut
  • viele weitere Bugs behoben … wo die auch immer herkommen. :wink:

Nächste Schritte:

  • Sound/Music (gerne mit Ideen und Hilfe von euch :wink: )
  • Ab in den Playstore mit dieser Spieleperle =)

aktueller Alpha-Download
Android Libgdx version: Download
Desktop Libgdx version: Download


Nun gibt es noch einen zweiten Gamemodus. In Finde die Lösung muss „nur“ die vorgegebene Lösung gefunden werden. Kein Baby und keine Süßigkeiten stören einen. Ich habe ihn mit eingebaut, weil mir bei der Entwicklung des Spiel einfach viele Funktionen auf den Schirm gekommen sind, die einfach schick aussehen. Derzeit besitzt der Modus nur 9 Levels. Aber im Laufe der nächsten Tage plane ich mindestens 50 Levels.

Danach ist das Ziel, weiter am Sound zu arbeiten bzw. ihn überhaupt zu finden. Und dann wird noch eine Website gebaut, ein Trailer angefertigt und dann veröffentlicht. Ihr seht nächstes Jahr zu Weihnachten kann ich es veröffentlichen. :smiley:

aktueller Beta-Download
Android Libgdx version: Download
Desktop Libgdx version: Download

So nun ist der Fehler beim Inputhandling weg. Es konnte vorkommen, dass in der Desktopversion bei schnellem eintippen Tastenanschläge vergessen wurden. Das wurde entfernt.
Dann wurde das Baby ausgetauscht mit einem anderen Baby mit Krabbelanimation.
Es gibt außerdem nun 21 Finde den Fehler Levels.
Und das ALLLLERRRRWICHTIGSTE endlich habe ich es hinbekommen in libgdx eine dashedline zu malen, also eine gestrichelte Linie. Nun kann man Farbe und Länge der Linie angeben und egal welches Polygon hereingegeben wird, er malt es korrekt. Ihr glaubt gar nicht wie glücklich mich das macht. War echt ein Kampf, obwohl dahinter ja nur simple Mathematik steckt. Hat mich trotzdem fast 4 Wochen gekostet, bis ich auf den richtigen Weg gekommen bin. Egal hauptsache es funktioniert nun. Habe ich schon erwähnt, dass mich das glücklich macht? :smiley:

aktueller Beta-Download
Android Libgdx version: Download
Desktop Libgdx version: Download

Nun hat das Spiel auch Sound Effekte.
Für die Musik habe ich bei DorFuchs angefragt, ob wir was zusammen machen wollen. Musik … Mathe das kennt er ja und was habe ich zu verlieren. Mal schauen ob er antwortet und falls ja, was er antwortet. =)

Außerdem gibt es nun eine Website. Bei der will ich die statischen Bilder aber noch mit Gifs austauschen und ein Video erstellen.

Dann bin ich wirklich fertig. Bin schon aufgeregt, ob ich mehr als 10 Downloads damit bekomme :smiley:

Gerade angespielt.
Spielend leicht können Kinder hier das Verhalten von Funktionen erlernen. Kinderleicht und spaßig.

Fehlende Präzision macht das Spiel uninteressant.
t9-90 liefert bei mir nicht das gleiche Ergebnis wie t1-10

*** Edit ***

Gerade angespielt.
Spielend leicht können Kinder hier das Verhalten von Funktionen erlernen. Kinderleicht und spaßig.

Fehlende Präzision macht das Spiel uninteressant.
t9-90 liefert bei mir nicht das gleiche Ergebnis wie t1-10

Hi, aber wieso soll t9-90 das gleiche liefern wie t1-10???
T steht für die Zeit … bei t = 1 bedeutet dies 9 - 90 = -81 und 1 - 10 = -9 und das ist natürlich nicht gleich. Das kann man so weiter machen. Die Funktionen sind sehr genau berechnet und gleiche Funktionen sind auch gleich … kannst es gerne mit sin und cos mit pi/2 Verschiebung probieren z.B.
Nach 10 Sekunden ist das Ergebnis natürlich gleich, aber davor und danach nicht mehr.

Ich meinte das beide nach 10s den 0 Punkt erreichen oder so ähnlich.
Das Baby verhält sich anderst auf der Kurve.
Habe es mittlerweile deinstalliert weil ich es durch habe, aber auf den zwei identischen quadratischen Kurven lief das Baby einmal weiter nach oben, bei der anderen blieb es fast in der Mitte.

Ich hab nur eine Pipe | in eine Formel eingegeben über die Tastatur. Wollte ich nur melden, weil sich daraufhin das ganze Programm beendet hat.


Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: org.nfunk.jep.TokenMgrError: Lexical error at line 1, column 2.  Encountered: "5" (53), aft
er : "|"
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:131)
Caused by: org.nfunk.jep.TokenMgrError: Lexical error at line 1, column 2.  Encountered: "5" (53), after : "|"
        at org.nfunk.jep.ParserTokenManager.getNextToken(Unknown Source)
        at org.nfunk.jep.Parser.jj_scan_token(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_34(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_24(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_18(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_20(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_10(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_26(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_19(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_9(Unknown Source)
        at org.nfunk.jep.Parser.jj_3_1(Unknown Source)
        at org.nfunk.jep.Parser.jj_2_1(Unknown Source)
        at org.nfunk.jep.Parser.Start(Unknown Source)
        at org.nfunk.jep.Parser.parseStream(Unknown Source)
        at org.nfunk.jep.JEP.parse(Unknown Source)
        at com.badlogic.gdx.baby.game.BabyGraphGame.isCorrectFunction(BabyGraphGame.java:1020)
        at com.badlogic.gdx.baby.game.BabyGraphGame.tryToSetNewFunction(BabyGraphGame.java:988)
        at com.badlogic.gdx.baby.game.BabyGraphGame.keyButtonReleased(BabyGraphGame.java:966)
        at com.badlogic.gdx.baby.GameScreen.think(GameScreen.java:183)
        at com.badlogic.gdx.baby.game.BabyGraphPanel.think(BabyGraphPanel.java:841)
        at com.badlogic.gdx.baby.Game.render(Game.java:47)
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:223)
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)

[QUOTE=TMII]Ich meinte das beide nach 10s den 0 Punkt erreichen oder so ähnlich.
Das Baby verhält sich anderst auf der Kurve.
Habe es mittlerweile deinstalliert weil ich es durch habe, aber auf den zwei identischen quadratischen Kurven lief das Baby einmal weiter nach oben, bei der anderen blieb es fast in der Mitte.[/QUOTE]

Erst einmal Danke fürs Testen. =)
Ok, jetzt verstehe ich was du meinst. Ich habe mich dafür entschieden, weil das Baby so gesehen rutscht. Und es ist in der Realität auch so, dass wenn dich etwas schiebt auf etwas rutschigem, dann kommt es darauf an wie schnell wie geschoben wirst. Du wirst nicht immer auf der gleichen Stelle bleiben.

[QUOTE=AmunRa;143075]Ich hab nur eine Pipe | in eine Formel eingegeben über die Tastatur. Wollte ich nur melden, weil sich daraufhin das ganze Programm beendet hat.


Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: org.nfunk.jep.TokenMgrError: Lexical error at line 1, column 2.  Encountered: "5" (53), aft
er : "|"
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:131)
Caused by: org.nfunk.jep.TokenMgrError: Lexical error at line 1, column 2.  Encountered: "5" (53), after : "|"
        at org.nfunk.jep.ParserTokenManager.getNextToken(Unknown Source)
        at org.nfunk.jep.Parser.jj_scan_token(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_34(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_24(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_18(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_20(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_10(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_26(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_19(Unknown Source)
        at org.nfunk.jep.Parser.jj_3R_9(Unknown Source)
        at org.nfunk.jep.Parser.jj_3_1(Unknown Source)
        at org.nfunk.jep.Parser.jj_2_1(Unknown Source)
        at org.nfunk.jep.Parser.Start(Unknown Source)
        at org.nfunk.jep.Parser.parseStream(Unknown Source)
        at org.nfunk.jep.JEP.parse(Unknown Source)
        at com.badlogic.gdx.baby.game.BabyGraphGame.isCorrectFunction(BabyGraphGame.java:1020)
        at com.badlogic.gdx.baby.game.BabyGraphGame.tryToSetNewFunction(BabyGraphGame.java:988)
        at com.badlogic.gdx.baby.game.BabyGraphGame.keyButtonReleased(BabyGraphGame.java:966)
        at com.badlogic.gdx.baby.GameScreen.think(GameScreen.java:183)
        at com.badlogic.gdx.baby.game.BabyGraphPanel.think(BabyGraphPanel.java:841)
        at com.badlogic.gdx.baby.Game.render(Game.java:47)
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:223)
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)

[/QUOTE]

Oh, das fange ich noch ab, danke für den Hinweis. Ich wandle die | | in abs() um.
Eine Lösung wäre: Ich verbiete einfach | und schreibe auf den Button abs() . Hatte mich nur dagegen entschieden weil | kürzer und mathematisch auch korrekt ist.
Vielleicht finde ich auch eine andere Lösung. Mal schauen. =)

Jetzt gibt es auch gifs, um zu das Spielprinzip zu verdeutlichen.

So nun wird eine ‘|’ gleich in abs() umgewandelt und man kann einfach weiterschreiben.
Außerdem wurde der Tangens entfernt … der hat mich immer geärgert und durch die Wurzelfunktion ersetzt.
Außerdem gibt es nun 25 Finde den Fehler Level.

Jetzt gibt es noch ein Problem mit dem Nexus 9. Dort läuft das Spiel ruckelnd … aber wenn man den Finger hin und herbewegt dann läuft es normal. Dabei werden alle Mouse/Touch/Keyboard inputs zwischengespeichert und erst beim nächsten update/render cycle ausgewertet … bin da etwas überfragt gerade wieso es zu so einem Verhalten kommt. Bin da aber dran.

War das bei deinen ganzen anderen Spielen auch so? Oder nur bei dem?

[QUOTE=Apo]So nun wird eine ‘|’ gleich in abs() umgewandelt und man kann einfach weiterschreiben.
Außerdem wurde der Tangens entfernt … der hat mich immer geärgert und durch die Wurzelfunktion ersetzt.
Außerdem gibt es nun 25 Finde den Fehler Level.

Jetzt gibt es noch ein Problem mit dem Nexus 9. Dort läuft das Spiel ruckelnd … aber wenn man den Finger hin und herbewegt dann läuft es normal. Dabei werden alle Mouse/Touch/Keyboard inputs zwischengespeichert und erst beim nächsten update/render cycle ausgewertet … bin da etwas überfragt gerade wieso es zu so einem Verhalten kommt. Bin da aber dran.[/QUOTE]

Hast du mal versucht den Render Mode auf WHEN_DIRTY bzw. CONTINUOUSLY zu tauschen?
Vielleicht liegt es auch daran wo und wann deine requestRender() Methode aufgerufen wird…