
Ich habe ein simles RPG geschrieben mit verschiedenen Funktionen.
Mein Problem ist dass das Programm in die while Schleife nicht reingeht und ich weiß nicht warum.
Code: Alles auswählen
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
struct main_charakter
{
char *Name;
int attack;
int defense;
int level;
int experience;
} Jakob = { "Jakob", 50, 100, 0, 0 };
struct enemy
{
char *Name;
int attack;
int defense;
int level;
} enemy_1 = {"enemy", 50, 100, 0,};
void level_up(void)
{
}
int fight(void)
{
printf("Fight\n");
int win = 0;
int attack = enemy_1.attack + (rand() % 60 +1);
int defense = enemy_1.defense + (rand() % 60 +1);
int main_defense = Jakob.defense;
int temp_expirience = enemy_1.defense;
while(win == 0)
{
printf("Angreifen\n");
getchar();
defense -= Jakob.attack;
if(defense < 0)
defense = 0;
printf("%s - Gesundheit %d \n%s - Gesundheit %d\n",Jakob.Name, main_defense, enemy_1.Name,defense);
printf("Ihr Schaden -> %d\nGegners Schaden -> %d\n",Jakob.attack,attack);
if(defense <= 0)
{
Jakob.experience = temp_expirience;
}
if(defense <= 0)
return 1;
if(defense <= 0|| main_defense <= 0)
win = 1;
main_defense -= attack;
if(main_defense < 0)
main_defense = 0;
}
}
int main(void)
{
srand(time(NULL));
char answer = 'j';
while(answer == 'j');
{
printf("Lust auf ein Fight?\n");
scanf("%c", &answer);
if(answer == 'j')
{
if(fight() == 1)
{
printf("Sie haben gewonnen!!!");
}
else
printf("Sie haben verloren");
}
}
return 0;
}
Code: Alles auswählen
while(answer == 'j');
{
printf("Lust auf ein Fight?\n");
scanf("%c", &answer);
if(answer == 'j')
{
if(fight() == 1)
{
printf("Sie haben gewonnen!!!");
}
else
printf("Sie haben verloren");
}
}
Hat jemand eine Idee???