Zitat von
Medium:
Von welchen Typ ist Geister[]?
Delphi-Quellcode:
TGeist= class(Timage)
constructor erzeugen;
public
end;
Zitat von
Medium:
Über wie viele Geister reden wir ca.?
25-30 etwa.
Es gibt auch noch "Geister" die pacman fressen, also von dem man ausweichen muss, sind im prinzip das gleiche.
Hab dafür ne neue Classe(auch timage) und neue Kollisionsabfrage, die genauso läuft nur das man ein leben verliert wenn man sie "frisst".
Zitat von
Medium:
Wie schnell ist der Timer?
100 MS
Zitat von
Medium:
Wie und worauf zeichnest du?
Ich zeichne eigentlich garnicht.
Ich lasse nur Images(Geister) auf Image1 bewegen,
Zitat von
Medium:
Und vor allem: Wo wird v je ein Wert zugewiesen?
sry den habe ich fälschlicherweise rauskopiert. Eigentlich stand da noch v:=random(2)+1
Zitat von
Medium:
Warum das case nach dem genau die gleichen Prüfungen zuvor mit ifs schon gemacht wurden?
Danke =) Das ist wirklich unsinnig und werde ich ändern.
So ich zeig euch nochmal die procedure Fressen, diese wird nach jeden pixel bewegung von "pacman" aufgerufen:
Delphi-Quellcode:
if anzahl>0 then
for i:=1 to anzahl do begin
if existiert[i]=true then begin
if (((image2.left>geister[i].left) and (image2.left<geister[i].left+30)) and
((image2.top>geister[i].top) and (image2.top<geister[i].top+30))) or
(((image2.left+26>geister[i].left) and (image2.left+26<geister[i].left+30)) and
((image2.top>geister[i].top) and (image2.top<geister[i].top+30))) or
(((image2.left+26>geister[i].left) and (image2.left+26<geister[i].left+30)) and
((image2.top+26>geister[i].top) and (image2.top+26<geister[i].top+30))) or
(((image2.left>geister[i].left) and (image2.left<geister[i].left+30)) and
((image2.top+26>geister[i].top) and (image2.top+26<geister[i].top+30))) then
begin
geister[i].free;
existiert[i]:=false;
end;
end;
end;
end;