Hi Hier ist das Grundgerüst für ein Simples Quiz:
Zuerst brauchen wir eine Ini Datei das das Auslesen der Fragen für andere erschwert wird nennen wir sie nicht .ini sondern .fragen. Also erstellt eine Textdatei mit Folgendem Inhalt:
Spoiler
[FRAGEN]
1=Funktioniert das Hier?
[ANTWORTEN1]
1=Ja
2=Nein
Und Speichert sie als tut.fragen ab!
Dann erstellt ein Objekt ins Create Event kommt folgendes:
Spoiler
GML
1
2
3
4
5
6
7
8
9
10
11
var an, frage1, antwort1, antwort2; //Definiert Variablenini_open("tut.fragen") //Öffnet die .fragen Datei
frage1=ini_read_string("FRAGEN","1",1) // Liest die Frage aus und Speichert sie in frage1
antwort1=ini_read_string("ANTWORTEN1","1",1) //Liest die 1. Antwortsmöglichkeit aus und Speichert sie in antwort1
antwort2=ini_read_string("ANTWORTEN1","2",1) //Liest die 2. Antwortsmöglichkeit aus und Speichert sie in antwort2ini_close() //Schließt die Datei
an=show_message_ext(frage1,antwort1,"",antwort2) // Messagebox mit 2 Knöpfen wird angezeigtif an=1//Wenn Button 1 gedrückt ist dann
{show_message("Richtig") game_restart()} // Zeigt es eine Nachricht Richtigif an=3//Wenn Button 3 gedrückt ist
{show_message("Falsch") game_restart()} //Zeigt es eine Nachrich Falsch
Mal ne Frage: Braucht man dann überhaupt ne INI-Datei, wenn man eh alle Rätsel-Fragen einzeln abfragen muss?
Da kann man doch auch gleich alle Fragen in einem Skript erstellen und dann einzeln abfragen.
Ist zumindest dann besser geschützt als eine INI-Datei.
@Henrik135:
Man muss den Code nicht kopieren. Es reicht eine Schleife:
GML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var an, frage1, antwort1, antwort2; //Definiert Variablenini_open("tut.fragen") //Öffnet die .fragen Dateifor (i=0; i<ANZAHL DER FRAGEN; i+=1)
{
frage1=ini_read_string("FRAGEN",string(i),1) // Liest die Frage aus und Speichert sie in frage1
antwort1=ini_read_string("ANTWORTEN"+string(i),"1",1) //Liest die 1. Antwortsmöglichkeit aus und Speichert sie in antwort1
antwort2=ini_read_string("ANTWORTEN"+string(i),"2",1) //Liest die 2. Antwortsmöglichkeit aus und Speichert sie in antwort2
an=show_message_ext(frage1,antwort1,"",antwort2) // Messagebox mit 2 Knöpfen wird angezeigtif an=1//Wenn Button 1 gedrückt ist dann
{show_message("Richtig") game_restart()} // Zeigt es eine Nachricht Richtigif an=3//Wenn Button 3 gedrückt ist
{show_message("Falsch") game_restart()} //Zeigt es eine Nachrich Falsch
}
ini_close() //Schließt die Datei
Ist ungetestet.
@Benni1000:
Bei deinem Quiz gibt es noch das Problem, dass das ändern der Endung keine Sicherheit bietet und dass immer der erste Button richtig ist. Das solltest du mit choose(1,2) o.ä. ändern
Ich weiß das das ändern nicht wirklich sicher ist aber bei Leuten die nicht wissen das das eine Ini ist ist es besser als eine .ini ... Das der 1.Buttton immer Richtig ist ist nicht so da ich das ganze ohne Schleife gelöst habe also muss man das immer ändern. Da ich leider noch Gml Anfänger bin -.- hab ich auch 0 Ahnung wie man das in einer Schleife ändern kann.
Rette den Regenwald und suche mit http://ecosia.org/
Die Natur wird es euch danken!
var an, correct_num; //Definiert Variablen ini_open("tut.fragen") //Öffnet die .fragen Datei for (i=0; i<ANZAHL DER FRAGEN; i+=1)
{
frage=ini_read_string("FRAGEN",string(i),1) // Liest die Frage aus und Speichert sie in frage1
ans[1]=ini_read_string("ANTWORTEN"+string(i),"1",1) //Liest die 1. Antwortsmöglichkeit aus und Speichert sie in antwort1
ans[2]=ini_read_string("ANTWORTEN"+string(i),"2",1) //Liest die 2. Antwortsmöglichkeit aus und Speichert sie in antwort2
ans[3]=ini_read_string("ANTWORTEN"+string(i),"3",1) //Liest die 2. Antwortsmöglichkeit aus und Speichert sie in antwort2
an[1] = chose(ans[1],ans[2],ans[3]);
if an[1] = ans[1]
{
correct_num =1;
an{2] = chose[ans[2],ans[3])
if an[2] = ans[2]
{
an[3] = ans[3]
}
else
an[3] = ans[2]
}
if an[1] = ans[2]
{
an{2] = chose[ans[1],ans[3])
if an[2] = ans[1]
{
correct_num =2;
an[3] = ans[3]
}
else
{
an[3] = ans[1]
correct_num =3;
}
}
if an[1] = ans[3]
{
an{2] = chose[ans[1],ans[2])
if an[2] = ans[1]
{
correct_num =2;
an[3] = ans[2]
}
else
an[3] = ans[1]
correct_num =3;
}
an=show_message_ext(frage,an[1],an[2],an[3]) // Messagebox mit 2 Knöpfen wird angezeigt if an=correct_num //Wenn Button 1 gedrückt ist dann show_message("Richtig")
else {show_message("Falsch") game_restart()} //Zeigt es eine Nachrich Falsch
}
ini_close() //Schließt die Datei
hier mit chose, war garnicht so einfach.
Hoffe es funtioniert.
In die INI muss die richtige Antwort weiterhin die erste sein.
Willst du auf diese Drachen und -eier klicken?
Sie werden sich freuen
Hmm Danke! Aber ich hab extra ein eigenes (leicht) verständliches Tut gemacht weil das andere so komplex war und jetzt ist meins auch so xD Mit Kopieren und Einfügen gehts nämlich auch super!
Rette den Regenwald und suche mit http://ecosia.org/
Die Natur wird es euch danken!