亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rltgame.pas

?? 一般的數(shù)據(jù)庫管理系統(tǒng) uses Classes, SConnectEx, TltConst, ExtCtrls, MMSystem, Types, windows, TltLogic , Sy
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
unit rltgame;

interface

uses
  Classes, Types, DXInput, DXDraws, Graphics, Windows, SysUtils, TltConst,
  math, ULoading, Forms;

type
 TPlayData = record
    //PlayData : array[0..60000] of Byte;   //PlayData  60001
    Name : string[3];                     //Name          4
    playerType : Byte;                    //Type          1
    score : LongInt;                      //score         4
    Dif : shortint;                       //難度        1
//    State : TPlayerState;                         //Stage         1     = 60012
  end;

  TRlt = class
  private
    FHasInit : boolean;
    FCurrentRoundNo: integer;
    FRoundScord: TRoundScord;
//    FCountDown: integer;
    FRoundBeginTime : DWord;
    FRealWheelParams : TWheelParams;
    WheelParamChanged : boolean;
    procedure DoBeting;
    procedure DoBeforeWheel;
    procedure DoPaused;
    procedure DoWheeling;
    procedure DoScore;
    procedure DoDemo;
    procedure DoStop;
    function GetCountDown: integer;
    procedure SetCurrentRoundNo(const Value: integer);
  public
    Round : TRound;
    ErrorCode : Byte;
    TimeSetting : TTimeSetting;
    WheelParams : TWheelParams;
    CurrentWheelParam : TWheelParam;
    procedure Draw;
    procedure Update;
    constructor Create();
    function DoInit: boolean;
    procedure DoFinit;
    procedure UpdateWheelParams;
    procedure UpdateWheel;
    procedure SetRound(const Value: TRound);
  published
    property CurrentRoundNo : integer read FCurrentRoundNo write SetCurrentRoundNo;
    property CountDown : integer read GetCountDown;
//    property RoundState : TRound read FRoundState write FRoundState;
  end;

  TPlayerPanelState = (ppsNoBody, ppsLogining, ppsLoginError, ppsActive, ppsLoginOtherWay, ppsUnknow);
  TPlayer = class
  private
    FRBet : LongInt;
    FBBet : LongInt;
    FGBet : LongInt;
    function GetBBet: LongInt;
    function GetGBet: LongInt;
    function GetRBet: LongInt;
    procedure SetBBet(const Value: LongInt);
    procedure SetGBet(const Value: LongInt);
    procedure SetRBet(const Value: LongInt);
  public
    UserID : String;
    Password : String;
    money : LongInt;
    State : TPlayerState;
    Modified : boolean;
    procedure ClearBets;
    procedure Update;
    property RBet : LongInt read GetRBet write SetRBet;
    property BBet : LongInt read GetBBet write SetBBet;
    property GBet : LongInt read GetGBet write SetGBet;
    procedure Clear;
  end;

  TPlayerPanel = class
  private
    //page1
    LoginButtomRect : TRect;
    //page2
    UserIDBox : TRect;
    PasswordBox : TRect;
    OKButtomRect : TRect;
    CancelButtomRect : TRect;
    LogoutButtomRect : TRect;
    //page3
    UserIDLabel : TRect;
    ScoreLabel : TRect;
    MsgLable : TRect;
    Msg2Lable : TRect;
    RBox : TRect;
    BBox : TRect;
    GBox : TRect;
    //LogoutButtomRect : TRect;
    //page4
    ErrorLabel : TRect;
    InputCount : integer;
    Cursor : TPoint;
    procedure SetState(const Value: TPlayerPanelState);
  public
    UserName : String;
    Password : String;
    Player : TPlayer;
    FouceID : byte;
    FState : TPlayerPanelState;
    BoundsRect : TRect;
    ClientRect : TRect;
    Eabled : boolean;
    procedure Update(CursorPos : TPoint; MouseState : byte; Key : Word);
    procedure Draw(DestSurface : TDirectDrawSurface; PlayPanelFrame,ItemsSurface : TDirectDrawSurface);
    property State : TPlayerPanelState read FState write SetState;
    constructor Create(Player : TPlayer);
    function OverButton(CursorPos: TPoint; R : TRect): boolean ;
  end;

  TChipPanel = class
  private
    FCursorPos : TPoint;
    ChipRect : array [0..4] of TRect;
    FSelectedChip: longint;
    procedure SetSelectedChip(const Value: longint);
    function GetSelectedChipValue: longint;
    function OverButton(CursorPos: TPoint; R: TRect): boolean;
  public
    BoundsRect : TRect;
    ClientRect : TRect;
    property SelectedChip : longint read FSelectedChip write SetSelectedChip;
    property SelectedChipValue : longint read GetSelectedChipValue;
    procedure Update(CursorPos : TPoint; MouseState : byte; Key : Word);
    procedure Draw(DestSurface, ChipPanelSurface, ItemsSurface : TDirectDrawSurface);
    constructor Create();
  end;

  TTimePanel = class
    Time : integer;
    BoundsRect : TRect;
    ClientRect : TRect;
    TimeLabelRect : TRect;
    RoundLabelRect : TRect;
    Color : TColor;
    procedure Update(CursorPos : TPoint; MouseState : byte; Key : Word);
    procedure Draw(DestSurface, PanelSurface, ItemsSurface : TDirectDrawSurface);
    constructor Create();
  end;

  THistoryPanel = class
    BoundsRect : TRect;
    ClientRect : TRect;
    procedure Update(CursorPos : TPoint; MouseState : byte; Key : Word);
    procedure Draw(DestSurface, PanelSurface, ItemsSurface : TDirectDrawSurface);
    constructor Create();
  end;

