equal
deleted
inserted
replaced
1 unit uAILandMarks; |
1 unit uAILandMarks; |
2 |
2 |
3 interface |
3 interface |
4 const markWasHere = $01; |
4 const |
|
5 markWalkedHere = $01; |
|
6 markHJumped = $02; |
|
7 markLJumped = $04; |
5 |
8 |
6 procedure addMark(X, Y: LongInt; mark: byte); |
9 procedure addMark(X, Y: LongInt; mark: byte); |
7 function checkMark(X, Y: LongInt; mark: byte) : boolean; |
10 function checkMark(X, Y: LongInt; mark: byte) : boolean; |
8 procedure clearAllMarks; |
11 procedure clearAllMarks; |
9 procedure clearMarks(mark: byte); |
12 procedure clearMarks(mark: byte); |
|
13 procedure setAILandMarks; |
10 |
14 |
11 procedure initModule; |
15 procedure initModule; |
12 procedure freeModule; |
16 procedure freeModule; |
13 |
17 |
14 implementation |
18 implementation |
52 for Y:= 0 to Pred(HEIGHT) do |
56 for Y:= 0 to Pred(HEIGHT) do |
53 for X:= 0 to Pred(WIDTH) do |
57 for X:= 0 to Pred(WIDTH) do |
54 marks[Y, X]:= marks[Y, X] and (not mark) |
58 marks[Y, X]:= marks[Y, X] and (not mark) |
55 end; |
59 end; |
56 |
60 |
57 |
61 procedure setAILandMarks; |
58 procedure initModule; |
|
59 begin |
62 begin |
60 WIDTH:= LAND_WIDTH shr gr; |
63 WIDTH:= LAND_WIDTH shr gr; |
61 HEIGHT:= LAND_HEIGHT shr gr; |
64 HEIGHT:= LAND_HEIGHT shr gr; |
62 |
65 |
63 SetLength(marks, HEIGHT, WIDTH); |
66 SetLength(marks, HEIGHT, WIDTH); |
|
67 end; |
|
68 |
|
69 procedure initModule; |
|
70 begin |
64 end; |
71 end; |
65 |
72 |
66 procedure freeModule; |
73 procedure freeModule; |
67 begin |
74 begin |
68 SetLength(marks, 0, 0); |
75 SetLength(marks, 0, 0); |