Advertisement
Guest User

Untitled

a guest
May 29th, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 2.33 KB | None | 0 0
  1. #!/usr/bin/perl -w
  2.  
  3. #Benötigte Packages einbinden
  4. use strict;
  5.  
  6. #Variabeln initalisieren
  7. my $i;
  8. my $frage;
  9. my $antw_1;
  10. my $antw_2;
  11. my $antw_3;
  12. my $antw_4;
  13. my $loesung;
  14. my $zeile;
  15. my $zeilen;
  16. my @zeilen;
  17. my $anzahl;
  18. my $enter;
  19. my $ergebnis;
  20. my $username;
  21. my $antwort;
  22. my $richtig=0;
  23. my $falsch=0;
  24. my @high;
  25. my $anzahl_high;
  26.  
  27. #Die Datei quiz.csv öffnen und nach "DATEN" einlesen
  28. open(DATEN, "fragen.csv")
  29.     or die "Fehler beim Öffnen der Datei für die Fragen und Antworten des Spiels";
  30.    
  31. #Anzahl der Fragen/Zeilen  
  32. @zeilen = <DATEN>;
  33. $anzahl = @zeilen;
  34.  
  35. #Säubern des Terminals
  36. system("clear");
  37.  
  38. #Hauptmenü mit Namenseingabe
  39. print "*"x21, "\n";
  40. print "* Who doesn't know? *\n";
  41. print "*"x21, "\n";
  42. print "Bitte deinen Namen eingeben: ";
  43.     $username = <STDIN>;
  44.     chomp($username);
  45.    
  46. #Säubern des Terminals
  47. system("clear");
  48.  
  49. #Spielmenü
  50. print "*"x21, "\n";
  51. print "* Who doesn't know? *\n";
  52. print "*"x21, "\n";
  53. print "Hallo $username wir beginnen nun mit der ersten Frage.\n";
  54.  
  55. #Beginn des Quizes
  56. for($i=0; $i < $anzahl; $i++)
  57.     {
  58.     #Aufspaltung der Werte durch die Funktion "split"
  59.     ($frage, $antw_1, $antw_2, $antw_3, $antw_4, $loesung) = split(/;/,@zeilen[$i]);
  60.    
  61.     #Beginn der Fragestellungen
  62.     print $frage."\n";
  63.     print "\tA) ".$antw_1."\n";
  64.     print "\tB) ".$antw_2."\n";
  65.     print "\tC) ".$antw_3."\n";
  66.     print "\tD) ".$antw_4."\n";
  67.     print "Antwort: ";
  68.     $antwort = <STDIN>;
  69.     chomp($antwort);
  70.     chomp($loesung);
  71.    
  72.     #Aus/Bewertung der Antworten
  73.     if($antwort eq $loesung)
  74.         {print "Richtig\n"; $richtig++}
  75.     else
  76.         {print "Falsch\n"; $falsch++}
  77.     }
  78.    
  79. #Ausgabe des Spielergebnisses
  80. $ergebnis=($richtig/$anzahl)*100;
  81. print "$username, du hast $richtig, von $anzahl Fragen richtig, das sind $ergebnis%\n";
  82. print "Drücke Enter um weiter zum Highscore zu gelangen...";
  83. $enter=<STDIN>;
  84.  
  85. #Highscore
  86. #Datei für den Highscore öffnen
  87. open(HIGH >> "high.csv")
  88.     or die "Datei für den Highscore konnte nicht gefunden/geöffnet werden";
  89.    
  90. #Inhalt der high.csv einlesen
  91. @high = <HIGH>;
  92.  
  93. #Schreiben der neuen Highscorezeile
  94. print HIGH "$username;$ergebnis richtig";
  95.  
  96. #Schließen/Schreiben der high.csv
  97. close(HIGH)
  98.     or die "Fehler beim schreiben der Datei für die Highscores";
  99.    
  100. #Die Datei quiz.csv wird geschlossen
  101. close(DATEN)
  102.     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