Zitat von
Klaus01:
Guten Morgen und ein frohes neues Jahr.
Ich habe mir mal Deinen Code angeschaut.
Dies ist aus der Procedure Leben_versetzen.
Delphi-Quellcode:
SetLength(Lebensform1, Length(LebenTemp)+8);
for iIndex := 0 to Length(LebenTemp)-1 do
begin
Lebensform1[iIndex].ix := LebenTemp[iIndex].ix;
Lebensform1[iIndex].iy := LebenTemp[iIndex].iy;
Lebensform1[iIndex].iNahrung := LebenTemp[iIndex].iNahrung;
Lebensform1[iIndex].iWasser := LebenTemp[iIndex].iWasser;
Lebensform1[iIndex].iSchwanger := LebenTemp[iIndex].iSchwanger;
Lebensform1[iIndex].bFortpflanzen := LebenTemp[iIndex].bFortpflanzen;
end;
Wenn Du dir das einmal genauer anschaust, wirst Du wahrscheinlich
auch feststellen, dass die letzten 8 Werte des Arrays Lebensform1 nicht initialisiert
werden.
Klaus
Hallo Klaus, dir auch Gesundes Neues Jahr und natürlich auch allen anderen. Die Initialisierung der restlichen 8 "Lebensformen" erfolgt, wenn auch etwas unkonventionell über die folgenden 2 For-Schleifen. Hier nochmal der Auszug:
Delphi-Quellcode:
iIndez := 0;
for iIndex := -1 to 1 do
begin
for iIndey := -1 to 1 do
begin
if (iIndey = 0) and (iIndex = 0) then
else
begin
Lebensform1[Length(LebenTemp)+iIndez].ix := Lebensform1[i].ix-iIndex;
Lebensform1[Length(LebenTemp)+iIndez].iy := Lebensform1[i].iy-iIndey;
Lebensform1[Length(LebenTemp)+iIndez].iNahrung := 0;
Lebensform1[Length(LebenTemp)+iIndez].iWasser := 0;
Lebensform1[Length(LebenTemp)+iIndez].iSchwanger := 0;
Lebensform1[Length(LebenTemp)+iIndez].bFortpflanzen := false;
iIndez := iIndez+1;
end;
end;
end;
Dies funktioniert auch. Dafür hatte ich das TreeView überhaupt erst eingeführt, damit ich die Werte welche die "Lebensformen" haben überprüfen kann. Insgesamt läuft das Programm so wie ich es hier online gestellt hab. Wie gesagt, das Problem ist einfach die Zeit zur Berechnung der gesammten Aktionen insgesamt.
Hab jetzt gelesen, dass man Threats machen kann. Leider hab ich damit noch keine Erfahrung. vieleicht kann mal jemand, der sowas schonmal gemacht hat über den Code schauen und mir sagen, wie man das anlegen kann.
Danke
BAMatze