Seltsames Verhalten der while Schleife
Verfasst: Di Mai 17, 2011 10:40 pm
Hallo Leute 
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.
Wie gesagt: das Programm will nicht in die erste while Schleife reingehen also hier.
obwohl ich answer vorher mit j deklariert habe.
Hat jemand eine Idee???

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???