Leser: 1
9 Einträge, 1 Seite |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
#!/usr/bin/perl use strict; use warnings; my $dbfile = "learnIT.db"; open(my $dbh, "<",$dbfile) or die $!; my @db = <$dbh>; close $dbh; my $good = 0; my $bad = 0; my $count = 0; my $length = $#db + 1; print $db[int rand($#db)]; sub clear { my $sleeptime = shift; sleep("$sleeptime"); system("clear"); print("##############################\n## LearnIT by Florian L ##\n## ##\n## type 'exit' to quit... ##\n## ##\n### ###########################\n"); } #clear(0); sub getrand { my $random = int(rand(3)); return $random; } foreach (@db) { my (undef,$question_nr,$question, $answer_a, $answer_b, $answer_c, $answer_d) = split(/\.:\./, $_); my $randnum = getrand(); $count++; if ($randnum == 0) { print("\n$question_nr $question\n------------------------------\n"); print("a) $answer_a\nb) $answer_b\nc) $answer_c\nd) $answer_d\n"); TYPEA: print("\nAntwort: "); chomp(my $answer = <STDIN>); if ($answer eq 'd') { print("\n-Korrekt-\n"); $good++; clear(2); } elsif ($answer eq 'exit') { print("Von $count Fragen wurden $good richtig beantwortet, es wurden dabei $bad falsche Antworten gegeben.\n"); exit; } else { print("Leider falsch, try again...\n"); $bad++; goto TYPEA; } } elsif ($randnum == 1) { print("\n$question_nr $question\n------------------------------\n"); print("a) $answer_b\nb) $answer_c\nc) $answer_d\nd) $answer_a\n"); TYPEB: print("\nAntwort: "); chomp(my $answer = <STDIN>); if ($answer eq 'c') { print("\n-Korrekt-\n"); $good++; clear(2); } elsif ($answer eq 'exit') { print("Von $count Fragen wurden $good richtig beantwortet, es wurden dabei $bad falsche Antworten gegeben.\n"); exit; } else { print("Leider falsch, try again...\n"); $bad++; goto TYPEB; } } elsif ($randnum == 2) { print("\n$question_nr $question\n------------------------------\n"); print("a) $answer_c\nb) $answer_d\nc) $answer_a\nd) $answer_b\n"); TYPEC: print("\nAntwort: "); chomp(my $answer = <STDIN>); if ($answer eq 'b') { print("\n-Korrekt-\n"); $good++; clear(2); } elsif ($answer eq 'exit') { print("Von $count Fragen wurden $good richtig beantwortet, es wurden dabei $bad falsche Antworten gegeben.\n"); exit; } else { print("Leider falsch, try again...\n"); $bad++; goto TYPEC; } } elsif ($randnum == 3) { print("\n$question_nr $question\n------------------------------\n"); print("a) $answer_d\nb) $answer_a\nc) $answer_b\nd) $answer_c\n"); TYPED: print("\nAntwort: "); chomp(my $answer = <STDIN>); if ($answer eq 'a') { print("\n-Korrekt-\n"); $good++; clear(2); } elsif ($answer eq 'exit') { print("Von $count Fragen wurden $good richtig beantwortet, es wurden dabei $bad falsche Antworten gegeben.\n"); exit; } else { print("Leider falsch, try again...\n"); $bad++; goto TYPED; } } } print("\nVon $count Fragen wurden $good richtig beantwortet,\nes wurden dabei $bad falsche Antworten gegeben.\n");
1
2
3
.:.1.:.Frage.:.Antwort1.:.Antwort2.:.Antwort3.:.Antwort4.:.
.:.2.:.Frage2.:.Antwort21.:.Antwort22.:.Antwort23.:.Antwort24.:.
.:.3.:.Frage3.:.Antwort31.:.Antwort32.:.Antwort33.:.Antwort34.:.
FlorianL+2007-11-07 15:30:16--
print $db[rand @db];
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
#!/usr/bin/perl use strict; use warnings; use List::Util; my $dbfile = "learnIT.db"; open(my $dbh, "<",$dbfile) or die $!; my @db = <$dbh>; close $dbh; my $good = 0; my $bad = 0; my $count = 0; sub clear { my $sleeptime = shift; sleep("$sleeptime"); system("clear"); print("##############################\n## LearnIT by Florian L ##\n## ##\n## type 'exit' to quit... ##\n## ##\n### ###########################\n"); } #clear(0); sub getrand { my $random = int(rand(3)); return $random; } foreach (@db) { my (undef,$question_nr,$question, @answers) = split(/\.:\./, $_); my $randnum = getrand(); $count++; my @tmp = shuffle @answers; WHILELOOP: while( 1 ){ print qq~ $question_nr $question ------------------------------ 1) $tmp[0] 2) $tmp[1] 3) $tmp[2] 4) $tmp[3] Antwort:~; chomp(my $answer = <STDIN>); if( $answer =~ /^\d$/ and $tmp[$answer] eq $answers[3] ){ print "\n-Korrekt-\n"; $good++; clear(2); last WHILELOOP; } elsif( $answer eq 'exit' ){ print "Von $count Fragen wurden $good richtig beantwortet, es wurden dabei $bad falsche Antworten gegeben.\n"; exit; } else{ print "Leider falsch, try again...\n"; $bad++; } } } print "\nVon $count Fragen wurden $good richtig beantwortet,\nes wurden dabei $bad falsche Antworten gegeben.\n";
1 2 3 4 5 6 7 8 9
sub shuffle (@) { my @a=\(@_); my $n; my $i=@_; map { $n = rand($i--); (${$a[$n]}, $a[$n] = $a[$i])[0]; } @_; }
9 Einträge, 1 Seite |