var
  rlt : TRlt;
  Players : array [0..3] of TPlayer;
  PlayerPanel : array [0..3] of TPlayerPanel;
  ChipPanel : TChipPanel;
  TimePanel : TTimePanel;
  HistoryPanel : ThistoryPanel;
//  PPD : TPlayData;
  Level1,Level2,Flag1 : Integer;
  Frame1,FrameRate : Integer;
  FrameTime : LongInt;
  LastTime : LongInt;
  MouseState : byte;

implementation

uses rltClient, Main;

{ TRlt }
procedure TRlt.Draw;
begin
  try
    case Round.State of
      rsWaitToBegin, rsPaused:
      begin
        MainForm.DrawRoulette;
        MainForm.DrawHistoryPanel;
        MainForm.DrawPlayerPanels;
        MainForm.DrawPaused;
        MainForm.DrawMouse;
        {draw wait}
      end;
      rsBeting:
      begin
        MainForm.DrawRoulette;
        MainForm.DrawTimePanel;
        MainForm.DrawChipPanel;
        MainForm.DrawPlayerPanels;
        MainForm.DrawHistoryPanel;
        MainForm.DrawMouse;
      end;
      rsBeforeWheel:
      begin
        MainForm.DrawRoulette;
        MainForm.DrawTimePanel;
        MainForm.DrawPlayerPanels;
//        MainForm.DrawChipPanel;
//        MainForm.DrawHistoryPanel;
        MainForm.DrawMouse;
      end;
      rsWheeling:
      begin
        MainForm.DrawRoulette;
        MainForm.DrawScore;
        MainForm.DrawMouse;
      end;
      rsScore:
      begin
        MainForm.DrawRoulette;
        MainForm.DrawMouse;
  //      MainForm.DrawPaused;
      end;
    end;
    //MainForm.DrawFPS;
    MainForm.DXDraw.Flip;
  Except
    if not MainForm.DXDraw.CanDraw then
    begin
      try
        MainForm.DXDraw.Finalize;
        MainForm.DXDraw.Initialize;
      except
      end;
    end;
  end;
end;

var
  ii: integer;

procedure TRlt.Update;
begin
//update game state;
  if (not FHasInit) and (not DoInit) then Exit;
  case Round.State of
    rsWaitToBegin:
    begin
    {}
    end;
    rsDemo{開始本輪}:
    begin
      DoDemo;
    end;
    rsBeting{下注}:
    begin
      DoBeting;
    end;
    rsBeforeWheel{準備開局}:
    begin
      DoBeforeWheel;
    end;
    rsWheeling{轉(zhuǎn)盤}:
    begin
      DoWheeling;
    end;
    rsScore{分數(shù)}:
    begin
      DoScore;
    end;
    rsPaused{系統(tǒng)暫停}:
    begin
      DoPaused;
    end;
    rsStop :
    begin
      DoStop;
    end;
    //, rsSyn{數(shù)據(jù)同步});
  end;
  MainForm.KeyList.Clear;
  MouseState := 0;
  UpdateWheel;
end;

procedure TRlt.DoBeting;
var
  I, J: integer;
  Key : word;
  P : TPoint;
begin
// 開始新一局
  if Level2 =1 then
  begin
    FRoundBeginTime := LastTime - Round.CountDown*1000 + 1000;//誤差
    MainForm.PlaySoundBeginBet;
    Level2 := 2;
  end;

  //update
  GetCursorPos(P);
  P := MainForm.DXDraw.ScreenToClient(P);
  if MainForm.KeyList.Count>0 then begin
    for J := 0 to MainForm.KeyList.Count -1 do begin
      Key := Word(MainForm.KeyList[J]);
      for I := 0 to 3 do begin
        PlayerPanel[I].Update(P,MouseState, Key);
      end;
    end;
  end else begin
    for I := 0 to 3 do begin
      PlayerPanel[I].Update(P,MouseState, 0);
    end;
    ChipPanel.Update(P, MouseState, 0);
    TimePanel.Update(P, MouseState, 0);
    HistoryPanel.Update(P, MouseState, 0);
  end;
