Thema: Delphi Raster Prob bei Snake

Einzelnen Beitrag anzeigen

Giantics

Registriert seit: 17. Nov 2003
Ort: Langenbrettach
99 Beiträge
 
#2

Re: Raster Prob bei Snake

  Alt 19. Nov 2003, 14:41
Du musst beim Positionieren deiner Schlange oder der Banane die Koordinaten erst "gittergerecht" machen.
Entweder damit:
Delphi-Quellcode:
function GetGridCoord(Value:Integer):Integer;
begin
  Result:= Trunc(((Value+(GridSize/2))/GridSize))*GridSize ;
end;
Oder mit dieser leicht schnelleren Version:
Delphi-Quellcode:
function GetGridCoord(Value:Integer):Integer;
begin
  asm
    add EAX,5
    mov CL,GridSize
    div CL
    mul CL
    //add EAX,1 // noch eins dazu
    mov Result,EAX
  end;
end;
Die globale Variable GridSize sollte vom Typ Byte sein und enthält die Gittergröße (z.B. 10).
Also sieht das quasi später so aus:
Banane.X:=GetGridKoord(irgendwasX);
Banane.Y:=GetGridKoord(irgendwasY);
T. Dieffenbach
  Mit Zitat antworten Zitat