Sujet : Re: logically weird loop
De : profesor.fir (at) *nospam* gmail.com (fir)
Groupes : comp.lang.cDate : 20. Nov 2024, 18:38:00
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <46766e2699a76a0336d5d49c442a2b2de2964070@i2pn2.org>
References : 1 2 3 4
User-Agent : Mozilla/5.0 (Windows NT 10.0; WOW64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.19
fir pisze:
void ProcessMicroturnsUntilHuman()
{
if( game_time < character[HUM].action_end)
{
while(game_time < character[HUM].action_end)
{
DispatchActions();
game_time++;
}
if(game_time == character[HUM].action_end) //**
DispatchActions();
}
}
so the loop code in simplification look like
if( game_time < 300) //this is only to not alllow re-enter the loop if you reach turn 300
{
while(game_time < 300) //game time starts form 0
{
DispatchActions();
game_time++;
}
DispatchActions(); //this runs for turn 300
}
im not sure if there is no bug here as when i press space and 300
turns into 600 then the dispatch on turn 300 would be executed
second time (?) (though in present state of things it wouldnt spoil
probably the things as dispatch if called on turn 300 starters would change the values and they woil not fiore twice
but it all show trubles in what should be 'simple' loop