end;


constructor TRlt.Create;
begin
  FHasInit := false;
  Round.State := rsWaitToBegin;
  Level2 := 1;
end;

procedure TRlt.DoFinit;
begin

end;

function TRlt.DoInit : boolean;
begin
//1,第一次登入,2掉線后恢復(fù)登入
//syn server Roundstate 1.RoundNo, RoundScord,RoundState,PassTime,RoundCounter,
//RoundSetting.
  Result := false;
  if not RltConnection.Connected then Exit;
//  Round := TltInterpreter.CallGetCurrentRound;
//WaitRoundToBegin;
  Round.State := rsWaitToBegin;
  Level2 := 1;
//  FRoundScord := TltInterpreter.CallGetScore(Round.No, Round.WheelNo);
  WheelParams := TltInterpreter.CallGetWheelParams;

  FRoundBeginTime :=LastTime - WheelParams.WheelStartTickCount;
  UpdateWheelParams;
  FHasInit := true;
  Result := true;
end;

procedure TRlt.DoBeforeWheel;
begin
  if Level2 = 1 then begin
    MainForm.PlaySoundStopBet;
    Level2 := 2;
  end;
end;

procedure TRlt.DoPaused;
begin

end;

procedure TRlt.DoScore;
begin
  if Level2 =1 then begin
    MainForm.PlaySoundNum(Round.WheelResult);
    Level2 := 2;
  end;
end;

procedure TRlt.DoWheeling;
begin

end;

procedure TRlt.DoDemo;
begin

end;

function TRlt.GetCountDown: integer;
begin
  Result := TimeSetting.BeforeWheelTimeSet - Round.CountDown;
  if Result <=0 then Result := 0;
end;

procedure TRlt.SetCurrentRoundNo(const Value: integer);
begin
  FCurrentRoundNo := Value;
end;

procedure TRlt.UpdateWheelParams;
begin
  //更新了旋轉(zhuǎn)參數(shù),將速度進行適當?shù)恼{(diào)整,以達到目的結(jié)果;
  FRealWheelParams := WheelParams;
  CurrentWheelParam := FRealWheelParams.Params[0];
end;

