📄 tltconst.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 + -