tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von renee
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1619
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Radmor Radmor ist offline Rookie
    Registriert seit
    Jul 2007
    Beiträge
    7
    Hallo,

    ich bin dabei das Spiel "Hangman" in Perl zu entwickeln.
    Bis jetzt sieht mein Code so aus:
    Code :
    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
    
    #!/usr/bin/perl -w
     
    @moeglichewoerter = ("Kekse", "Schokolade", "Erdbeere", "Blaubeere");
    $anzahl = @moeglichewoerter;
     
    $zufallszahl = rand() * 100 % $anzahl;
     
    $ergebnis = '';
    $wort = '';
    $eingabe = '';
    $wort = $moeglichewoerter[$zufallszahl];
    $wortlaenge = length($wort);
     
    #in $ergebnis wird gespeichert, was der Benutzer sieht.
    #in $wort das zu erratene Wort.
     
    #Striche erzeugen
    for ($i = 0; $i < $wortlaenge;$i++)
    {
        $ergebnis .= "-";
    }
     
    #Raten
    do {
        #system("cls");
        
        print "Das Wort hat $wortlaenge Buchstaben.\n";
        print "\n".$ergebnis."\n";
     
        print "\nGib einen Buchstaben ein: ";
        chomp($eingabe = <STDIN>);
        
        #Prüft ob der eingegebene Buchstabe im Wort vorkommt
        if ($wort =~ /$eingabe/gi) 
        {
            print "Der Buchstabe kommt vor\n";
        }
    } while ($wort ne $ergebnis);

    Mir gelingt zwar die Prüfung, ob der eingegebene Buchstabe in dem zu erratenen Wort vorkommt. Allerdings weiss ich nicht wie ich es schaffe, dass die schon erratenen Buchstaben in die Variable $ergebnis an die richtige Position geschrieben werden.

    Wie stelle ich das an?

    Gruß
    Radmor
     

  2. #2
    renee renee ist offline Mitglied Brokat
    Registriert seit
    Jan 2004
    Beiträge
    332
    Dieses Beispielskript sollte Dir helfen. Das macht genau das was Du willst. Du musst es nur noch in Dein Skript einbauen. Fragen? Fragen!

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    my $string     = 'Hilfe';#'Ententanz';
    my $quizstring = '-' x length $string;
    my $char       = 't';
     
    while( $string =~ /($char)/g ) {
        my $pos = pos $string;
        substr( $quizstring, $pos-1, 1, $char );
    }
     
    print $quizstring,"\n";
    Radmor bedankt sich. 

  3. #3
    Radmor Radmor ist offline Rookie
    Registriert seit
    Jul 2007
    Beiträge
    7
    Vielen Dank!
    Dein Beispiel hat geholfen.
     

Ähnliche Themen

  1. [VB.NET] Bestimmte Zeile einer Textdatei ersetzen
    Von Masterclavat im Forum .NET Café
    Antworten: 2
    Letzter Beitrag: 28.04.08, 21:51
  2. Bestimmte Buchstaben darstellen?
    Von jackie05 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 27.03.08, 19:27
  3. Buchstaben ersetzen
    Von Zuecho im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 14.04.07, 13:14
  4. Bestimmte Wörter in einer Textdatei ersetzen
    Von Fr3dd1 im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 15.03.07, 16:54
  5. Bestimmte Buchstaben entfernen
    Von Freak im Forum PHP
    Antworten: 5
    Letzter Beitrag: 04.03.06, 11:23