
Zitat von
Waaaghboss
Bin zwar oft am pc aber sehr wiederstandsfähig was Krankheiten angeht.
Ich werd schneller krank, bin ja halt ein Sommermensch (komme ja auch aus Osteuropa/Asien).
Und hier mein optimiertes Mini-Spiel - Man kann schon Soldaten rekrutieren, Kasernen und Panzer bauen. Einsetzen habe ich auch schon eingebaut:
Code:
#include <stdio.h>
#include <process.h>
#include <string.h>
#include <conio.h>
void build_base(void); /*Hier werden Funktionen und Variablen deklariert*/
void build_soldier(void);
void build_tank(void);
void day_trans(void);
void give_out(void);
int day = 1;
int money = 5000;
int bases = 0;
int soldiers = 0;
int tanks = 0;
int honor = 0;
char choose = 0;
int timesoldier = -1;
int timebase = -1;
int timetank = -1;
int value_soldiers = 0;
int value_tanks = 0;
int errorcode = 0;
#define SOLDIER_PRICE 300
#define SOLDIER_TIME 10
#define BASE_PRICE 1600
#define BASE_TIME 25
#define TANK_PRICE 900
#define TANK_TIME 16
main()
{
printf("\n\nGame Test\n\n");
printf("\nMit Buchstaben waehlen Sie ihre Auswahl im Game!\n");
while(choose != 'q') /*Auswahl*/
{
printf("\n\n\nTag: %d Geld: %d$ Kasernen: %d \nSoldaten: %d Panzer: %d Ehre: %d ", day, money, bases, soldiers, tanks, honor);
printf("\n\nAuswahl: ");
printf("\n(q) Beenden");
printf("\n(k) Kaserne bauen (%d$)", BASE_PRICE);
printf("\n(s) 5 Soldaten ausbilden (%d$)", SOLDIER_PRICE);
printf("\n(p) Panzer bauen (%d$)", TANK_PRICE);
printf("\n(a) Einheiten aussenden");
printf("\n(t) Zu Bett gehen\n\n");
choose = getch();
switch(choose)
{
case 'q': break;
case 'k': build_base();
break;
case 's': build_soldier();
break;
case 'p': build_tank();
break;
case 't': day_trans();
break;
case 'a': give_out();
break;
}
}
}
void build_base(void) /*Hier wird der Timer hochgestellt*/
{
if(timebase > 0)
{
printf("\n\n--- Bereits in Arbeit ---\n");
return(void());
}
if(money >= BASE_PRICE)
{
money = money - BASE_PRICE;
timebase = BASE_TIME;
printf("\n\n--- Kaserne in %d Tagen bereit ---\n", BASE_TIME);
return(void());
}
printf("\n\n--- Nicht genug Geld ---");
return(void());
}
void build_soldier(void) /*Hier ebenfalls Timer*/
{
if(bases == 0)
{
printf("\n\n--- Keine Kaserne vorhanden ---\n\n");
return(void());
}
if(timesoldier > 0)
{
printf("\n\n--- Bereits in Arbeit ---\n");
return(void());
}
if(money >= SOLDIER_PRICE)
{
money = money - SOLDIER_PRICE;
timesoldier = SOLDIER_TIME;
printf("\n\n--- Soldaten in %d Tagen bereit ---\n", SOLDIER_TIME);
return(void());
}
printf("\n\n--- Nicht genug Geld ---");
return(void());
}
void build_tank(void) /*Hier ebenfalls Timer*/
{
if(bases == 0)
{
printf("\n\n--- Keine Kaserne vorhanden ---\n\n");
return(void());
}
if(timetank > 0)
{
printf("\n\n--- Bereits in Arbeit ---\n");
return(void());
}
if(money >= TANK_PRICE)
{
money = money - TANK_PRICE;
timetank = TANK_TIME;
printf("\n\n--- Panzer in %d Tagen bereit ---\n", TANK_TIME);
return(void());
}
printf("\n\n--- Nicht genug Geld ---");
return(void());
}
void day_trans(void) /*Die Timer werden gecheckt, um 1 verringert, bei*/
{ /*0 auf -1 gesetzt und dann der Klasse hinzugefügt*/
printf("\n\nEin neuer Tag beginnt...\n\n");
if(timebase > 0)
timebase--;
if(timebase == 0)
{
timebase--;
bases++;
printf("\n\n--- Kaserne fertiggestellt ---\n\n");
}
if(timesoldier > 0)
timesoldier--;
if(timesoldier == 0)
{
timesoldier--;
soldiers += 5;
printf("\n\n--- 5 Soldaten rekrutiert ---\n\n");
}
if(timetank > 0)
timetank--;
if(timetank == 0)
{
timetank--;
tanks++;
printf("\n\n--- Panzer fertiggestellt ---\n\n");
}
day++;
return(void());
}
void give_out(void)
{
printf("\n\n\nWieviele Soldaten? ");
do
{
scanf("%d", &value_soldiers);
if(value_soldiers > soldiers || value_soldiers < 0)
{
printf("\n\nAnzahl nicht vorhanden ");
errorcode = 1;
}
else
errorcode = 0;
} while (errorcode == 1);
soldiers -= value_soldiers;
money += (value_soldiers * 150);
honor += (value_soldiers * 2);
printf("\n\n\nWieviele Panzer? ");
do
{
scanf("%d", &value_tanks);
if(value_tanks > tanks || value_tanks < 0)
{
printf("\n\nAnzahl nicht vorhanden ");
errorcode = 1;
}
else
errorcode = 0;
} while (errorcode == 1);
tanks -= value_tanks;
money += (value_tanks * 1200);
honor += (value_soldiers * 10);
return(void());
}