1 | #include <stdio.h>
|
2 | #include <stdlib.h>
|
3 | #include <time.h>
|
4 |
|
5 | #warning "Unvollständig!!!!"
|
6 |
|
7 | typedef enum {false=0, true=1} bool;
|
8 |
|
9 | int main()
|
10 | {
|
11 | int Menue, Aktion, Flaschen, FT=1, BT=1, MT=1, AT=1, Buero=61, Bett=1, Tag=1;
|
12 | int Angestellte=60, Spiel, SpielEingabe, Zufall, P1=0, P2=0, P3=0,PTest=0;
|
13 | int Vertrag=1, Afeuern, Bverkaufen, Farbe;
|
14 | float Konto=60000, Geld, Einsatz, Lohn=47.50;
|
15 | bool Spiel_weiter=true, in_Menue=true;
|
16 | char const * const cmd_Farben[]={"color 0F", "color 0E", "color 0C", "color 0A", "color 09", "color F0", "color F9",
|
17 | "color FA", "color FC", "color FE"};
|
18 |
|
19 |
|
20 | srand(time(0));
|
21 | while(Spiel_weiter)
|
22 | {
|
23 | system("CLS");
|
24 | printf("\t\t---------Spiel des Lebens----------\n\n\n");
|
25 | printf(" --1-- Spiel starten\n\n");
|
26 | printf(" --2-- Anleitung\n\n");
|
27 | printf(" --3-- Farbe \x8Endern\n\n");
|
28 | printf(" --4-- Credits\n\n");
|
29 | printf(" --5-- Spiel beenden\n\n\n\n");
|
30 |
|
31 | do
|
32 | {
|
33 | scanf("%i",&Menue);
|
34 | fflush(stdin);
|
35 | if(Menue<1 || Menue>5)
|
36 | printf("Ung\x81ltige Eingabe!\a\n\n");
|
37 | } while(Menue<1 || Menue>5);
|
38 | switch(Menue)
|
39 | {
|
40 | case 1:in_Menue=true;
|
41 | while(in_Menue==true)
|
42 | {
|
43 | system("CLS");
|
44 |
|
45 | //Automatisch erzeugte Ausgaben
|
46 |
|
47 | if (Tag==10 && !P1 && !PTest)
|
48 | {
|
49 | printf("\nGlueckwunsch! Du hast 10 Tage lang nicht geklaut oder betrogen!\nDafuer 2500 $!");
|
50 | Konto=Konto+2500;
|
51 | P1=1;
|
52 | getchar();
|
53 | continue;
|
54 | }
|
55 | else if (Tag==20 && !P2 && !PTest)
|
56 | {
|
57 | printf("\nGlueckwunsch! Du hast 20 Tage lang nicht geklaut oder betrogen!\nDaf\x81r 5000 $!");
|
58 | Konto=Konto+5000;
|
59 | P2=1;
|
60 | getchar();
|
61 | continue;
|
62 | }
|
63 | else if (Tag==30 && !P3 && !PTest)
|
64 | {
|
65 | printf("\nGlueckwunsch! Du hast 30 Tage lang nicht geklaut oder betrogen!\nDaf\x81r 10000 $!");
|
66 | Konto=Konto+10000;
|
67 | P3=1;
|
68 | getchar();
|
69 | continue;
|
70 | }
|
71 |
|
72 | if (Vertrag==0 && 1+(rand()%(6-1))==2)
|
73 | {
|
74 | if (Angestellte>0)
|
75 | {
|
76 | printf("\nDas Riesenunternehmen hat sich einen Angestellten von dir genommen!\a");
|
77 | Angestellte=Angestellte-1;
|
78 | getchar();
|
79 | continue;
|
80 | }
|
81 | else
|
82 | {
|
83 | printf("\nDas Riesenunternehmen hat den Vertrag mit dir gekündigt, da keine Angestellten zur Verfügung\nstanden, als das Unternehmen sie brauchte.\a\a");
|
84 | Vertrag=1;
|
85 | getchar();
|
86 | continue;
|
87 | }
|
88 | }
|
89 |
|
90 | if (Angestellte>=1)
|
91 | {
|
92 | if (Lohn<=10)
|
93 | {
|
94 | Zufall=1+(rand()%(5-1));
|
95 | if (Zufall==3)
|
96 | {
|
97 | printf("\nEiner deiner Angestellten hat gek\x81ndigt!\a\a");
|
98 | Angestellte=Angestellte-1;
|
99 | getchar();
|
100 | continue;
|
101 | }
|
102 | else if (Zufall==2)
|
103 | {
|
104 | printf("\nEiner deiner Angestellten bittet dich um eine Lohnerhoehung!");
|
105 | getchar();
|
106 | continue;
|
107 | }
|
108 | }
|
109 | else if(Lohn<=60)
|
110 | {
|
111 | //FIXME: Berechnung vermutl. falsch
|
112 | int L_10=Lohn/10;
|
113 | Zufall=1+rand()%(10*L_10-1);
|
114 | if (Zufall==5)
|
115 | {
|
116 | printf("\nEiner deiner Angestellten hat gek\x81ndigt!\a\a");
|
117 | Angestellte=Angestellte-1;
|
118 | getchar();
|
119 | continue;
|
120 | }
|
121 | else if (Zufall==2)
|
122 | {
|
123 | printf("\nEiner deiner Angestellten bittet dich um eine Lohnerhoehung!");
|
124 | getchar();
|
125 | continue;
|
126 | }
|
127 | }
|
128 | else
|
129 | {
|
130 | Zufall=1+(rand()%(100-1));
|
131 | if (Zufall==5)
|
132 | {
|
133 | printf("\nEiner deiner Angestellten hat gek\x81ndigt!\a\a");
|
134 | Angestellte=Angestellte-1;
|
135 | getchar();
|
136 | continue;
|
137 | }
|
138 | else if (Zufall==2)
|
139 | {
|
140 | printf("\nEiner deiner Angestellten bittet dich um eine Lohnerhoehung!");
|
141 | getchar();
|
142 | continue;
|
143 | }
|
144 | }
|
145 | }
|
146 |
|
147 | //Keine automatisch erzeugten Ausgaben, Menü erzeugen
|
148 | printf("\n Tag %2i\n\n",Tag);
|
149 | printf(" Kontostand: %.2f $\n\n",Konto);
|
150 | printf(" B\x81ros: %i\n\n",Buero);
|
151 | printf(" Angestellte: %i\n\n\n",Angestellte);
|
152 | if (Konto<10000)
|
153 | printf(" - 1- Flaschen sammeln\n\n");
|
154 | else if (Konto<50000)
|
155 | printf(" - 1- Tagesvertraege mit anderen Firmen schliessen\n\n");
|
156 | else
|
157 | printf(" - 1- B\x81ros von anderen Firmen kaufen\n\n");
|
158 | if (Konto<10000)
|
159 | printf(" - 2- Betteln gehen\n\n");
|
160 | else if (Konto<50000)
|
161 | printf(" - 2- Bei grossen Firmen schnorren gehen\n\n"); /* schnurren tun die Katzen... */
|
162 | else
|
163 | printf(" - 2- Vertrag mit Riesenunternehmen eroeffnen\n\n");
|
164 | if (Konto<10000)
|
165 | printf(" - 3- Kindern das Milchgeld wegnehmen\n\n");
|
166 | else if (Konto<50000)
|
167 | printf(" - 3- Kleine Firmen um ihren Lohn prellen\n\n");
|
168 | else
|
169 | printf(" - 3- Steuern hinterziehen\n\n");
|
170 | printf(" - 4- Arbeiten gehen\n\n");
|
171 | printf(" - 5- B\x81ro kaufen(2500 $)\n\n");
|
172 | printf(" - 6- Angestellten kaufen(50 $)\n\n");
|
173 | printf(" - 7- Lohn festlegen\n\n");
|
174 | printf(" - 8- B\x81ros verkaufen\n\n");
|
175 | printf(" - 9- Angestellte feuern\n\n");
|
176 | printf(" -10- Bett kaufen(300 $)\n\n");
|
177 | printf(" -11- Schlafen\n\n");
|
178 | printf(" -12- Ins Casino gehen\n\n");
|
179 | printf(" -13- Zurueck\n\n");
|
180 |
|
181 | do
|
182 | {
|
183 | scanf("%i",&Aktion);
|
184 | fflush(stdin);
|
185 | if(Aktion<1 || Aktion >13)
|
186 | printf("Ung\x81ltige Eingabe! Erneute Eingabe:\a\n");
|
187 | } while(Aktion<1 || Aktion >13);
|
188 |
|
189 | system("CLS");
|
190 |
|
191 | switch(Aktion)
|
192 | {
|
193 | case 1: if (Konto<10000)
|
194 | {
|
195 | if (FT==1)
|
196 | {
|
197 | printf("\nWie viele Flaschen willst du sammeln(max.100)?\n");
|
198 | do
|
199 | {
|
200 | scanf("%i",&Flaschen);
|
201 | fflush(stdin);
|
202 | if(Flaschen<1 || Flaschen >100)
|
203 | printf("\nDu kannst max. nur 100 Flaschen sammeln!");
|
204 | } while(Flaschen<1 || Flaschen >100);
|
205 | printf("\nDu hast %i Flaschen gesammelt und einen Pfandpreis von %.2f $ erhalten.",Flaschen,Flaschen*1.65);
|
206 | Konto=Konto+(Flaschen*1.65);
|
207 | FT=0;
|
208 | getchar();
|
209 | continue;
|
210 | }
|
211 | else
|
212 | {
|
213 | printf("\nDu hast heute schon Flaschen gesammelt!\a");
|
214 | getchar();
|
215 | continue;
|
216 | }
|
217 | }
|
218 | else if(Konto<50000)
|
219 | {
|
220 | if (FT==1)
|
221 | {
|
222 | printf("\nWie viele Vetraege willst du schließen(max.100)?\n");
|
223 | do
|
224 | {
|
225 | scanf("%i",&Flaschen); //Und ich dachte immer man schließt höchstens Verträge mit Flaschen...
|
226 | fflush(stdin);
|
227 | if(Flaschen<1 || Flaschen >100)
|
228 | printf("\nDu kannst max. nur 100 Vertraege schließen!");
|
229 | } while(Flaschen<1 || Flaschen >100);
|
230 | printf("\nDu hast %i Vertraege geschlossen und %.2f $ erhalten.",Flaschen,Flaschen*102.45);
|
231 | Konto=Konto+(Flaschen*102.45);
|
232 | FT=0;
|
233 | getchar();
|
234 | continue;
|
235 | }
|
236 | else
|
237 | {
|
238 | printf("\nDu hast heute schon Verträge geschlossen!\a");
|
239 | getchar();
|
240 | continue;
|
241 | }
|
242 | }
|
243 | else
|
244 | {
|
245 | if (FT==1)
|
246 | {
|
247 | printf("\nWie viele B\x81ros willst du für je 3000 $ kaufen(max.50)?\n");
|
248 | do
|
249 | {
|
250 | scanf("%i",&Flaschen);
|
251 | fflush(stdin);
|
252 | if(Flaschen<1 || Flaschen >50)
|
253 | printf("\nDu kannst max. nur 50 B\x81ros kaufen!");
|
254 | } while(Flaschen<1 || Flaschen >50);
|
255 | printf("\nDu hast %i B\x81ros gekauft und %.2i $ bezahlt(pro B\x81ro 3000 $)",Flaschen,Flaschen*3000);
|
256 | Konto=Konto-(Flaschen*3000);
|
257 | FT=0;
|
258 | getchar();
|
259 | continue;
|
260 | }
|
261 | else
|
262 | {
|
263 | printf("\nDu hast heute schon B\x81ros gekauft!\a");
|
264 | getchar();
|
265 | continue;
|
266 | }
|
267 | }
|
268 | break;
|
269 | case 2:
|
270 | break;
|
271 | case 3:
|
272 | break;
|
273 | case 4:
|
274 | break;
|
275 | case 5:
|
276 | break;
|
277 | case 6:
|
278 | break;
|
279 | case 7:
|
280 | break;
|
281 | case 8:
|
282 | break;
|
283 | case 9:
|
284 | break;
|
285 | case 10:
|
286 | break;
|
287 | case 11:
|
288 | break;
|
289 | case 12:
|
290 | break;
|
291 | case 13:in_Menue=false;
|
292 | break;
|
293 | }
|
294 | }
|
295 | break;
|
296 | case 2: system("CLS");
|
297 | printf("\n Anleitung:\n\n");
|
298 | printf("\n Du hast alles verloren...");
|
299 | getchar();
|
300 | system("CLS");
|
301 | printf("\n Du wachst unter einer Br""\x81""cke auf...");
|
302 | getchar();
|
303 | system("CLS");
|
304 | printf("\n Und musst nun von ganz vorne anfangen!");
|
305 | getchar();
|
306 | system("CLS");
|
307 | printf("\n Benutze die Zahlentasten und die Entertaste um im Spiel zu navigieren.\n Wirst du Million\x8Er?");
|
308 | getchar();
|
309 | break;
|
310 | case 3: system("CLS");
|
311 | printf("\n\n -1- schwarz weiss\n\n -2- scwarz gelb\n\n -3- schwarz rot\n\n -4- schwarz gr\x81n\n\n -5- schwarz blau\n\n -6- weiss scwarz\n\n -7- weiss blau\n\n -8- weiss gr\x81n\n\n -9- weiss rot\n\n -10- weiss gelb\n\n");
|
312 | scanf("%i",&Farbe);
|
313 | fflush(stdin);
|
314 | if(Farbe>=1 && Farbe<=10)
|
315 | system(cmd_Farben[Farbe-1]);
|
316 | else
|
317 | {
|
318 | printf("Ungueltige Eingabe!");
|
319 | getchar();
|
320 | }
|
321 | break;
|
322 | case 4: printf("\nIdee: Richard Keil, Sebastian Mueller\nProgrammiert von: Richard Keil\nGetestet von: Richard Keil, Sebastian Mueller\n\n");
|
323 | getchar();
|
324 | break;
|
325 | case 5: Spiel_weiter=false;
|
326 | break;
|
327 | }
|
328 | } /* while(Spiel_weiter) */
|
329 |
|
330 |
|
331 |
|
332 | return 0;
|
333 | }
|