# welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ?



## Vilkazzz (1. Aug 2014)

hallo,

ich habe ein luxus Problem, für mein Trainingsprojekt = Quizzspiel habe ich mir mehr Methoden ausgedacht als notwendig 

Verfahren = bei richtiger Antwort wird nächste Frage gestellt, mit neuen antworts buttons usw.

z.B. von







zu 






Also meine Frage, wenn ihr alles ausprobiert habt, welches würdet ihr als besser nennen ?

Methode 1. bei buttonklick  die Texte der labels, den Bild und die Buttons in der aktueller Pane/Jlabel (ich nutze javaFX aber es geht ja um prinzyp) durch vordefinierte methoden auszutauschen.

Methode 2. die panes/JLabels im voraus vorzubereiten, und bei richtigem Buttonklicks vorherige panes deaktivieren, und die neuen Panes aktivieren.

Ich tendiere Ehe zu der Methode 1, es kommt mir Resourcesparsammer vor, 
evtl einfach methoden machen "lvl1" "lvl2" usw, und wo die aufgerufen werden,
werden die ellemente auf der Oberfläche neu verordnet, bzw neu gezeichnet.

vor allem wenn man irgendwann hunderte von panes hat, klingt Methode 1 Effizienter.

funktionieren würde es, ich will nur nicht etwas anfangen, und nach  1 Woche "Och mann, 
es ginge andersrum VIEL einfacher"   Erlebniss haben.

Also, es geht nicht um das Endergebniss, es geht um möglichst richtige weise Bühnenübergänge sich beizubringen. Und wenn jemand sagt "des geht, aber probier mal dieses hier, das geht noch besser:"
das wäre ja noch besser 

vielen dank im voraus

mfg

Vilkaz


----------



## lord239123 (1. Aug 2014)

Ich würde dabei auch eher zu Methode 1 tendieren, da sie sich vermutlich leichter lösen lässt.
Willst du die Fragen denn zufällig auswählen oder sind die Fragen in einer festen Reihenfolge?


----------



## Vilkazzz (1. Aug 2014)

sowohl als auf.

ich habe Klasse geschrieben, die Zahlen von 1-12 in zuffäliger Reihenfolge wiedergibt ohne dass eine Zahl doppelt vorkommt.

Somit will ich das jeder Monat einmal vorkommt, und zu jedem Monat wird gefragt zu welcher Jahreszeit er zugehört.

ich hab mir dabei so etwas überlegt und suche aktuell nach der richtiger syntax.


```
public static void lvl1(Stage primaryStage)
```

somit kann die Primary stage in der Main deklariert werden und die ganzen lvls
lediglich mit dem namen der Stage aufgerufen werden.

dann interne Methoden start und end


```
public static void start(){
wird scene und PAnes erstellt und mit Bildern sowie buttons belegt
        }
```


```
public static void end(){
alle erstellten Ellemente werden removed, quasi die Stage geleert für nächsten lvl.
        }
```

beim entsprechendem buttonklick soll also zuerst die Bühne mit z.B. lvl1.end(); aufgeräumt,
dann das nächste lvl mit entsprechend lvl2.start(); aufgerufen werden.

noch hab ich keine Gramatik gefunden für alle ellemente einer Stage oder Scene zu löschen 

ich kann ja jeden Ellement am ende eines levels auf invisible setzen, aber das ist doch mäh ...
aber da google ich grade nach eleganterer lösung, evtl kann ich die kompletten Panes verschwinden lassen o.ä.


----------



## lord239123 (1. Aug 2014)

Am einfachsten wäre es, wenn du 2 Panels erstellst:
Im ersten Panel wäre die Aufgabe zu sehen, wobei der Text und die Buttons immer an der gleichen Stelle stehen.
Das zweite Panel wäre dann das 2. von dir gepostete Bild.

Wenn es dann das nächste lvl kommt musst du dann nur noch den Text der Buttons und der Frage ändern.
Das gleiche gilt für Panel2.

Dadurch ist es leichter, eine zufällige Frage zu stellen, da alle die gleichen Buttons benutzen.


----------



## Ruzmanz (1. Aug 2014)

1. Vermeide "static" komplett. Das brauchst du für deine Aufgabe nicht.
2. Methode 3: Model - View - Controller mit JavaFX | AxxG Blog
3. Für deine Aufgabe solltest du NUR deine "Image"-Objekte neu erzeugen. Alle andere UI-Komponenten darf es exakt einmal geben. Ein LösungsPanel und ein FragePanel (mit vier Buttons, ein Textfeld, ein ImageView, ...)


----------

