program-and-play / scenarios

The scenarios for Program&Play
GNU General Public License v3.0
0 stars 1 forks source link

Handlungsablauf (act-Methode) #41

Closed paul2302 closed 7 years ago

paul2302 commented 7 years ago

Für alle Kapitel: es wird nur noch act der LevelWelten benutzt. Diese soll genau einmal durchlaufen und dann terminieren. Die LevelWelten brauchen Instanzvariablen, von den Charackteren, die beim Start des Scenarios sichtbar sind (je nach Level).

lukas9393 commented 7 years ago

Was heißt für:

Für alle Kapitel:

?

Die LevelWelten brauchen Instanzvariablen, von den Charackteren, die beim Start des Scenarios sichtbar sind (je nach Level).

Das gilt für alle? Das bedeute aber das jedes Kapitel seine eigen Weltklasse braucht.

paul2302 commented 7 years ago

Naja, zumindest braucht jedes Kapitel eine Welt Klasse zum drin schreiben. Ich dachte es gäbe eine Level2Welt. Sollte die auch für andere Level benutzt werden? Oder ist Level2Welt nicht mehr aktuell?

lukas9393 commented 7 years ago

Das mit der Level2Welt funktioniert nicht so wie gedacht. Daher kann sie nicht benutzt werden

paul2302 commented 7 years ago

Hmm. Ok, können auch leere Welt oder so etwas nehmen, die ist aber noch viel zu voll für den Anwender

lukas9393 commented 7 years ago

Immer noch zu voll? Es gibt aber noch die andere Möglichkeit

  1. Eine andere Klasse schreiben die NICHT von der Welt oder LeereWelt erbt und dort wird eine Act ähnliche Methode von der LeereWelt Act-Methode aufgerufen - Nachteil: diese Klasse wird im Anzeigenbaum bei "Other classes" angezeigt.
paul2302 commented 7 years ago

Mir ist das egal. Das soll Birgit entscheiden

nenrah commented 7 years ago

bevor ich das entscheiden kann, muss ich einmal verstehen, warum die Level2Welt nicht so funktioniert wie gedacht. Könnte die Level2Welt nicht in das json file aufgenommen werden und wenn nötig, das act aus LeereWelt mit super.act aktiviert werden?

Ja und wir bräuchten für fast jedes Szenario eine eigene Weltklasse.

Ich habe Christian gebeten sich das einmal mit anzuschauen, damit wir am Freitag eine Skizze einer Lösung haben.

lukas9393 commented 7 years ago

Könnte die Level2Welt nicht in das json file aufgenommen werden(...)?

Das mit der json file habe ich schon mal von Paul gehört, das dort LeereWelt bzw. Level2Welt fehlen sollte. Die json file ist von mir erschaffen und wird benutzt um Instancen von den Actor zu erzeugen und Standardwerte zu setzten, die hat nichts mit Greenfoot zu tun. Greenfoot benötigt eine Klasse, die von World erbt. Von dieser Klasse wird nie eine Instance erzeugt bzw. nicht von mir, sondern ausschließlich von der Greenfoot-Seite her.

bevor ich das entscheiden kann, muss ich einmal verstehen, warum die Level2Welt nicht so funktioniert wie gedacht.

Wenn nun eine Klasse von der Klasse erbt, die von World erbt (Level2World -> LeereWelt -> World) dann ist das schön und gut aber Greenfoot ignoriert diese und erstellt eine Instance von LeereWelt. Warum das so ist, kann ich nicht sagen, vllt. ein Fehler in Greenfoot oder an diese Option wurde bei der Entwicklung nicht gedacht. Ist mir ein Rätsel.

(...) wenn nötig, das act aus LeereWelt mit super.act aktiviert werden?

Das funktioniert nicht, das Problem liegt an Greenfoot, dass es nicht erkennt, welche die richtige Sub-Klasse ist. Was auch nicht funktioniert ist LeereWelt abstract zu setzten.

1blankz7 commented 7 years ago

Die Welt heißt jetzt Bittererde.