+ Antworten
Ergebnis 1 bis 15 von 15

Pragrammmieren C# - Würfel

Eine Diskussion über Pragrammmieren C# - Würfel im Forum Hausaufgaben. Teil des Reallife-Bereichs; Moin ihr Lieben! In unserer Förderstunde hatten wir Programmieren und mein Sitznachtbar hat ein Würfelspiel realisiert, wo man zwei zahlen ...

  1. #1
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13

    Pragrammmieren C# - Würfel

    Moin ihr Lieben!
    In unserer Förderstunde hatten wir Programmieren und mein Sitznachtbar hat ein Würfelspiel realisiert, wo man zwei zahlen (Hier unterste zahl und oberste Zahl) als Ober und Untergrenze eingeben kann (Einfach welche Zahlen der Würfel nutzen darf).
    Außerdem ein weiteres Eingabefeld, womit man eine "Ratezahl" eingeben kann, damit man "spielen" kann.
    Ein Button, der eine random Zahl generiert und gleichzeitig prüft, ob meine eingegebene Ratezahl, zuhoch, zuniedrig oder genau richtig ist.

    Das ist das Spiel, nun zum Problem, ich kann es nicht mit einen Button realisieren, was mein Nachtbar aber geschafft hat.
    Er hatte iwie eine Sperre gemacht oder so, weiß aber nicht mehr, ich geb euch mal den Code:

    Code:
    private void cmdwürfle_Click(object sender, EventArgs e)
            {
                int Start = Convert.ToInt32(txtStart.Text);             //Die Variable Start wird defeniert und ist die Eingabe aus txtStart.
                int Ende = Convert.ToInt32(txtEnde.Text);               //Die Variable Ende wird defeniert und ist die Eingabe aus txtEnde.
                int Schätzung = Convert.ToInt32(txtEingabe.Text);       //Die variable Schätzung wird defeniert und ist die Eingabe aus txtEingabe.
                int wurf;                                               //Die Variable wurf wied definiert.
                Random würfle = new Random();                           //Die Zufallsvariable würfle wird definiert.
                wurf = würfle.Next(Start, Ende + 1);                    //Die Variable wurf entspricht der Zufallsvariable würfel welche die Grenzwerte Start und Ende besitzen und mit 1 addiert werden.
                 
                if (Schätzung == wurf)                                  //Wenn Schätzung gleich wurf ist,
                {
                    MessageBox.Show("U Got It");                        //Zeige die Messagebox mit Inhalt an.
                }
    
                else if (Schätzung > wurf)                              //Wenn die Schätzung größer als wurf ist,
                {
                    MessageBox.Show("Zuhoch");                          //Zeige die Messagebox mit Inhalt an.
                }
    
                else if (Schätzung < wurf)                              //Wenn die Schätzung kleiner als wurf ist,
                {
                    MessageBox.Show("zuniedrig");                       //Zeige die Messagebox mit Inhalt an.
                }
    
              
            }

    Hoffe ihr könnt mir helfen =}
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht 

