tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
329
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    toffi Tutorials.de Gastzugang
    Hallo,
    ich hoffe ihr könnt mir helfen.

    Ich habe das Problem, dass der gefundene Buchstabe nicht ersetzt wird, der Rest funktioniert.

    Hier einmal der Code:
    Code csharp:
    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
    
          private void weiter_Click(object sender, EventArgs e)
            {
                gwort = gesuchteswort.Text;
                for (int zeichen = gwort.Length; zeichen > 0; zeichen--)
                {
                    lösung += "-";
                    loesung.Text = lösung;
                }
            }
     
          private void Test_Click(object sender, EventArgs e)
            {
                Boolean result = true;
                string buchs = eingegebenerbuchstabe.Text;
                string k;
     
                for (int i = 0; i < gwort.Length; i++)
                {
                    int j = 0;
                    k = lösung.Substring(j,1);
     
                    if (result = k.Equals("a") && buchs == "a")
                        k = "a";
                     .....
                    if (result = k.Equals("z") && buchs == "z")
                        k = "z";
                    j += 1;
                }
     
                if (result == false)
                {
                    used.Text += buchs;
                    fail += 1;
                    if (fail == 1)
                        basis.Visible = true;
                    if (fail == 2)
                        part1.Visible = true;
                        ....
                    if (fail == 11)
                    {
                        part10.Visible = true;
                        MessageBox.Show("Du hast verloren, das Wort war '"+gwort+"'", "Pech");
                    }
                    result = true;
                }            
                loesung.Text = lösung;
     
                if (loesung.Text == gwort)
                {
                    MessageBox.Show("Du hast Gewonnen","Glückwunsch");
                }
            }
    Vermutlich geht es auch einfacher doch ich würd es gerne in dieser (oder einer sehr ähnlichen form) lösen.
    Falls es dieses Thema schon gibt, habe ich es nicht gefunden, könnte dann jemand evtl. den link posten?
    Geändert von Nico Graichen (03.01.11 um 23:50 Uhr) Grund: Code-Tags hinzugefügt
     

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi und herzlich willkommen

    Ich hab das Thema mal ins .NET-Forum verschoben
    Ich kann jetzt nur vermuten, wo genau dein Problem liegt! Gehts um die Variable "k"? Du weißt diesem zwar einen Wert zu, aber schreibst diese später nicht wieder in die Lösung
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    toffi Tutorials.de Gastzugang
    ja da liegt wohl das Problem
    nur wiir bringe ich 'k' jetzt so ein, dass als zwischenlösung dann (z.b. bei hallo) -a---- da steht?

    schonmal danke für die schnelle antwort
     

  4. #4
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    In deiner Schleife baust du den String schon wieder zusammen, wenn der Buchstabe enthalten ist (das weißt du ja) setzt du ihn in den Lösungsstring, ansonsten ein "-".
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  5. #5
    toffi toffi ist offline Anfänger
    Registriert seit
    Jan 2011
    Beiträge
    3
    Meinst du so?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     for (int i = 0; i < gwort.Length; i++)
                {
                    int j = 0;
                    k = lösung.Substring(j,1);
     
                    if (result = k.Equals("a") && buchs == "a")
                        k = "a";
                    else
                        k = "-";
                    j += 1;
                    loesung.Text = lösung;
                }

    Grad getestet, funktioniert leider auch nicht.
     

  6. #6
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    Zitat Zitat von toffi Beitrag anzeigen
    Grad getestet, funktioniert leider auch nicht
    Was genau funktioniert hier denn nicht

    Ich hoffe, Du meinst nicht diese Zeile :
    Zitat Zitat von toffi Beitrag anzeigen
    k = lösung.Substring(j,1);


    Zitat Zitat von toffi Beitrag anzeigen
    Meinst du so?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    for (int i = 0; i < gwort.Length; i++)
    {
        int j = 0;
        k = lösung.Substring(j,1);
     
        if ( result = k.Equals("a") && buchs == "a" )
            k = "a";  // hmm, Du solltest hier vermutlich mit <+= "a"> arbeiten, aber dann auch auf einer anderen Variable !!
        else
            k = "-";  // hmm, Du solltest hier vermutlich mit <+= "a"> arbeiten, aber dann auch auf einer anderen Variable !!
        
        j += 1;
        loesung.Text = lösung;
    }
    siehe meine Kommentare - so hast Du allenfalls nur den letzten Buchstaben auf dem String k stehen !

    gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  7. #7
    toffi toffi ist offline Anfänger
    Registriert seit
    Jan 2011
    Beiträge
    3
    Das Problem ist, egal was ich als Wort nehme (auch bei 'aaa'), wird mir 'a' als falscher Buchstabe angezeigt und der Lösungstext ändert sich nicht.

    In der If- Abfrage habe ich jetzt auch mal eine andere Variable als 'k' zum Zwischenspeichern genommen (auch mit += "a"). Das Ergebnis bleibt das gleiche.
     

  8. #8
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Du änderst doch den String "lösung" nicht. Das heißt, du schreist das in die TextBox/Label, was vorher drin stand.
    Erstelle eine tempäre Variable. An diese fügst du ein "-" (mit +=), wenn das Zeichen in der Lösung nicht enthalten ist oder eben das richtige Zeichen, wenn die Eingabe korrekt war.

    Diesen String schreibst du dann in die TextBox.

    Zudem solltest du dich mit dem Debugger vertraut machen. Wenn du mit der Maus über eine Variable/Property gehst, wird die angezeigt, welchen Wert diese hat. So kannst du auch besser verfolgen, wie dein Programm arbeitet
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  9. #9
    toffi toffi ist offline Anfänger
    Registriert seit
    Jan 2011
    Beiträge
    3
    Hey,
    Danke für den Tipp mit dem Debugger, das hat mir sehr geholfen.
    Dadurch konnte ich auch noch andere Fehler finden.

    Es funktioniert auch endlich.
    Jetzt muss ich das nur noch für alle Buchstaben machen und ich habs geschafft.

    Vielen Dank an euch.
     

  10. #10
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Bitte schön!
    Markier den Thread bitte noch als "erledigt" (der Button neben "auf Thema antworten)! Danke!
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

Ähnliche Themen

  1. Hangman
    Von deiwid im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 09.11.07, 09:10
  2. hangman
    Von madzalicious im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 30.10.07, 16:24
  3. Hangman Problem
    Von Dede16 im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 26.05.05, 15:44
  4. Hangman
    Von teekanne im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 07.02.04, 23:52
  5. Hangman in Delphi
    Von haldjo1 im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 22.11.02, 16:56