Autor Beitrag
MysteryEskimo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34

WIN Xp
Visual C# Studio 2005
BeitragVerfasst: Fr 20.07.07 18:38 
Ich hab ein Spiel programmiert bei dem man ein Kiosk-besitzer ist und seine Kunden möglichst schnell bedienen muss. Doch das programm stürzt ab. Erst hatte es geklappt, doch als ich dass dann so gemacht habe dass es mehrere Kunden gibt kam das Problem:
ausblenden volle Höhe C#-Quelltext
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:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Der_Kiosk_King
{
   
    public partial class Form1 : Form
    {
        enum Ware
        {
            Cola = 0, Hamburger = 1, Pommes = 2, eis = 3, schokoriegel = 4, nichts = 5
        }

        bool kunde2istzufrieden = false;
        Kunde kunde2;
        Kunde kunde = new Kunde();
        bool kundeistzufrieden = true;
        public bool ende = false;
        int geld = 0;
        Timer t = new Timer();
        Ware w = new Ware();
        Timer tt = new Timer();
        Timer ttt = new Timer();
        

        public Form1()
        {
            InitializeComponent();
            label4.Text = geld.ToString()+"€";
            MessageBox.Show("Erarbeite dir 100€!""Levelziel:");
            w = Ware.nichts;
            this.MouseMove += new MouseEventHandler(Form1_MouseMove);
            Einrichten();
        }

        void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            label5.Text = w.ToString();
        }

        private void Einrichten()
        {
            t.Interval = 6000;
           t.Tick +=new EventHandler(t_Tick1);
           t.Start();
           tt.Interval = 9000;
           tt.Tick += new EventHandler(tt_Tick);
           
           ttt.Interval = 10000;
           ttt.Tick += new EventHandler(ttt_Tick);
        }

        void ttt_Tick(object sender, EventArgs e)
        {
            
                
        }

        void tt_Tick(object sender, EventArgs e)
        {
            
            label4.Text = geld.ToString() + "€";
            if (kunde2istzufrieden == false)
            {
                MessageBox.Show("Verloren!""Ende");
                Application.Exit();

            }
            else
            {

                kunde2 = new Kunde();

                Random r = new Random();

                switch (r.Next(16))
                {
                    case 1: pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde1maennl; break;


                    case 2: pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde1weibl; break;


                    case 3: pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde2maennl; break;



                    case 4:
                        pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde3maennl; break;


                    case 5: pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde2weibl; break;


                }//ENDE SWITCH 

                label1.Text = kunde2.BeduerfnisTostring();
                kunde2istzufrieden = false;
            } if (geld < 100)
                t.Interval -= 40;
            else
                MessageBox.Show("Level geschafft!""SUPER!"); Close();
            
        }

        void t_Tick1(object sender, EventArgs e)
        {
            MessageBox.Show("t-yxkl<");
            label4.Text = geld.ToString() + "€";
            if (kundeistzufrieden == false)
            {
                MessageBox.Show("Verloren!""Ende");
                Application.Exit();
                
            }
            else
            {

                kunde = new Kunde();
                
          Random r = new Random();
                    
                switch(r.Next(16))
                {
                    case 1: pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde1maennl; break
                    

                    case 2:  pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde1weibl; break
                        

                    case 3:  pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde2maennl; break
                        
                        

                    case 4
                         pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde3maennl; break
                        
                   
                case 5:  pictureBox1.Image = Der_Kiosk_King.Properties.Resources.kunde2weibl; break
                    
                     
            }//ENDE SWITCH 
            MessageBox.Show("#");

            label1.Text = kunde.BeduerfnisTostring();
            kundeistzufrieden = false;
        } if (t.Interval > 4000)
            t.Interval -= 40;
        else
            MessageBox.Show("Level geschafft!""SUPER!"); Close();
        MessageBox.Show("##");
//HIER SCHEINT DAS PROGRAMM ABZUSTÜRZEN
        MessageBox.Show("###");//DIESE MELDUNGSFENSTER ERSCHEINT NICHT MEHR
        }
    


        void t_Tick(object sender, EventArgs e)
        {
            Kunde k = new Kunde();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Close();
            ende = true;
        }

        

        private void pictureBox4_Click(object sender, EventArgs e) //COLA
        {
            w = Ware.Cola;
        }

        private void pictureBox5_Click(object sender, EventArgs e) //HAMBURGER
        {
            w = Ware.Hamburger;
        }

        private void pictureBox6_Click(object sender, EventArgs e) //POMMES
        {
            w = Ware.Pommes;
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (kunde.moechte1cola == false && kunde.moechte1hamburger == false && kunde.moechte1pommes == false && kunde.moechte1schokoriegel == false && kunde.moechte1eis == false
            {
                kundeistzufrieden = true;
            }
            else
            {
                if (kunde.moechte1eis == true && w == Ware.eis)
                    kunde.moechte1eis = false;
                if (kunde.moechte1schokoriegel == true && w == Ware.schokoriegel)
                    kunde.moechte1schokoriegel = false;
                    if (kunde.moechte1cola == true && w == Ware.Cola)
                    kunde.moechte1cola = false;
                if (kunde.moechte1hamburger == true && w == Ware.Hamburger)
                    kunde.moechte1hamburger = false;
                if (kunde.moechte1pommes == true && w == Ware.Pommes)
                    kunde.moechte1pommes = false;
                label1.Text = kunde.BeduerfnisTostring();
                if (kunde.moechte1cola == false && kunde.moechte1hamburger == false && kunde.moechte1pommes == false && kunde.moechte1schokoriegel == false && kunde.moechte1eis == false)
                {
                    kundeistzufrieden = true;
                    geld += 2;
                }
            }
            label2.Text = kunde.moechte1eis.ToString();
            label3.Text = kunde.moechte1schokoriegel.ToString();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void pictureBox8_Click(object sender, EventArgs e)//EIS
        {
            w = Ware.eis;
        }

        private void pictureBox7_Click(object sender, EventArgs e)//SCHOKORIEGEL
        {
            w = Ware.schokoriegel;
        }
    }
}

Das war ein langer Code oder :wink: ? Das gesamte Projekt ist auch als Anhang angefügt.
Danke im voraus
Einloggen, um Attachments anzusehen!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 20.07.07 18:41 
Was für ein Fehler kommt und in welcher Zeile?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
MysteryEskimo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34

WIN Xp
Visual C# Studio 2005
BeitragVerfasst: Fr 20.07.07 18:48 
Titel: _
Das Formular schließt sich und die Anwendung wird beendet.(in der Main()-methode rufe ich den befehl Application.Run(new Form1()) auf)
Die fehlerstelle steht im quelltext am ende der Methode t_Tick1(...)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 20.07.07 19:05 
Das Close(); vor den zwei Messageboxen ist zwar so eingerückt, als gehöre es zum else-Zweig, tut es aber nicht.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
MysteryEskimo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34

WIN Xp
Visual C# Studio 2005
BeitragVerfasst: Fr 20.07.07 19:22 
DANKE!! :D
Ketzt funktioniert es. Was es doch für "einfache" Fehler für große probleme gibt... :wink: