@Ben1: Hab mir dein Spiel noch nicht angesehen, hört sich aber logisch an, auch von den anderen.
Das Prob. ist, ich weiß nicht was ich mit der for-Schleife durchgehen soll. Ich hab mal was versucht, hat aber nicht geklappt:
for I := 0 to DXSpriteEngine.Engine.Items.Count-1
Zitat:
Ich nehme jetzt einfach an, dass Player[0] der PC-Spieler ist, und der Rest KI-Spieler
Nein, es gibt keinen PC-Spiele, ich möchte vorerst nur probieren, vom Computer gesteuerte Personen (->"Bots") zu bewegen.
Alle Spieler gehören der Klasse TCSPlayer an. Sie werden nur am Team (TTeam = (TeamCT, TeamT)) unterschieden. (Und sie haben ein blaues bzw. rotes Sprite, das wird anhand von Team zugewiesen).
Erstellen TUE ich sie folgender Maßen:
Delphi-Quellcode:
var
NewTeam: TTeam;
constructor TCSPlayer.Create(AOwner: TSprite);
begin
inherited;
HP := 100;
if Team = TeamCT then begin
Image := Game.Pics.Items.Find('Blau'); //Game ist mein Haupt-Formular
Width := Game.Pics.Items.Find('Blau').Width;
Height := Game.Pics.Items.Find('Blau').Height;
X := Random(Game.DXWelt.Width div 3);
Y := Random(Game.DXWelt.Height-Height);
end else begin
Image := Game.Pics.Items.Find('Rot');
Width := Game.Pics.Items.Find('Rot').Width;
Height := Game.Pics.Items.Find('Rot').Height;
X := Game.DXWelt.Width-Width-Random(Game.DXWelt.Width div 3);
Y := Random(Game.DXWelt.Height-Height);
end;
end;
procedure StartGame(ACTCount, ATCount: Integer);
var
I: integer;
begin
for I := 1 to ACTCount do begin
NewTeam := TeamCT;
with TCSPlayer.Create(Game.DXEngine.Engine) do begin end;
end;
for I := 1 to ATCount do begin
NewTeam := TeamT;
with TCSPlayer.Create(Game.DXEngine.Engine) do begin end;
end;
end;
Welches Array muss ich abgehen?