procedure TRlt.UpdateWheel;
var
  DT : integer;
  i : integer;
  V : single;
  DV : single;
  MaxFrameTime : integer;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久免费精品视频在线观看| 日韩电影在线一区| av亚洲精华国产精华| 国产欧美综合在线| 国产精品亚洲第一区在线暖暖韩国| 精品久久一二三区| 国产精品一区二区视频| 国产日韩欧美a| 99re热视频精品| 亚洲综合丝袜美腿| 日韩欧美一二三四区| 精品一区二区三区久久久| 国产亚洲精品7777| 91麻豆免费在线观看| 一区二区久久久久久| 91麻豆精品国产91久久久| 精品一区二区在线免费观看| 国产精品久久久久久久久快鸭| 色94色欧美sute亚洲13| 秋霞午夜鲁丝一区二区老狼| 久久蜜臀中文字幕| 91老师片黄在线观看| 偷拍亚洲欧洲综合| 国产视频911| 欧美日韩精品一区二区| 国产一区二区三区免费看| 亚洲美女偷拍久久| 欧美丰满美乳xxx高潮www| 国产精品99久久久久久久vr| 亚洲综合一二三区| www欧美成人18+| 91成人免费在线| 国产自产v一区二区三区c| 亚洲免费观看高清完整版在线观看 | 亚洲精品少妇30p| 欧美丰满一区二区免费视频| 国产jizzjizz一区二区| 手机精品视频在线观看| 一区在线观看视频| 精品裸体舞一区二区三区| 一本色道久久综合精品竹菊 | 蓝色福利精品导航| 亚洲欧美视频一区| www国产亚洲精品久久麻豆| 91精品福利视频| 国产精品一二二区| 欧美a一区二区| 亚洲欧美日韩精品久久久久| 久久先锋影音av鲁色资源网| 欧美二区三区91| av在线综合网| 国产精品香蕉一区二区三区| 青青草97国产精品免费观看| 伊人色综合久久天天| 国产精品成人一区二区艾草| 亚洲精品在线免费播放| 欧美肥大bbwbbw高潮| 在线观看日韩av先锋影音电影院| 国产99久久久久| 激情欧美一区二区三区在线观看| 偷拍与自拍一区| 亚洲午夜在线视频| 亚洲综合清纯丝袜自拍| 亚洲你懂的在线视频| 中文字幕av在线一区二区三区| 精品久久人人做人人爱| 日韩精品一区二区三区视频 | 日韩精品中文字幕一区| 在线观看91av| 欧美一区二区黄| 欧美久久久久久久久| 欧美色老头old∨ideo| 9人人澡人人爽人人精品| 国产99久久久国产精品潘金网站| 国产精品66部| 不卡一区二区三区四区| hitomi一区二区三区精品| 国产成人一级电影| 成人ar影院免费观看视频| 成人少妇影院yyyy| www.日韩在线| 91免费看片在线观看| 色又黄又爽网站www久久| 一本色道久久综合狠狠躁的推荐| 91浏览器打开| 欧美日韩一区二区三区免费看| 欧美日韩免费一区二区三区视频| 欧美亚洲一区三区| 欧美美女bb生活片| 日韩欧美一二区| 久久亚洲免费视频| 国产精品传媒入口麻豆| 亚洲综合成人在线| 日韩电影在线免费看| 国产一区二区三区在线观看精品 | 亚洲人成网站在线| 亚洲在线视频免费观看| 天天综合色天天| 免费观看成人鲁鲁鲁鲁鲁视频| 蜜桃av一区二区在线观看| 国模一区二区三区白浆| 成人午夜精品一区二区三区| 91麻豆免费在线观看| 欧美精选一区二区| 亚洲精品一区二区三区精华液| 国产精品久久久久久妇女6080| 亚洲永久免费视频| 九九在线精品视频| gogogo免费视频观看亚洲一| 欧美探花视频资源| 久久综合色8888| 亚洲精品中文在线观看| 免费观看日韩av| av不卡免费电影| 欧美一区二区视频在线观看2020| 国产欧美一区二区精品忘忧草| 亚洲一卡二卡三卡四卡无卡久久| 九九**精品视频免费播放| 99re成人在线| 欧美不卡一二三| 亚洲已满18点击进入久久| 精品在线一区二区三区| 色诱亚洲精品久久久久久| 亚洲精品一区二区三区精华液 | 国内精品写真在线观看| 国产成人在线视频播放| 欧美日韩高清在线播放| 国产日韩影视精品| 日韩中文字幕麻豆| av电影在线观看完整版一区二区| 欧美一区二区三区性视频| 国产精品乱人伦一区二区| 日韩黄色免费网站| 一本到不卡精品视频在线观看| 精品国产1区2区3区| 午夜不卡在线视频| 91免费看`日韩一区二区| 国产日韩精品一区| 美女脱光内衣内裤视频久久网站 | 国产区在线观看成人精品| 午夜视频一区二区三区| 91啪九色porn原创视频在线观看| 精品国产网站在线观看| 日韩专区中文字幕一区二区| 色婷婷亚洲一区二区三区| 国产日韩av一区二区| 日韩和欧美一区二区三区| 欧美亚洲日本一区| 国产精品福利av| 成人性生交大合| 久久免费电影网| 韩国女主播一区二区三区| 欧美日韩国产成人在线91| 亚洲久本草在线中文字幕| 成人在线综合网站| 国产三级一区二区三区| 久久99国产精品麻豆| 欧美大度的电影原声| 视频一区中文字幕| 欧美日韩综合在线| 亚洲成av人影院在线观看网| 色先锋久久av资源部| 亚洲欧美日本在线| 91看片淫黄大片一级在线观看| 亚洲国产精品二十页| 国产成人av网站| 国产清纯白嫩初高生在线观看91 | 亚洲一区免费观看| 色婷婷亚洲一区二区三区| 亚洲视频1区2区| 色综合一个色综合| 亚洲人快播电影网| 在线观看国产日韩| 亚洲成a天堂v人片| 欧美一区二区三区四区五区 | 国产精品一区免费在线观看| 国产日韩欧美一区二区三区乱码| 高清成人在线观看| 国产精品成人在线观看| 色哟哟一区二区| 五月综合激情婷婷六月色窝| 欧美人伦禁忌dvd放荡欲情| 婷婷成人激情在线网| 日韩久久久久久| 成人爽a毛片一区二区免费| 国产精品久久久久久户外露出 | 久久精品视频一区| 不卡欧美aaaaa| 亚洲最新在线观看| 欧美精品国产精品| 狠狠色狠狠色综合日日91app| 欧美国产日韩在线观看| 91浏览器在线视频| 青青国产91久久久久久| 国产亚洲欧美日韩在线一区| 91麻豆成人久久精品二区三区| 午夜免费久久看| 久久久一区二区三区捆绑**| 一本色道亚洲精品aⅴ| 日韩精品久久理论片|