Name:	Würfless.JPG 
Hits:	104 
Größe:	198,1 KB 
ID:	59317  

  2. #2
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Ist der Eventhandler ( cmdwürfle_Click ) registriert ?

    Meist in der Designer.cs
    this.cmdwürfle.Click += new System.EventHandler(this.cmdwürfle_click);

    MfG
    Gonzo

  3. #3
    Feldwebel
    Avatar von Apprauuuu
    Registriert seit
    09.11.2002
    Ort
    Leverkusen
    Alter
    28
    Beiträge
    1.473
    Ein Tipp:
    Die Dtaei mit dem Formulardesign würde ich besser (vor allem als Anfänger) besser nicht anrühren ^^
    Gonzo hat wohl schon die eigentliche Lösung genannt =)

  4. #4
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Ein Doppelklick im Designer auf den Button fügt den Eventhandler automatisch hinzu, glaub ich jetzt mal
    Ausserdem fügt die IDE möglicherweise dann auch den Funktionskopf
    'private void cmdwürfle_Click(object sender, EventArgs e)'
    nochmals in die entsprechende Datei ein, den musst du dann ggf. wieder löschen.

    MfG
    Gonzo

  5. #5
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Kay, werde mal versuchen, den Befehl in den Button zuschreiben, mal sehn obs klappt.

    Edit: Hab mal "this.cmdwürfle.Click += new System.EventHandler(this.cmdwürfle_click);" eingefügt und musste feststellen, dass der Würfel immer weiter neu würfelt, und dabei eine Entlosschleife macht, bis er das richtige Ergebnis hat, ich schaus mir nochmal an, weiß aber nicht, ob ichs schaffe.

  6. #6
    Big & Tasty
    Avatar von baracuda
    Registriert seit
    10.11.2007
    Ort
    Köln
    Alter
    28
    Beiträge
    3.692
    Name
    Kevin
    Wäre gut zu wissen was überhaupt passiert?
    Macht er nichts wenn du auf den Button drückst?
    Wenn ja musst du die Funktion cmdwürfle_Click natürlich beim click auf den Button ausführen lassen, bin jetzt kein C# spezi und das Thema liegt schon weit zurück

  7. #7
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Wenn ich auf den Button klicke, macht er dennoch neue Zufallszahlen, nur hab ich diesmal das Problem, dass ich durch der ersten Eingabe, eine Schleiße entsteht, die solange aktiv ist, bis ich die Zufallszahl "erraten" habe.

    Ich kann also keine andere Zahl angeben und muss warten.

  8. #8
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Zitat Zitat von zokker13 Beitrag anzeigen
    Kay, werde mal versuchen, den Befehl in den Button zuschreiben, mal sehn obs klappt.

    Edit: Hab mal "this.cmdwürfle.Click += new System.EventHandler(this.cmdwürfle_click);" eingefügt und musste feststellen, dass der Würfel immer weiter neu würfelt, und dabei eine Entlosschleife macht, bis er das richtige Ergebnis hat, ich schaus mir nochmal an, weiß aber nicht, ob ichs schaffe.
    Wie bzw. wo hast du das eingefügt ?

    MfG
    Gonzo

  9. #9
    ♥ Yoshi ♥
    Avatar von Toad
    Registriert seit
    17.04.2009
    Ort
    Pandora
    Alter
    24
    Beiträge
    9.979
    Name
    Glutexo
    Clans
    MCG
    Probiers mal so. "bool start" musst du Global definieren und beim start "false" setzen.
    1.  
    2. bool start = false;
    3. private void cmdwürfle_Click(object sender, EventArgs e)
    4. {
    5. int Schätzung = Convert.ToInt32(txtEingabe.Text); //Die variable Schätzung wird defeniert und ist die Eingabe aus txtEingabe.
    6. if(start == false)
    7. {
    8. int Start = Convert.ToInt32(txtStart.Text); //Die Variable Start wird defeniert und ist die Eingabe aus txtStart.
    9. int Ende = Convert.ToInt32(txtEnde.Text); //Die Variable Ende wird defeniert und ist die Eingabe aus txtEnde.
    10. int wurf; //Die Variable wurf wied definiert.
    11. Random würfle = new Random(); //Die Zufallsvariable würfle wird definiert.
    12. wurf = würfle.Next(Start, Ende + 1); //Die Variable wurf entspricht der Zufallsvariable würfel welche die Grenzwerte Start und Ende besitzen und mit 1 addiert werden.
    13. start = true;
    14. }
    15. if (Schätzung == wurf) //Wenn Schätzung gleich wurf ist,
    16. {
    17. MessageBox.Show("U Got It"); //Zeige die Messagebox mit Inhalt an.
    18. start = false;
    19. }
    20.  
    21. else if (Schätzung > wurf) //Wenn die Schätzung größer als wurf ist,
    22. {
    23. MessageBox.Show("Zuhoch"); //Zeige die Messagebox mit Inhalt an.
    24. }
    25.  
    26. else if (Schätzung < wurf) //Wenn die Schätzung kleiner als wurf ist,
    27. {
    28. MessageBox.Show("zuniedrig"); //Zeige die Messagebox mit Inhalt an.
    29. }
    30.  
    31.  
    32. }
    33.  

    Int wurf sollte auch global sein

    Edit: hab gerade mitbekommen dass es in c# keine globalen variablen mehr geben soll. also wirds wahrscheinlich nicht funktionieren sry
    Geändert von Toad (19.01.2010 um 13:45 Uhr)

  10. #10
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Innerhalb einer Klasse gibt es globale Variablen, ist hier aber völlig unnötig da die Funktion eh nur aufgerufen wird wenn man auf den Button drückt.
    Ich vermute mal, dass der Eventhandler an der falschen Stelle deklariert ist, die Funktion als solche sieht korrekt aus.

    MfG
    Gonzo

  11. #11
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Ich habe deinen Code in den Button, ganz obe, über den If- Befehl gesetzt.

  12. #12
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Dort ist es natürlich falsch, schau dir meine Beiträge weiter oben an ( beide ), da habe ich beschrieben wo es hingehört und wie du es dort hinbekommst.
    Wenn es dir nur darum geht es zum Laufen zu bekommen, hänge das Projekt hier als Anhang rein, dann bastel ich dir das hin

    MfG
    Gonzo

  13. #13
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    ich komm echt nicht kla
    Hier die File, danke!
    Angehängte Dateien Angehängte Dateien

  14. #14
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Bitte schön
    Allerdings kann man damit ja immer nur ein mal pro würfeln raten.
    Angehängte Dateien Angehängte Dateien

    MfG
    Gonzo

  15. #15
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Jow, danke dir!

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •