⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 绝对经典的RPG类游戏
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Anigrp10, StdCtrls, ExtCtrls,   Db, DBClient, AMixer,
  MPEGPlayer, MPlayer;

type
  Tmainform = class(TForm)
    floorimg: TImage;
    imgFigure: TImage;
    figureimg: TImage;
    Timer1: TTimer;
    Panel2: TPanel;
    backimg: TImage;
    ClientDataSet1: TClientDataSet;
    mainpanel: TPanel;
    subpanel: TPanel;
    mainimg: TImage;
    Imgcuster: TImage;
    nameLabel: TLabel;
    txtLabel2: TLabel;
    txtLabel1: TLabel;
    txtLabel3: TLabel;
    tempMemo: TMemo;
    cnameLabel: TLabel;
    ctxtLabel1: TLabel;
    ctxtLabel2: TLabel;
    ctxtLabel3: TLabel;
    backImage: TImage;
    bLabel3: TLabel;
    bLabel2: TLabel;
    bLabel1: TLabel;
    Mixer: TAudioMixer;
    MPlayer: TMPEGPlayer;
    MP3Timer: TTimer;
    aviPanel: TPanel;
    MediaPlayer1: TMediaPlayer;
    wImgyes: TImage;
    wimgno: TImage;
    wavimg: TImage;
    exitimg: TImage;
    endplayimg: TImage;
    readmeimg: TImage;
    autoreadimg: TImage;
    saveimg: TImage;
    oldgameimg: TImage;
    newgameimg: TImage;

    procedure AniView1AfterUpdate(Sender: TObject);
    procedure AniView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer; GridX, GridY: Single);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure mainimgClick(Sender: TObject);
    procedure FigureCollide(Sender, Collider: TObject;
      CollisionTye: Integer);
    procedure Figure27Collide(Sender, Collider: TObject;
      CollisionTye: Integer);
    procedure backImageClick(Sender: TObject);
    procedure Figure28Collide(Sender, Collider: TObject;
      CollisionTye: Integer);
    procedure MP3TimerTimer(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormActivate(Sender: TObject);
    procedure wavimgClick(Sender: TObject);
    procedure exitimgClick(Sender: TObject);
    procedure readmeimgClick(Sender: TObject);
    procedure saveimgClick(Sender: TObject);
    procedure oldgameimgClick(Sender: TObject);
    procedure newgameimgClick(Sender: TObject);
    procedure endplayimgClick(Sender: TObject);

  private
  procedure scence(ids:integer;roomids:integer);
  procedure newgame;
  procedure showchat(idc:integer;roomidc:integer;toidc:integer);
  procedure showpart(idp,Roomidp:integer;toidp,nop:integer);
  procedure showtextpanel(nameid,name,text:string);
  procedure hidepanel;
  procedure vallf;
  procedure intdat;
  procedure readoldgame;
  procedure savegame;
  function  readif:boolean;
  function  saveif:boolean;
  procedure PLAYAVI;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  mainform: Tmainform;
  Count: integer;
implementation

uses readmeunit;

{$R *.DFM}

var
PID:integer;
PIDD:boolean;
ROOMID:integer;
TOID:integer;
NO:integer;
MODE:integer;
MP3Canplay:boolean;
MP3Count:integer;
NOWNO:integer;

  AniView1:TAniView;
    AniMap1:TAniMap;
    Figure: TAniFigure;
    Figure02: TAniFigure;
    Figure01: TAniFigure;
    Figure03: TAniFigure;
    Figure04: TAniFigure;
    Figure05: TAniFigure;
    Figure06: TAniFigure;
    Figure07: TAniFigure;
    Figure08: TAniFigure;
    Figure09: TAniFigure;
    Figure10: TAniFigure;
    Figure11: TAniFigure;
    Figure12: TAniFigure;
    Figure13: TAniFigure;
    Figure14: TAniFigure;
    Figure15: TAniFigure;
    Figure16: TAniFigure;
    Figure17: TAniFigure;
    Figure18: TAniFigure;
    Figure19: TAniFigure;
    Figure20: TAniFigure;

    Figure21: TAniFigure;
    Figure22: TAniFigure;
    Figure23: TAniFigure;
    Figure24: TAniFigure;
    Figure25: TAniFigure;
    Figure26: TAniFigure;
    Figure27: TAniFigure;
    Figure28: TAniFigure;
    Figure29: TAniFigure;
    Figure30: TAniFigure;




function Tmainform.readif:boolean;
begin
try
 if (AniView1.Top=0) and (AniView1.Enabled) then result:=true else result:=false;
except
 result:=false;
end;
end;

function Tmainform.saveif:boolean;
begin
try
 if (AniView1.Top=0) and (AniView1.Enabled) and (mode<>1) then result:=true else result:=false;
except
 result:=false;
end;
end;



procedure Tmainform.scence(ids:integer;roomids:integer);
var
  Colors: integer;
  I:INTEGER;
begin

             bLabel1.Caption:='';
             bLabel2.Caption:='';
             bLabel3.Caption:='';

   intdat;
   
   case roomids of
{===============================================================================}
      0: BEGIN
        {===================================================================================}

  floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\imgtile8.bmp');    {地板}
  Colors:=GetDeviceCaps(AniView1.Canvas.handle,NUMCOLORS);


  AniView1.Palette:=floorimg.Picture.Bitmap.Palette;
  AniMap1.Width:=20;
  AniMap1.Height:=45;

  with AniMap1 do begin
    {地板}
    Tile[1]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road01.bmp');
    Tile[2]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road04.bmp');
    Tile[3]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road05.bmp');
    Tile[4]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road02.bmp');
    Tile[5]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road06.bmp');
    Tile[6]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road07.bmp');
    Tile[7]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\san01.bmp');
    Tile[8]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\san02.bmp');
    Tile[9]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\san04.bmp');
    Tile[10]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\san03.bmp');
    Tile[11]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\pool01.bmp');
    Tile[12]:=floorimg.Picture.Bitmap;
    floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\pool02.bmp');
    Tile[13]:=floorimg.Picture.Bitmap;



    {扑地皮}
    SetGridRange(0,0,AniMap1.Width-1,AniMap1.Height-1,1,True);

     {路}
     SetGridRange(10,3,10,33,2,True);
     SetGridRange(10,29,10,29,4,True);
     SetGridRange(10,33,10,33,3,True);
     SetGridRange(8,29,9,29,5,True);
     SetGridRange(11,28,13,28,5,True);
     SetGridRange(7,33,9,33,5,True);
     SetGridRange(5,14,5,14,6,True);
     SetGridRange(10,28,10,28,7,True);

      SetGridRange(4,7,9,7,5,True);
      SetGridRange(10,7,10,7,4,True);

      SetGridRange(5,11,5,13,2,True);
      SetGridRange(5,15,5,16,2,True);
      SetGridRange(4,14,4,14,5,True);
      SetGridRange(6,14,9,14,5,True);
      SetGridRange(10,14,10,14,4,True);


      SetGridRange(10,18,10,18,7,True);
      SetGridRange(11,18,13,18,5,True);

     {山}
      GridTile[14,14]:=8;
      AniMap1.GridPassable[14,14]:=False;
      GridTile[4,1]:=8;
      AniMap1.GridPassable[4,1]:=False;
      GridTile[17,28]:=8;
      AniMap1.GridPassable[17,28]:=False;
      GridTile[5,30]:=8;
      AniMap1.GridPassable[5,30]:=False;
      GridTile[4,23]:=8;
      AniMap1.GridPassable[4,23]:=False;

      GridTile[14,15]:=9;
      AniMap1.GridPassable[14,15]:=False;
      GridTile[5,1]:=9;
      AniMap1.GridPassable[5,1]:=False;
      GridTile[18,28]:=9;
      AniMap1.GridPassable[18,28]:=False;
      GridTile[3,27]:=9;
      AniMap1.GridPassable[3,27]:=False;
      GridTile[2,21]:=9;
      AniMap1.GridPassable[2,21]:=False;

      GridTile[1,2]:=10;
      AniMap1.GridPassable[1,2]:=False;
      GridTile[18,27]:=10;
      AniMap1.GridPassable[18,27]:=False;
      GridTile[5,22]:=10;
      AniMap1.GridPassable[5,22]:=False;

      GridTile[13,15]:=11;
      AniMap1.GridPassable[13,15]:=False;
      GridTile[2,1]:=11;
      AniMap1.GridPassable[2,1]:=False;
      GridTile[18,20]:=11;
      AniMap1.GridPassable[18,20]:=False;
      GridTile[4,29]:=11;
      AniMap1.GridPassable[4,29]:=False;
      GridTile[10,39]:=11;
      AniMap1.GridPassable[10,39]:=False;

      {水台}
      GridTile[7,23]:=12;

      GridTile[5,27]:=12;


     {花}
      GridTile[6,20]:=13;
      GridTile[13,16]:=13;
      GridTile[16,30]:=13;
      GridTile[1,3]:=13;
      GridTile[15,5]:=13;


  end;

    AniView1.Map:=AniMap1;

  Figure.X:=5;
  Figure.Y:=35;
  Figure.Z:=0;
  Figure.CenterX:=9;
  Figure.CenterY:=49;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy01.bmp');
  Figure.Picture[1]:=imgFigure.Picture.Bitmap;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy02.bmp');
  Figure.Picture[2]:=imgFigure.Picture.Bitmap;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy03.bmp');
  Figure.Picture[3]:=imgFigure.Picture.Bitmap;
   imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy11.bmp');
  Figure.Picture[4]:=imgFigure.Picture.Bitmap;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy12.bmp');
  Figure.Picture[5]:=imgFigure.Picture.Bitmap;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy13.bmp');
  Figure.Picture[6]:=imgFigure.Picture.Bitmap;





    imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy21.bmp');
  Figure.Picture[7]:=imgFigure.Picture.Bitmap;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy22.bmp');
  Figure.Picture[8]:=imgFigure.Picture.Bitmap;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy23.bmp');
  Figure.Picture[9]:=imgFigure.Picture.Bitmap;

    imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy31.bmp');
  Figure.Picture[10]:=imgFigure.Picture.Bitmap;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy32.bmp');
  Figure.Picture[11]:=imgFigure.Picture.Bitmap;
  imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy33.bmp');
  Figure.Picture[12]:=imgFigure.Picture.Bitmap;

  Figure.SetScript(1,[1,1,1,1,2,2,2,2,1,1,1,1,3,3,3,3]);
  AniView1.AddFigure(Figure);
  AniView1.SetFigurePos(Figure,5,5,0);
  Figure.PlayScript(1,True);
  AniView1.SetKeyFigure(Figure);
   Figure.Speed:=1.5;

  {花园}
  figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\pack.bmp');
  Figure01.CenterX:=60;
  Figure01.Centery:=38;
  Figure01.Picture[1]:=figureimg.Picture.Bitmap;
  AniView1.AddFigure(Figure01);
  AniView1.SetFigurePos(Figure01,8,30,0);


  {01house}
  figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\hose4.bmp');
  Figure02.CenterX:=56;
  Figure02.Centery:=49;
  Figure02.Picture[1]:=figureimg.Picture.Bitmap;
  AniView1.AddFigure(Figure02);
  AniView1.SetFigurePos(Figure02,15,28,0);

  {hfhouse}
  figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\hose7.bmp');
  Figure03.CenterX:=63;
  Figure03.Centery:=55;
  Figure03.Picture[1]:=figureimg.Picture.Bitmap;
  AniView1.AddFigure(Figure03);
  AniView1.SetFigurePos(Figure03,6,33,0);

  {yxhouse}
  figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\hose1.bmp');
  Figure04.CenterX:=51;
  Figure04.Centery:=45;
  Figure04.Picture[1]:=figureimg.Picture.Bitmap;
  AniView1.AddFigure(Figure04);
  AniView1.SetFigurePos(Figure04,5,18,0);

   {scbhouse}
  figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\hose2.bmp');
  Figure05.CenterX:=51;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -