Ich habe zwar das, was ich zunächst erreichen wollte, mit 10 Codezeilen hinbekommen, warscheinlich hast du aber recht und ich muss einen eigenen view erstellen.
Zunächst mal: Worin besteht der Nachteil eines umfangreichen views und was ist der Vorteil der Auslagerung. ich hab eigentich alles, was zwei- oder mehrmals genutzt wird in eigene Funktionen ausgelagert. Aber auch die views für die einzelnen Aufgabenkategorien sind manchmal recht lang. Fast alle Kategorien haben Unterkategorien, dadurch werden auch hier die views recht lang. Ich könnte natürlich diese Unterkategorien auch alle auslagern, dadurch würde mein Code aber sicher nicht übersichtlicher.
Ich vermute aber, dass ich mit meinem Rechenduell an neue Grenzen stoße und könnte mir vorstellen, dass ich mich jetzt auch noch mit JavaScrip beschäftigen muss und Routinen auf dem Client ausführen muss. Es wäre schön, wenn mir da jemand eine Einschätzung dazu geben könnte.
Ich versuche mal die einzelnen Schritte meines Duells grob aufzuzeigen:
Code: Alles auswählen
Eine Aufgabenkategorie für das Duell wird aufgerufen (insgesamt werden 10 Aufgaben nacheinander angezeigt):
while keine 10 Aufgaben und kein Abbruch:
erzeuge Aufgabe
lose zwei Duellanten aus
while keine Eingabe und y Sekunden:
zeige die Aufgabe an
zeige Sekunden und erneuere jede Sekunde die Anzeige
while x Sekunden
zeige x * in den Namefeldern an
(nach x Sekunden:)
zeige die beiden Namen an
(nach y Sekunden:)
die Ausgelosten bekommen Punktabzug weil sie keine Antwort hatten
lose neue Duellanten aus und zeige die Namen an
wenn Eingabe erfolgt: überprüfe die Eingabe
if richtig:
Punktevergabe
neue Aufgabe
neue Duellanten
else:
Punktvergabe
alte Aufgabe bleibt bestehn (maximal 3 Versuche)
Nach 10 Aufgaben oder Abbruch
zurück zur Übersicht, Anzeige des Punktestandes
Die Zeit y legt fest, wann automatisch neue Duellanten ausgelost wurden, da die ersten beiden keine Antwort wussen
Die Zeit x legt fest, wie lange Sternchen im Namenfeld gezeigt werden, bevor die Namen angezeigt werden. Damit sollen alle im Raum schon mal rechnen. Und hier vermute ich, komme ich mit meinem Code nicht mehr sinnvoll weiter. Ich müsste nach jeder Sekunde bis zur Veröffentlichung der Namen mein template erneueren ich vermute, das kann man auch auf dem Client erledigen lassen.
Habt ihr da Tipps, wie ich da rangehe?