Geschrieben um 14:04 am 23.10.2016 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 47 | Hei Leute, ich melde mich mal wieder mit einem Problem. Mein Quellcode ist so weit gewachsen, dass ich mir technische Tricks überlegen muss, um noch flüssig weiterarbeiten zu können. So funktioniert z.B. die Replay-Funktion der IDE für mich nicht mehr, da sie nur noch quälend langsam durchläuft. Ich bin inzwischen auf "Linux-Makefile" umgestiegen, ediere mit dem "VIM" und arbeite von der Kommandozeile aus. Bisher habe ich mich mit dem "test"-Kommando zu einem bestimmten Zustand meines Spiels durchgehangelt. Das wird mir jetzt aber auch zu langwierig. Kann es vielleicht funktionieren, dass man gezielt über die Definition von SCENES auch einen bestimmten Zustand des Spiels starten kann? Ich habe z.B. an "scenes" jetzt vorliegen: ENTIRE GAME EigeneSzene1 EigeneSzene2 EigeneSzene3 Das Spiel beginnt bei mir ohne eigene Szene: Der PC steht vor einem Haus geht rein und dann fängt EigeneSzene1 an (läuft durch bis Ende), dann kommt EigeneSzene2 (läuft durch bis Ende), dann EigeneSzene3 (läuft durch bis Ende). Nach dem Ende der Letzteren ist der gegenwärtige Spielzustand erreicht, auf dem ich weiterarbeiten will. Ich kann ja am Anfang im Quellcode eingeben: "Teil1 is a scene. Teil1 begins when play begins." Meine Idee ist jetzt, für den ganzen ersten Teil meines Spiels (also Anfangssituation, EigeneSzene1, EigeneSzene2, EigeneSzene3) eine Kontainerszene festzulegen, die solange läuft, wie eben der erste Teil meines Spieles läuft. Dann brauche ich noch eine Kontainerszene für den zweiten Teil. Dann schreibe ich an den Anfang meines Codes so etwas wie: "Teil2 is a scene. Teil2 begins when play begins." Damit könnte ich theoretisch das Spiel mit einer bestimmten Szene starten, aber bevor ich anfange in meinem Quellcode herumzuwühlen und mich dann ärgere, wenn es zu Komplikationen kommt: Hat ein solches Vorgehen Aussicht auf Erfolg oder kann dies vom Ansatz her nicht funktionieren, weil so nur ein Teil des Quellcodes vom System abgearbeitet wird? So dass vorherige Aufgaben und Enwicklungen des Spielzustandes damit nicht vorhanden sind? Am einfachsten wäre es natürlich, wenn man den Spielstand einfach speichern könnte, aber das geht wohl nicht, solange man daran herumarbeitet. Ich habs versucht. Ich weiß, das ist ein kompliziertes Problem, aber ohne andere Meinung dazu, möchte ich meinen Quelltext jetzt nicht grundsätzlich umarbeiten. Grüße Textplayer |
Geschrieben um 08:17 am 24.10.2016 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 600 | In der letzten Version von I7, die ich ausprobiert habe, waren Szenen nur Sprungmarken. D.h. wenn du wie vorgeschlagen direkt zu Szene 2 springst, dann wird bis dahin außer der Initialisierung des Spiels kein Code ausgeführt. Allerdings wäre es möglich, am Einstiegspunkt der Szene 2 synthetisch den kanonisch gewünschten Spielzustand herzustellen. Also sowas wie:
|
Geschrieben um 08:30 am 24.10.2016 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 47 | Ok, es funktioniert grundsätzlich, konnte jetzt doch nicht warten, wie immer. Es stellt sich trotzdem eine wichtige Frage. Was ich noch nicht verstehe, ist Folgendes: Wie kann ich sicherstellen, dass eine Szene nur dann startet, wenn eine andere Szene schon läuft? Bei mir funktioniert:
Einen Parser-Error erzeugt aber diese Zeile:
|
Geschrieben um 08:46 am 24.10.2016 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 47 | Hannes:
Gute Sache, geht das auch mit der G-Version, die man leider benutzen muss, wenn man auf Deutsch schreibt? Hannes: Allerdings wäre es möglich, am Einstiegspunkt der Szene 2 synthetisch den kanonisch gewünschten Spielzustand herzustellen. Also sowas wie:
|
Geschrieben um 13:14 am 29.10.2016 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 104 | textplayer:
ich melde mich mal wieder mit einem Problem. Mein Quellcode ist so weit gewachsen, dass ich mir technische Tricks überlegen muss, um noch flüssig weiterarbeiten zu können. So funktioniert z.B. die Replay-Funktion der IDE für mich nicht mehr, da sie nur noch quälend langsam durchläuft. Hi Textplayer, zu diesem anfangs genannten Problem ist mir eingefallen, dass ein ähnliches mal im englischen Forum besprochen wurde, und damals kam man zu dem Schluss, dass ein zu voller "Skein" in der IDE das mitverursacht hat. Ein Workaround ist deshalb wohl, den Skein immer mal wieder zu trimmen. Der Bug wurde vermutlich erst in einer späteren Version gefixed. |
Geschrieben um 23:02 am 30.10.2016 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 47 | StJohn Limbo: Hi Textplayer, zu diesem anfangs genannten Problem ist mir eingefallen, dass ein ähnliches mal im englischen Forum besprochen wurde, und damals kam man zu dem Schluss, dass ein zu voller "Skein" in der IDE das mitverursacht hat. Ein Workaround ist deshalb wohl, den Skein immer mal wieder zu trimmen. Der Bug wurde vermutlich erst in einer späteren Version gefixed. Danke für den Tipp, das ist sehr hilfreich. Ich habs nachvollzogen. Das ist tatsächlich der Fall, der Skein bremst das System aus. Inzwischen wäre mir ein Interpreter lieb, der die Spielausgabe eines ganzen Testkommandos mit zahlreichen Befehlen in einem Rutsch abarbeitet und keinerlei Interaktion braucht. Grüße Textplayer |