ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
904
904
EMPFEHLEN
-
13.11.07 16:19 #1
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
-
Hi
Schau dir dafür mal die Timer-Klasse an!Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
14.11.07 15:26 #3
Was denn? das soll die antwort sei auf die ich so lange gewartet habe? BITTE HELFT MIR!!
-
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 von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
15.11.07 10:11 #5
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
-
16.11.07 10:17 #6
Sorry das ich mich jetzt wieder nicht an die Netiquette halte aber: FUCK ich habs zum laufen gebraucht, es GEHT hehehehehehehehe
-
16.11.07 10:21 #7
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
-
Model für Filter? Spiel: Item in "Reichweite"
Von Nobody im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 3Letzter Beitrag: 11.06.09, 20:27 -
"Wer wird Millionär"-Spiel - Frage bezüglich Überprüfung der Antwort
Von Bandit_profi im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 31.12.08, 01:05 -
überblend effekte wie im video "du bist vom selben stern"
Von emulsion im Forum Videoschnitt, Videotechnik & -produktionAntworten: 1Letzter Beitrag: 12.09.07, 16:15 -
exe im "selben" fenster öffnen
Von WabbaJack im Forum Delphi, Kylix, PascalAntworten: 0Letzter Beitrag: 16.02.05, 19:53 -
[Flash5] Brauche Hilfestellung zu "memory spiel"
Von loserkid im Forum Flash PlattformAntworten: 7Letzter Beitrag: 12.06.03, 10:27





Zitieren

Login





