tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
904
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    Ich hoffe ich kann alles richtig erklähren.

    Ich habe 4 Windows Forms

    Form1.cs
    Form2.cs
    Highscores.cs
    geschaft.cs

    und natürlich die programm.cs und was sonst noch dazu gehört.

    Ich möchte volgendes machen:

    Das programm leuft so ab... ach was solls, ich copiere alles rein dann seht ihr selbst, und dann stelle ich die Frage.


    die Program.cs
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
     
    namespace Zahlenraten
    {
        static class Program
        {
            /// <summary>
            /// Der Haupteinstiegspunkt für die Anwendung.
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
    }

    die Highscores.cs
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    
    ausing System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
     
    namespace Zahlenraten
    {
        public partial class Highscores : Form
        {
            public Highscores()
            {
                InitializeComponent();
            }
     
            string _filepath = @"C:\Programme\Zahlenraten\Hightscores.doc";
     
     
            private void Highscores_Load(object sender, EventArgs e)
            {
                try
                {
                    StreamReader meineLeseratte = File.OpenText(@_filepath);
                    richHighscores.Text = (meineLeseratte.ReadToEnd());
                    meineLeseratte.Close();
                }
               catch (Exception)
                {
                    richHighscores.Text = "Es wurde noch kein Spiel gespielt";
                }
            }
     
            private void zurück_Click(object sender, EventArgs e)
            {
                this.Close();
            }
     
            private void reset_Click(object sender, EventArgs e)
            {
                MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                DialogResult result;
     
                result = MessageBox.Show(this, "Sind sie sicher, dass sie die Highscores-Tabelle löschen möchten?", "Wollen sie wirklich löschen?", buttons, MessageBoxIcon.Warning);
     
                if (result == DialogResult.Yes)
                {
                    MessageBox.Show(this, "Geht aber noch nicht!ÄTSCH! :-P");
                }
                else
                {
                    MessageBox.Show(this, "Gut, währe eh nicht gegangen -Ha Ha-! :-P");
                }
            }
        }
    }

    die geschaft.cs
    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
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
     
    namespace Zahlenraten
    {
        public partial class geschaft : Form
        {
            public geschaft()
            {
                InitializeComponent();
            }
     
            private void geschaft_Load(object sender, EventArgs e)
            {
                
            }
     
            private void pictureBox1_Click(object sender, EventArgs e)
            {
                this.Close();
            }
        }
    }

    die Form2.cs
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
     
    namespace Zahlenraten
    {
        public partial class Form2 : Form
        {
            public int zzg;
     
     
            public Form2()
            {
                InitializeComponent();
            }
     
            private void Form2_Load(object sender, EventArgs e)
            {
     
            }
     
     
            
            private void button1_Click(object sender, EventArgs e)
            {        
     
                if (radioButton1.Checked == true)
                {
                    System.Random r = new System.Random();
                    zzg = r.Next(11);
                    MessageBox.Show("Es wurde eine Geheimzahl zwischen 1 und 10 erzeugt! Finde sie, und viel Spaß dabei");
                }
                else if (radioButton2.Checked == true)
                {
                    System.Random r = new System.Random();
                    zzg = r.Next(101);
                    MessageBox.Show("Es wurde eine Geheimzahl zwischen 1 und 100 erzeugt! Finde sie, und viel Spaß dabei");
                }
                else if (radioButton3.Checked == true)
                {
                    System.Random r = new System.Random();
                    zzg = r.Next(1001);
                    MessageBox.Show("Es wurde eine Geheimzahl zwischen 1 und 1000 erzeugt! Finde sie, und viel Spaß dabei");
                }
                else if (radioButton4.Checked == true)
                {
                    System.Random r = new System.Random();
                    zzg = r.Next(10001);
                    MessageBox.Show("Es wurde eine Geheimzahl zwischen 1 und 10000 erzeugt! Finde sie, und viel Spaß dabei");
                }
     
                this.Close();
                
     
            }
                
        }
    }

    die Form1.cs
    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
    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
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Xml;
     
    namespace Zahlenraten
    {
        public partial class Form1 : Form
        {
            private int _iMaxWert;
            public Form1()
            {
                InitializeComponent();
            }
     
            DateTime _zeitBeginn1;
            DateTime _zeitStop1;
            int _zähler;
            string _filepath = @"C:\Programme\Zahlenraten\Hightscores.doc";
     
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 waehlen = new Form2();
                waehlen.ShowDialog(this);
     
                _zeitBeginn1 = DateTime.Now;
     
                _iMaxWert = waehlen.zzg;
                waehlen.Dispose();
     
                this.button1.Visible = false;
                this.button2.Visible = true;
                this.richTextBox1.Visible = true;
                this.label3.Visible = true;
                this.panel1.Visible = true;
                this.label2.Visible = true;
                this.textBox1.Visible = true;
                this.textBox1.Focus();
                this.label1.Text = _iMaxWert.ToString();
                this.button2.Enabled = true;
                this.textBox1.ReadOnly = false;
                this._zähler = 0;
     
            }
     
            private void button2_Click(object sender, EventArgs e)
            {
                if (_zähler == 19)
                {
                    this.button4.Visible = true;
                    this.button3.Visible = true;
                    this.button2.Enabled = false;
                }
     
                try
                {
     
                    if (_iMaxWert < Convert.ToInt32(textBox1.Text))
                    {
                        this.richTextBox1.Text = "Diese Zahl " + Convert.ToInt32(textBox1.Text) + " ist leider zu groß\n\n" + richTextBox1.Text;
                        this.textBox1.Text = ("");
                        this.richTextBox1.ScrollToCaret();
                        this.textBox1.Focus();
                        this._zähler += 1;
                    }
                    else if (_iMaxWert > Convert.ToInt32(textBox1.Text))
                    {
                        this.richTextBox1.Text = "Diese Zahl " + Convert.ToInt32(textBox1.Text) + " ist leider zu klein\n\n" + richTextBox1.Text;
                        this.textBox1.Text = ("");
                        this.richTextBox1.ScrollToCaret();
                        this.textBox1.Focus();
                        this._zähler += 1;
                    }
                    else
                    {
                        this._zeitStop1 = DateTime.Now;
                        TimeSpan _zeitSpiel1 = _zeitStop1 - _zeitBeginn1;
                        this._zähler += 1;
                        this.richTextBox1.Text = "Du hast richtig geraten\n\n" + richTextBox1.Text;
                        this.label1.Visible = true;
                        this.textBox1.ReadOnly = true;
                        this.richTextBox1.ScrollToCaret();
                        this.richTextBox1.Text = "Du hast die Zahl " + _iMaxWert + " mit " + _zähler + " Versuchen gefunden! Deine Spielzeit war " + _zeitSpiel1.Minutes + " Minuten und " + _zeitSpiel1.Seconds + " Sekunden" + "\n\n" + richTextBox1.Text;
                        this.button5.Visible = true;
                        this.button2.Enabled = false;
                        this.new_game.Visible = true;
                        geschaft _geschaft = new geschaft();
                        _geschaft.ShowDialog();
                    }
     
     
                 
            }
            catch (FormatException)
            {
                this.textBox1.Text = ("Bitte eine Zahl eingeben");
                this.textBox1.SelectAll();
            }
               
            }
     
            private void button3_Click(object sender, EventArgs e)
            {
                this.button4.Visible = false;
                this.button3.Visible = false;
                this.button2.Enabled = true;
            }
     
            private void button4_Click(object sender, EventArgs e)
            {
                this._zeitStop1 = DateTime.Now;
                TimeSpan _zeitSpiel1 = _zeitStop1 - _zeitBeginn1;
                this.richTextBox1.Text = "Du hast aufgegeben\n\n" + richTextBox1.Text;
                this.label1.Visible = true;
                this.textBox1.ReadOnly = true;
                this.richTextBox1.ScrollToCaret();
                this.richTextBox1.Text = "Du hast die Zahl " + _iMaxWert + " mit " + _zähler + " Versuchen nicht finden können! Deine Spielzeit war " + _zeitSpiel1.Minutes + " Minuten und " + _zeitSpiel1.Seconds + " Sekunden" + "\n\n" + richTextBox1.Text;
                this.button5.Visible = true;
                this.button2.Enabled = false;
                this.new_game.Visible = true;
                this.button3.Visible = false;
                this.button4.Visible = false;
            }
     
            private void button5_Click(object sender, EventArgs e)
            {
                this.scoreSchreiben();
                Application.Exit();            
            }
     
            private void button6_Click(object sender, EventArgs e)
            {
                neustart();
            }
     
            private void neuesSpielToolStripMenuItem_Click(object sender, EventArgs e)
            {
                neustart();
            }
     
            private void bestzeitenAnzeigenToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Highscores bestzeiten = new Highscores();
                bestzeiten.ShowDialog(this);
            }
     
     
            private void scoreSchreiben()
            {
                if (File.Exists(@_filepath))
                {
                    StreamWriter meinSchreiberling = new StreamWriter(@_filepath, true);
                    meinSchreiberling.WriteLine("");
                    meinSchreiberling.WriteLine("");
                    meinSchreiberling.WriteLine(DateTime.Now);
                    meinSchreiberling.WriteLine(richTextBox1.Text);
                    meinSchreiberling.Close();
                }
                else
                {
                    Directory.CreateDirectory(@"C:\Programme\Zahlenraten\");
                    StreamWriter meinSchreiberling = File.CreateText(@_filepath);
                }
            }
     
            private void neustart()
            {
                this.panel1.Visible = false;
     
                this.textBox1.Visible = false;
     
                this.richTextBox1.Visible = false;
     
                this.label1.Visible = false;
                this.label2.Visible = false;
                this.label3.Visible = false;
     
                this.button2.Visible = false;
                this.button3.Visible = false;
                this.button4.Visible = false;
                this.button5.Visible = false;
                this.new_game.Visible = false;
     
                this.button1.Visible = true;
                this.scoreSchreiben();
                this.richTextBox1.Text = "";
                this.textBox1.Text = "";
            }
        }
    }

    also Form1 ist die Hauptform. Von ihr aus werden alle anderen Forms (für nicht sehr komplexe dinge) aufgerufen.

    wärhend ich das spiel spiele, habe ich es geschaft die aktuelle Zeit beim start zu speichern, die zeit beim beenden und somit, die allgemeine spielzeit zu messen und anzeigen zu lassen.
    das programm hat noch n paar andere features aber die sind jetzt nicht wichtig.

    ich möchte das mit der zeit so machen, das ich ein weiteres label einbaue und dessen text wärend ich mein spiel spiele, verändere, so das das ändern des texttes nicht die ganze application lahm legt. das ganze soll mir threads gehen. schön und gut, aber wie genau stelle ich das SPEZIELL auf meinen code an? ich bitte um ein bisschen hilfe und viele kommentare warum die zeile dahin gehört und warum das so und das so gemacht wird....... ich danke eucht jetzt schon tausendfach.

    und wegen der stoppuhr habe ich schon ne idee, wenn die aber nicht klappen sollte, dann poste ich hier im thema nochmal, und hoffe auch dann auf hilfe.....
    danke schön und bussys
     

  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

    Schau dir dafür mal die Timer-Klasse an!
     
    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
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    Was denn? das soll die antwort sei auf die ich so lange gewartet habe? BITTE HELFT MIR!!
     

  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
    Punkt 1: Was heißt hier lange gewartet? das weniger als ein Tag! Das hier ist ein Forum, kein Chat!
    Punkt 2: Apropos Chat: Halte dich bitte an die Netiquette!
    Punkt 3: Ja, das ist die Anwort auf deine Frage! Wenn du dir die Klasse anschaust und etwas damit rumexperimentierst, wirst du merken, dass man im Tick-Event des Timers zum Beispiel den Text des Labels setzen könnte
     
    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
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    zu Punkt 1: Du hast recht, tut mir leid!
    zu Punkt 2: Du hast recht, tut mir leid!
    zu Punkt 3. Ja okay ich schau mal nach
     

  6. #6
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    Sorry das ich mich jetzt wieder nicht an die Netiquette halte aber: FUCK ich habs zum laufen gebraucht, es GEHT hehehehehehehehe
     

  7. #7
    Avatar von Konstantin Gross
    Konstantin Gross Konstantin Gross ist offline Mitglied Platin
    Registriert seit
    Sep 2003
    Ort
    nähe Kassel (Hessen)
    Beiträge
    703
    Du hättest deine Freude ruhig auch anders ausdrücken können Tu uns bitte den Gefallen und markier deine Frage als "erledigt". Danke.
     
    Internetseite:
    http://www.texturenland.de

    Blog:
    http://blog.texturenland.de

    Codesnippets:
    .NET-Snippets

    - Sollte ich bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen -

Ähnliche Themen

  1. Model für Filter? Spiel: Item in "Reichweite"
    Von Nobody im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 3
    Letzter Beitrag: 11.06.09, 20:27
  2. Antworten: 1
    Letzter Beitrag: 31.12.08, 01:05
  3. überblend effekte wie im video "du bist vom selben stern"
    Von emulsion im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 1
    Letzter Beitrag: 12.09.07, 16:15
  4. exe im "selben" fenster öffnen
    Von WabbaJack im Forum Delphi, Kylix, Pascal
    Antworten: 0
    Letzter Beitrag: 16.02.05, 19:53
  5. [Flash5] Brauche Hilfestellung zu "memory spiel"
    Von loserkid im Forum Flash Plattform
    Antworten: 7
    Letzter Beitrag: 12.06.03, 10:27