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

📄 tltconst.pas

📁 一般的数据库管理系统 uses Classes, SConnectEx, TltConst, ExtCtrls, MMSystem, Types, windows, TltLogic , Sy
💻 PAS
字号:
unit TltConst;

interface
uses Windows, Types;
const
  SSockets = 'sockets';

  asGetServerInfo            = $20;   // Specify a call to get Server Ver.
  asGetCurrentRound        = $21;
  asSetCountDown             = $22;
  asLoginPlayer              = $23;
  asLogoffPlayer             = $24;
  asResetRound               = $25;
  asSetRound                 = $26;
  asGetRoundScord            = $30;
  asBet                      = $31;
  asTimeSetting              = $32;
  asPlayerInfo               = $33;
  asWheelResult              = $34;
  asWheelParams              = $35;

  asGetRoundInfo             = $40;
  asPlayerEdit               = $41;
  asPlayerList               = $42;
  asSetRoundResult           = $43;
  asGetGameParams            = $44;
  asSetGameParams            = $45;
  asGetRoundScordInfo        = $46;
  asGetRoundLog              = $47;
  asGetPlayerBetLog          = $48;

  asSetRoundState           = $50;
  asGetRoundState           = $51;
  asUploadPlayerList        = $52;

  asClearPlayerList         = $53;
  asClearGameLog            = $54;
  asClearPlayerBetLog       = $55;
  asCheckAdmin              = $60;
  asLockServer              = $70;


//  asSetRound                 = $46;



type
  TServerInfo = record
    ServerVer : String[255];
  end;
  TBetType = (btRed, btBlack, btGreen);
  TBatArray = array [TBetType] of integer;
  TRoundScord = record
    Count : integer;
    Number :array [0..50] of integer;
  end;

  TRoundState = (rsWaitToBegin, rsDemo{开始本轮}, rsBeting{下注}, rsBeforeWheel{准备开局},
    rsWheeling{转盘},rsScore{分数},rsPaused{系统暂停},
    rsStop, rsPauseAtRoundEnd, rsReset);//, rsSyn{数据同步});
  TRound = packed record
    Main : integer;
    No : integer;
    WheelNo : integer;
    CountDown: integer;
    Scord : TRoundScord;
    State : TRoundState;
    WheelResult : integer;
    Auto : boolean;
  end;
  

  TRoundInfo = packed record //当前局状态
    CurrentRound : TRound;
    //用户下注数量
    CurrentBetCount : array[0..2] of integer;
    //总下注量
    TotalBetCount : array[0..2] of integer;
    //当前预计利润
    WillValue : array[0..2] of integer;
    //当前预计出结果
    WillResult : integer;
    //单人最高下注量
    MaxBetCount : array[0..2] of integer;
    //当前系统重彩池金额
    TotalValue, ObjectValue : integer;
    //结果预计
    OldResult : integer;
    //是否人工干预
    
  end;

   TRoundInfoLog = packed record
     ID : integer;
     Roundno :integer;
     wheelno :integer;
     dvalue : integer;
     value : integer;
     r,g,b : integer;
     result : byte;
     resultcolor : byte;
     datetime : TDateTime;
     auto : boolean;
   end;

  TTimeSetting = packed record
    BetTimeSet : DWord;
    BeforeWheelTimeSet : DWord;
    WheelingTimeSet : DWord;
    ScoreTimeSet : DWord;
    WheelEndSet : DWord;
  end;

//  TPlayerState = (psActive, psNotActive, psNoExist, psUnkown);
  TPlayerState = (psNoBody, psLogining, psLoginError, psActive);
  TPlayerInfo = packed record
    ID : String[32];
    password : String[32];
    UserName : String[16];
    money : integer;
    LastActiveTime : TDateTime;
    State : TPlayerState;
    Bet : array [TBetType] of Integer;
    Memo : String[32];
  end;

  TEditFlag = (efNewID, efCreatePlayer, efEditPlayer, efDeletePlayer,efAddMoney, efError);

  TPlayerEditInfo = packed record
    PlayerInfo : TPlayerInfo;
    EditFlag : TEditFlag;
  end;

  TWheelInfo = packed record
    RoundID : integer;
    WheelID : integer;
    RedBet : integer;
    BlackBet : integer;
    GreenBet : integer;
    Result : integer;
    ResultColor : integer;
    Settment : integer;
    DateTime : TDateTime;
    AutoValue : boolean;
  end;

  TRoundScordInfos = packed record
    RoundMain : integer;
    WheelCount : integer; //0..50;
    WheelInfos : array [0..50] of TWheelInfo;
  end;

  TPlayerBetInfo = packed record
    PlayerID : String[32];
    r : integer;
    b : integer;
    g : integer;
    Settlement : integer;
    Datetime : TDateTime;
    RoundNo: integer;
    WheelNo : integer;
    Result : integer;
    ResultColor : integer;
    RoundMain : integer;
    PreMoney : integer;
  end;


  TArrayofPlayerBetInfo = array [0..50000] of TPlayerBetInfo;
  TArrayofRoundInfo = array [0..10000] of TRoundInfoLog;

  PArrayofRoundInfo = ^TArrayofRoundInfo;

const
  PLFCountOnly = 1;
  PLFAllPlayer = 2;
  PLFSelectPlayer =3;
  PLFLastChangePlayer =4;
  PLFRoundLength = 5;
type
  TGameParams = packed record
    RoundMain : integer;
    BelTime : integer;                   //下注时间
    BeforeWheelTime : integer;           //开盘前时间
    TotalValue : integer;                //总彩池值
    ObjectValue : integer;               //期望
    Rate : integer;                      //提成比,游戏难度
    Bleed : integer;                     //阀值
    AdminStr : String[50];
  end;
  PPlayerInfo = ^TPlayerInfo;
  TArrayOfPlayerInfo = array [0..30000] of TPlayerInfo;
  PArrayOfPlayerInfo = ^TArrayOfPlayerInfo;
  TPlayerList = packed record
    Size : integer;
    PlayerCount : integer;
    Flag : integer;
    LastUpdate : TDateTime;
    Data : PArrayOfPlayerInfo;
  end;

  TChangePassword = packed record
    ID : String[64];
    OldPassword : String[64];
    NewPassword : String[64];
  end;

  TWheelParam = packed record
    FrameTime,TimeDuration: integer; //帧时间ms,持续时间ms
    WheelV,WheelTheta, WheelA,//轮子角速度,角度,角加速度
    BallV, BallTheta, BallHeight, BallR, BallA //球角速度,角度,高度,旋转半径,角加速度
      : single;
  end;
  TWheelParams = packed record
    WheelStartTickCount : DWord;
    ParamsCount : DWord;
    Params : array [0..4] of TWheelParam;
  end;



  TClientProc = procedure of object;
const
  AngleOfNum : array [0..36] of integer = (26, 0,32,15,19,4,21,2,25,17,34,6,27,
    13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3);
var
  NumOfAngle : array [0..36] of Single ;

var
  INumOfAngle, JNumOfAngle : integer;
implementation
initialization
  for INumOfAngle := 0 to 36 do
  begin
    for JNumOfAngle := 0 to 36 do
    begin
      if AngleOfNum[JNumOfAngle] = INumOfAngle then
        NumOfAngle[INumOfAngle] := JNumOfAngle * 2 * Pi / 37;
    end;
  end;

end.
 

⌨️ 快捷键说明

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