Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -w
- #Benötigte Packages einbinden
- use strict;
- #Variabeln initalisieren
- my $i;
- my $frage;
- my $antw_1;
- my $antw_2;
- my $antw_3;
- my $antw_4;
- my $loesung;
- my $zeile;
- my $zeilen;
- my @zeilen;
- my $anzahl;
- my $enter;
- my $ergebnis;
- my $username;
- my $antwort;
- my $richtig=0;
- my $falsch=0;
- my @high;
- my $anzahl_high;
- #Die Datei quiz.csv öffnen und nach "DATEN" einlesen
- open(DATEN, "fragen.csv")
- or die "Fehler beim Öffnen der Datei für die Fragen und Antworten des Spiels";
- #Anzahl der Fragen/Zeilen
- @zeilen = <DATEN>;
- $anzahl = @zeilen;
- #Säubern des Terminals
- system("clear");
- #Hauptmenü mit Namenseingabe
- print "*"x21, "\n";
- print "* Who doesn't know? *\n";
- print "*"x21, "\n";
- print "Bitte deinen Namen eingeben: ";
- $username = <STDIN>;
- chomp($username);
- #Säubern des Terminals
- system("clear");
- #Spielmenü
- print "*"x21, "\n";
- print "* Who doesn't know? *\n";
- print "*"x21, "\n";
- print "Hallo $username wir beginnen nun mit der ersten Frage.\n";
- #Beginn des Quizes
- for($i=0; $i < $anzahl; $i++)
- {
- #Aufspaltung der Werte durch die Funktion "split"
- ($frage, $antw_1, $antw_2, $antw_3, $antw_4, $loesung) = split(/;/,@zeilen[$i]);
- #Beginn der Fragestellungen
- print $frage."\n";
- print "\tA) ".$antw_1."\n";
- print "\tB) ".$antw_2."\n";
- print "\tC) ".$antw_3."\n";
- print "\tD) ".$antw_4."\n";
- print "Antwort: ";
- $antwort = <STDIN>;
- chomp($antwort);
- chomp($loesung);
- #Aus/Bewertung der Antworten
- if($antwort eq $loesung)
- {print "Richtig\n"; $richtig++}
- else
- {print "Falsch\n"; $falsch++}
- }
- #Ausgabe des Spielergebnisses
- $ergebnis=($richtig/$anzahl)*100;
- print "$username, du hast $richtig, von $anzahl Fragen richtig, das sind $ergebnis%\n";
- print "Drücke Enter um weiter zum Highscore zu gelangen...";
- $enter=<STDIN>;
- #Highscore
- #Datei für den Highscore öffnen
- open(HIGH >> "high.csv")
- or die "Datei für den Highscore konnte nicht gefunden/geöffnet werden";
- #Inhalt der high.csv einlesen
- @high = <HIGH>;
- #Schreiben der neuen Highscorezeile
- print HIGH "$username;$ergebnis richtig";
- #Schließen/Schreiben der high.csv
- close(HIGH)
- or die "Fehler beim schreiben der Datei für die Highscores";
- #Die Datei quiz.csv wird geschlossen
- close(DATEN)
- or die "Fehler beim schließen der Datei für die Fragen und Antworten des Spiels";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement