phantombmx
2006-04-25 13:28:09
yeah i have attempted to make a NextPlayer that will choose what ever player has worked the least..
the procedure works and everything.. but not the way i wanted it to, unless it takes a bit to start working.. but yeah so far it only goes like backwards NextPlayer for some reason :D
it should be used with some random timer per player.. check it out
the procedure works and everything.. but not the way i wanted it to, unless it takes a bit to start working.. but yeah so far it only goes like backwards NextPlayer for some reason :D
it should be used with some random timer per player.. check it out
procedure LeastNextPlayer(Active:Boolean);
var i, n : Integer;
begin
if(HowManyPlayers<4)then
RandomNextPlayer(Active)
Players[CurrentPlayer].Active:=Active
WriteLn('Next Player')
LogOut;
PlayerCurTime := (GetSystemTime div 1000);
Players[CurrentPlayer].Worked := Players[CurrentPlayer].Worked + ((PlayerCurTime - PlayerStartTime) / 60);
repeat
n:=Min(Players[0].Worked, Players[1].Worked)
CurrentPlayer:=0
if(n = Players[1].Worked)then
CurrentPlayer:=1
for i:=2 to HowManyPlayers-1 do
begin
n:=Min(n, Players[i].Worked)
if(n = Players[i].Worked)then
CurrentPlayer:=i
end;
until(Players[CurrentPlayer].Active = True)
if(Players[CurrentPlayer].Active = True)then
Logs:=Logs+1
LoginPlayer;
end;