Develop and Download Open Source Software

Browse Subversion Repository

Diff of /Unit1.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5 by yamat0jp, Wed Oct 7 13:11:07 2015 UTC revision 6 by yamat0jp, Fri Oct 9 09:51:15 2015 UTC
# Line 49  type Line 49  type
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
# Line 93  implementation Line 96  implementation
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;
# Line 328  begin Line 323  begin
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
# Line 413  end; Line 403  end;
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;
# Line 438  begin Line 438  begin
438        else        else
439          Dir := Up;          Dir := Up;
440    end;    end;
   Count := Max;  
441  end;  end;
442    
443  { TWorry }  { TWorry }
# Line 466  begin Line 465  begin
465      3:      3:
466        Dir := Down;        Dir := Down;
467    end;    end;
   Count := Max;  
468  end;  end;
469    
470  { TGhost }  { TGhost }
# Line 503  begin Line 501  begin
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

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26