typedef struct MONSTER
{
var INIT_M;
}MONSTER;
typedef struct HERO
{
var INIT;
}HERO;
//initialisierung über enmies_create() und hero_create()
MONSTER* create_enemies()
{
MONSTER* enemy = (MONSTER*)sys_malloc(sizeof(MONSTER));
enemy->INIT_M = 14;
return enemy;
}
int hero_order[3] = {0,1,2};
int cur_hr = 0;
HERO* create_hero()
{
HERO* hero = (HERO*)sys_malloc(sizeof(HERO));
switch(hero_order[cur_hr])//hero_order enthält die werte 0,1,2
{
case 0:
hero->INIT = 16;
break;
case 1:
hero->INIT = 12;
break;
case 2:
hero->INIT = 15;
break;
}
cur_hr++;
return hero;
}
//direkte übergabe des pointer an andere HERO pointer
void create_battle_startup()
{
HERO* hero0 = create_hero();
HERO* hero1 = create_hero();
HERO* hero2 = create_hero();
MONSTER* monster0 = create_enemies();
MONSTER* monster1 = create_enemies();
MONSTER* monster2 = create_enemies();
var i = hero0.INIT; //hier entsteht das Problem
int j = hero0.INIT;
printf("i = %d, j = %d", (int)i, j);
// Free heroes
sys_free(hero0);
sys_free(hero1);
sys_free(hero2);
// Free monstaers
sys_free(monster0);
sys_free(monster1);
sys_free(monster2);
}