All pastes #42674 Raw Edit

kontsa

public text v1 · immutable
#42674 ·published 2006-02-21 17:29 UTC
rendered paste body
unit Soldier;

interface
uses Classes,DXClass, DXDraws,Graphics;
type
TSotilas = class
public
x:integer; //actual x
y:integer; //actual y
vx:real;  //velocityx
vy:real;  //velocityy
//radians(of given angle=kulma1). scalex,scaley(from radians). kulma1=real angle
//kulma2=angle for dxdraw
scalex,scaley,radians,kulma2,kulma1:real;
kuva:tpicturecollectionitem;
vauhti:integer; //speed
procedure Drawme(surfac:TDirectDrawSurface);
procedure Move;
constructor Create(kuva1:tpicturecollectionitem;alkux,alkuy:integer;kulma:real);
end;
implementation



{ Sotilas }

constructor TSotilas.Create(kuva1: tpicturecollectionitem; alkux, alkuy: integer;kulma:real);
begin
kuva:=kuva1;
kulma1:=kulma;
x:=alkux;
y:=alkuy;
end;

procedure TSotilas.Drawme(surfac: TDirectDrawSurface);
begin
kuva.DrawRotate(surfac,x,y,24,24,0,0.5,0.5,round(-kulma2));
end;

procedure TSotilas.Move;
begin
Radians := -(kulma1) * PI / 180;
scalex:=cos(radians);
scaley:=sin(radians);
vx:=vauhti*scalex;
vy:=vauhti*scaley;
kulma2 := 256 / 360 * kulma1;
x:=x+round(vx);
y:=y+round(vy);
end;

end.