Wer wird Millionär-artiges Spiel!?

  • Wer wird Millionär-artiges Spiel!?

    Hallo alle zusammen

    Ich habe schon eine Grundidee für mein nächstes Projekt. Und zwar soll das ein Spiel werden, dass Wer wird Millionär ähnelt (nicht grafisch, sondern rein das Prinzip). Was ich aber (bis jetzt) noch nicht umsetzen kann (aus Wissensmangel) ist:

    A: Wie mache ich, dass das Spiel zufällig Fragen aus einer "Liste" aussucht und diese stellt, sodass nicht nach jedem Start das selbe kommt?

    Und B: Wie kann ich den Variabeln klar machen, dass bei Frage x die richtige Antwort y ist?

    Hmmm... ?(

    Ich hoffe, ihr könnt mir helfen und die Frage noch nicht gestellt wurde (muss mich nämlich extrem beeilen das zu schreiben --> cablecom.ch macht probleme!)! Danke. :D


    EDIT
    *****

    Um Fragen mache ich mir keine Sorgen. Wir haben ein Buch mit über 250'000 Fragen aus allen Bereichen des Wissens! Mit jeweils 4 möglichen Antworten, von denen eine richtig ist (markiert)! Grafiker hab' ich auch schon gefunden und wären bereit! Jetzt geht's halt nur noch darum, das umzusetzen. Doch wie schon gesagt: wie???

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Michaelp800 ()

  • Eigentlich ist die Sache recht einfach. Ich würde alle Fragen in eine INI (oder mehrere) packen. Die Sektoren haben dann einfach einen Schlüssel, der über einen Zufallscode angewählt wird. Dann kann man die Frage auslesen. Als Aufbauhilfe:

    Quellcode

    1. [1]
    2. Q=Welche Farbe ist am schönsten?
    3. A=Rot
    4. B=Gelb
    5. C=Grün
    6. D=Blau
    7. R=D
    8. [2]
    9. Q=Wie heisst keine Schwester von Lele?
    10. A=Lala
    11. B=Lulu
    12. C=Frank
    13. D=Lolo
    14. R=C
    15. MaxScore=1232
    Alles anzeigen
    Du könntest auch noch die INIs in verschiedene Kategorien einsortieren und dann nach dem selben Muster erst die INI und dann anstatt einer Zufallsfrage die mit der richtigen Kategorie wählen. Für deine Zwecke würde das hier reichen:

    GML-Quellcode

    1. //Create
    2. ini_open("Fragen.ini")
    3. //Auslöser
    4. sektion = round(random(5)) //für 5 fragen als Beispiel
    5. frage = ini_read_string(sektion, "Q", "Frage konnte nicht gelesen werden!")
    6. antwort_a = ini_read_string(sektion, "A", "Antwort konnte nicht gelesen werden!")
    7. //So geht es dann weiter.
    8. //Ende
    9. ini_close()

    Anzeigen tust du dann die Variablen im Drawevent. Dann fragst du einfach ab, auf welchen Button geklickt wurde und vergleichst die Antwort mit "R" nach dem selben Prinzip. Wenn es stimmt, geht es weiter, wenn nicht - Pech gehabt. Du kannst evtl. noch mit einer Arry arbeiten, um zu verhindern, dass selbe Fragen hintereinander gespielt werden. Das Problem erübrigt sich natürlich, wenn du für jede Spielstufe eine eigene Fragendatei verwendest.

    PS: Ich wäre mit den Fragen aus dem Buch etwas vorsichtig. Die sind urheberrechtlich geschützt und wenn du mehrere rauskopierst, könnte dir das Probleme einbringen.
  • Danke für die Antworten! Das hört sich (für mich als Anfänger) echt nicht einfach an! Dennoch gebe ich mein bestes, um das zu meistern! Ich sage euch, in der Medizin ist's genau das selbe. Der erste Schritt ist verdammt schwierig! Ich meld' mich wieder, bei weiteren Fragen, Problemen, Erfolgen oder was weiss ich... :D

    EDIT
    *****

    OK. Nun eine Frage: Gibt es eine Möglichkeit, das Vorhaben ohne zu scripten umzusetzen? Wenn ja, wie? Wenn nein, dann gefällt mir die Variante von King Andre am besten! Könnte ich in diesem Falle eine genauere Beschreibung für das kriegen, King Andre? Danke.

    PS: Der Mensch ist ein Wesen, dass von Natur aus den bequemsten Weg sucht!!! :D

    EDIT
    *****

    Ou menno! Was bin ich doch nur für ein Holzkopf!!! :no: Es gibt ja noch die GameMaker-Hilfe - sogar auf Deutsch!!! :)Das passiert mir fast bei jedem Programm, welches eine solche Hilfe enthält! Das sind quasi alles Grundtutorials! Hmmm... bin aber sehr wahrscheinlich nicht der einzige! :O Ich werd' mal da ein bisschen rumstöbern. Meldet euch aber trotzdem. ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Michaelp800 ()