Browse Subversion Repository
Diff of /Unit1.pas
Parent Directory
| Revision Log
| Patch
| 49 |
Wid = 20; |
Wid = 20; |
| 50 |
Hei = 20; |
Hei = 20; |
| 51 |
Size = 32; |
Size = 32; |
| 52 |
|
|
| 53 |
|
type |
| 54 |
|
TMapData = array [0 .. Wid - 1, 0 .. Hei - 1] of integer; |
| 55 |
private |
private |
| 56 |
FStrings: array [0 .. Wid - 1, 0 .. Hei - 1] of integer; |
FStrings: TMapData; |
| 57 |
function GetStrings(X, Y: integer): integer; |
function GetStrings(X, Y: integer): integer; |
| 58 |
procedure SetStrings(X, Y: integer; const Value: integer); |
procedure SetStrings(X, Y: integer; const Value: integer); |
| 59 |
public |
public |
| 96 |
{ TMap } |
{ TMap } |
| 97 |
|
|
| 98 |
procedure TMap.Clear; |
procedure TMap.Clear; |
| 99 |
type |
const |
| 100 |
TLocal = array [0 .. Wid - 1] of integer; |
AMAP: TMapData = ((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 101 |
procedure setint(Index: integer; arr: array of integer); |
1), (1, 9, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1), |
| 102 |
var |
(1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1), |
| 103 |
k: integer; |
(1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1), |
| 104 |
begin |
(1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1), |
| 105 |
for k := 0 to Wid - 1 do |
(1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 9, 1, 1, 0, 1, 0, 0, 0, 1, 1), |
| 106 |
FStrings[k, index] := arr[k]; |
(1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1), |
| 107 |
end; |
(1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1), |
| 108 |
|
(1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1), |
| 109 |
|
(1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1), |
| 110 |
|
(1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1), |
| 111 |
|
(1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1), |
| 112 |
|
(1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1), |
| 113 |
|
(1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1), |
| 114 |
|
(1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1), |
| 115 |
|
(1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1), |
| 116 |
|
(1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1), |
| 117 |
|
(1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1), |
| 118 |
|
(1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1), |
| 119 |
|
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)); |
| 120 |
begin |
begin |
| 121 |
setint(0, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]); |
FStrings := AMAP; |
|
setint(1, [1, 9, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1]); |
|
|
setint(2, [1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1]); |
|
|
setint(3, [1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1]); |
|
|
setint(4, [1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1]); |
|
|
setint(5, [1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 9, 1, 1, 0, 1, 0, 0, 0, 1, 1]); |
|
|
setint(6, [1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1]); |
|
|
setint(7, [1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1]); |
|
|
setint(8, [1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1]); |
|
|
setint(9, [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1]); |
|
|
setint(10, [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1]); |
|
|
setint(11, [1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1]); |
|
|
setint(12, [1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1]); |
|
|
setint(13, [1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1]); |
|
|
setint(14, [1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1]); |
|
|
setint(15, [1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1]); |
|
|
setint(16, [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1]); |
|
|
setint(17, [1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1]); |
|
|
setint(18, [1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); |
|
|
setint(19, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]); |
|
| 122 |
end; |
end; |
| 123 |
|
|
| 124 |
function TMap.GetStrings(X, Y: integer): integer; |
function TMap.GetStrings(X, Y: integer): integer; |
| 323 |
for i := 0 to List.Count - 1 do |
for i := 0 to List.Count - 1 do |
| 324 |
begin |
begin |
| 325 |
s := List[i]; |
s := List[i]; |
| 326 |
if s.Visible = true then |
s.Walk |
|
s.Walk |
|
|
else if s.Count = 0 then |
|
|
s.Clear |
|
|
else |
|
|
dec(s.Count); |
|
| 327 |
end; |
end; |
| 328 |
if Action = true then |
if Action = true then |
| 329 |
begin |
begin |
| 403 |
|
|
| 404 |
procedure TEnemy.Walk; |
procedure TEnemy.Walk; |
| 405 |
begin |
begin |
| 406 |
|
if Visible = false then |
| 407 |
|
begin |
| 408 |
|
dec(Count); |
| 409 |
|
if Count = 0 then |
| 410 |
|
Clear; |
| 411 |
|
Exit; |
| 412 |
|
end; |
| 413 |
inherited; |
inherited; |
| 414 |
dec(Count); |
dec(Count); |
| 415 |
if Count = 0 then |
if Count = 0 then |
| 416 |
|
begin |
| 417 |
Wall; |
Wall; |
| 418 |
|
Count := Max; |
| 419 |
|
end; |
| 420 |
end; |
end; |
| 421 |
|
|
| 422 |
procedure TEnemy.Wall; |
procedure TEnemy.Wall; |
| 438 |
else |
else |
| 439 |
Dir := Up; |
Dir := Up; |
| 440 |
end; |
end; |
|
Count := Max; |
|
| 441 |
end; |
end; |
| 442 |
|
|
| 443 |
{ TWorry } |
{ TWorry } |
| 465 |
3: |
3: |
| 466 |
Dir := Down; |
Dir := Down; |
| 467 |
end; |
end; |
|
Count := Max; |
|
| 468 |
end; |
end; |
| 469 |
|
|
| 470 |
{ TGhost } |
{ TGhost } |
| 501 |
Dir := Down |
Dir := Down |
| 502 |
else if q < Y then |
else if q < Y then |
| 503 |
Dir := Up; |
Dir := Up; |
|
Count := Max; |
|
| 504 |
end; |
end; |
| 505 |
|
|
| 506 |
end. |
end. |
|
|
Legend:
| Removed from v.5 |
|
| changed lines |
| |
Added in v.6 |
|
|
| |