SPIEL_FORUM.c


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
}