?? pgmprotect.pas
字號:
unit PGmProtect;
interface
uses
IdTCPServer;
type
SGameKind = (SGKsh, SGKsk, SGKddz); //游戲類型
PRWaiteTab = ^RWaiteTab;
RWaiteTab = packed record
TabID: Cardinal;
TabKind: SGameKind;
TabName: string[40];
TabPlayerCount: Byte;
TabMaxCount:Byte;
end;
PRPlayer = ^Rplayer;
Rplayer = record //玩家結構
Index: Byte; //自己的索引
ID: Cardinal; //id號
Name: string[20]; //呢稱
Contenting: TIdPeerThread; //連接
ReadGame: boolean; //準備好開始游戲
PassCurrGame: boolean; //是否放棄了當前游戲
TotMoney: Integer; //總分
end;
RHead = packed record
Cmid: Cardinal;
end;
RCTS_login = packed record
Acc: string[20];
psd: string[20];
end;
RCTS_Login_RESP = packed record
Code: string[20];
end;
RCTS_CreateTab = packed record
TabName: string[40];
TabKind: SGameKind;
end;
RCTS_CreateTab_RESP = packed record
tabid: Cardinal;
end;
RCTS_JoinTab = packed record
TabID: Cardinal;
end;
RCTS_JoinTab_RESP = packed record
TabId: Cardinal;
PlayerINDEX: byte;
end;
RCTS_ReadyGame = packed record
TabID: Cardinal;
PlayerINDEX: byte;
STate: boolean;
end;
RCTS_LeaveTab = packed record
TabID: Cardinal;
PlayerID: Byte;
end;
RCTS_Chat=Packed Record
SendIdx:Cardinal;
TabID:Cardinal;
PlayerID:Byte;
Content:string[128];
end;
RCTS_GetOnlinesUser=Packed Record
Count:Integer;
end;
RCTS_UseWin=Packed Record
TabId:Cardinal;
PlayIdx:Byte;
AddScore:Integer;
end;
RSTC_GiveCards = packed record
CardsSize: Cardinal;
Count: Byte;
SupperState: boolean; //是否創建大小鬼
LoopCount: Byte; //循環次數
end;
RSTC_ReSetPalyerIDX = packed record
NewIdx: Byte;
end;
RSTC_GiveWaiteTabList = packed record
ListSize: Cardinal;
end;
sTabChange = (TabAdd, TabFree, TabAddPlayer, TabDeletePlayer);
RSTC_TabChange = packed record
Kind: sTabChange;
Param: Cardinal;
WaiteTab: RWaiteTab;
end;
RSTC_GiveTabPlayerList = packed record
size: Cardinal;
Count: Cardinal;
end;
sPlayerChange = (PlayerIn, PlayerOut, PlayerReady, PlayernotReady);
RSTC_PlayerIO = packed record
Kind: sPlayerChange;
Idx: Byte;
Player: Rplayer;
State: boolean;
end;
RSTC_GiveBeginPlayerIdx = packed record
Index: Byte;
end;
RSTC_PlayerSendCards = packed record
TabID: Cardinal;
PlayerIdx: Byte;
SendCards: string[20]; //牌的索引可以用|分隔
Scores: Integer; //下的注
end;
RSTC_PlayerPass = packed record
TabID: Cardinal;
PLayerIdx: byte;
end;
Function TranstrlGameState(Ikind:SGameKind):String;
const
CappstateNormal = '正常狀態';
CappStateStop = '服務停止狀態';
CappStateTermintal = '程序結束狀態';
CErrorCode = 99;
Cmid_CTS_Login = 10001; //登陸
ClogRESP1 = '成功登陸';
ClogRESP2 = '用戶名不存在';
ClogRESP3 = '用戶名或者密碼錯誤';
Cmid_CTS_ReadyGame = 10002; //準備開始游戲
CMid_CTS_DisConn = 10003; //斷開連接
CMid_CTS_JoinTab = 10004; //加入Tab
CMID_CTS_LeaveTab = 10005; //離開桌子
CMID_CTS_CreateTab = 10006; //創建桌子
Cmid_CTS_Chat=10007; //聊天
Cmid_CTS_GetOnlinesUser=10008;//獲取在線用戶
Cmid_CTS_Userwin=10009;//用戶贏了+分
Cmid_STC_GiveCards = 20001; //接收牌局
CMID_STC_ReSetPlayerIDX = 20002; //重新設置玩家在這張桌子的索引iD號
Cmid_STC_GiveWaiteTabList = 20003; //發送在等待桌子的列表
Cmid_STC_TabChange = 20004; //桌子產生變動
Cmid_STC_GiveTabPlayerList = 20005; //給tab用戶列表
Cmid_STC_PlayerIO = 20006; //玩家變動
Cmid_STC_GiveBeginPlayerIdx = 20007; //給開始玩家的索引
Cmid_STC_UserSendCards = 20008; //玩家出牌
Cmid_STC_UserPass = 20009; //玩家放棄或跳過
implementation
Function TranstrlGameState(Ikind:SGameKind):String;
Begin
Case Ikind Of //
SGKsh:Result:='梭哈';
Else Result:='不認識的類型';
End; // case
End;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -