目录结构调整
This commit is contained in:
156
codes/games/server/youle/server_room/class.player.js
Normal file
156
codes/games/server/youle/server_room/class.player.js
Normal file
@@ -0,0 +1,156 @@
|
||||
///////////////////////////////////////////////////
|
||||
///////// cls_youle_room_player: 玩家 /////////
|
||||
///////////////////////////////////////////////////
|
||||
var cls_youle_room_player = cls_youle_room_player || {
|
||||
//构造函数
|
||||
new: function(playerid, nickname, avatar, sex, playertype, ip, onstate, conmode, fromid){
|
||||
var player = {};
|
||||
//基本信息
|
||||
player.playerid = playerid; //玩家id
|
||||
player.nickname = nickname;
|
||||
player.avatar = avatar;
|
||||
player.sex = sex;
|
||||
player.playertype = playertype;
|
||||
player.ip = ip;
|
||||
player.onstate = onstate; //在线状态 null未连接 0在线 1离线 2电话中
|
||||
player.conmode = conmode; //连接方式
|
||||
player.fromid = fromid; //连接id
|
||||
|
||||
//初始化游戏数据
|
||||
player.gameinfo = {};
|
||||
player.gameinfo.o_game = null; //所在的游戏
|
||||
player.gameinfo.o_room = null; //所在的房间
|
||||
player.gameinfo.seat = -1; //房间内的位置
|
||||
player.gameinfo.isowner = -1; //房主标志 0:非房主 1:是房主
|
||||
player.gameinfo.agree = -1; //是否同意解散房间 0:申请解散 1:同意解散
|
||||
player.gameinfo.isbet = -1; //下注标志 0:未下注可离开房间 1:已下注不可离开房间
|
||||
player.gameinfo.grade = 0; //在房间内的得分
|
||||
|
||||
//在定义中没有写入的后加属性
|
||||
//player.gameinfo.isprepare = 0; //是否准备
|
||||
|
||||
//方法
|
||||
player.method = {};
|
||||
|
||||
//获取玩家的基础信息
|
||||
player.method.get_info = function(){
|
||||
return cls_youle_room_player.get_info(player);
|
||||
}
|
||||
|
||||
//进入房间
|
||||
player.method.enter_room = function(o_room, seat, isowner){
|
||||
cls_youle_room_player.enter_room(player, o_room, seat, isowner);
|
||||
}
|
||||
|
||||
//退出房间
|
||||
player.method.exit_room = function(){
|
||||
cls_youle_room_player.exit_room(player);
|
||||
}
|
||||
|
||||
return player;
|
||||
},
|
||||
|
||||
//获取玩家的基础信息
|
||||
get_info: function(o_player){
|
||||
var info = {};
|
||||
info.playerid = o_player.playerid;
|
||||
info.nickname = o_player.nickname;
|
||||
info.avatar = o_player.avatar;
|
||||
info.sex = o_player.sex;
|
||||
info.ip = o_player.ip;
|
||||
info.onstate = o_player.onstate;
|
||||
info.isprepare= o_player.gameinfo.isprepare;
|
||||
if (o_player.isrobot){
|
||||
info.bean = o_player.bean;
|
||||
} else {
|
||||
info.bean = null;
|
||||
}
|
||||
if (o_player.paycode) {
|
||||
info.paycode = o_player.paycode;
|
||||
}
|
||||
info.bean = o_player.bean;
|
||||
return info;
|
||||
},
|
||||
|
||||
//进入房间
|
||||
enter_room: function(o_player, o_room, seat, isowner){
|
||||
o_player.gameinfo.o_game = o_room.o_game;
|
||||
o_player.gameinfo.o_room = o_room;
|
||||
o_player.gameinfo.seat = seat;
|
||||
o_player.gameinfo.isowner = isowner;
|
||||
o_player.gameinfo.isbet = 0;
|
||||
o_player.gameinfo.agree = -1;
|
||||
o_player.gameinfo.grade = 0;
|
||||
|
||||
if (o_room.needprepare){
|
||||
o_player.gameinfo.isprepare = 0;
|
||||
} else {
|
||||
o_player.gameinfo.isprepare = 1;
|
||||
}
|
||||
|
||||
o_room.seatlist[seat] = o_player;
|
||||
if (isowner){
|
||||
o_room.owner = o_player;
|
||||
}
|
||||
|
||||
//更新tcp连接列表
|
||||
if (o_player.conmode == "tcp"){
|
||||
youle_room.tcps.method.load_tcp(o_player.fromid, o_player);
|
||||
}
|
||||
|
||||
//记录当前机器人数量
|
||||
if (o_player.isrobot){
|
||||
if (o_room.roommode){
|
||||
if (!o_room.o_game.robotcount){
|
||||
o_room.o_game.robotcount = 1;
|
||||
} else {
|
||||
o_room.o_game.robotcount = o_room.o_game.robotcount + o_room.beanmult;
|
||||
}
|
||||
// console.log('++机器人: ' + o_room.o_game.robotcount);
|
||||
}
|
||||
} else {
|
||||
if (o_room.sysroom){
|
||||
if (!o_room.o_game.sysroom_playercount){
|
||||
o_room.o_game.sysroom_playercount = [];
|
||||
}
|
||||
for (var i = 0; i < o_room.o_game.sysroom_playercount.length; i++) {
|
||||
if (JSON.stringify(o_room.o_game.sysroom_playercount[i].roomtype) == JSON.stringify(o_room.roomtype)){
|
||||
o_room.o_game.sysroom_playercount[i].playercount = o_room.o_game.sysroom_playercount[i].playercount + 1;
|
||||
return;
|
||||
}
|
||||
};
|
||||
var _v = {};
|
||||
_v.roomtype = o_room.roomtype;
|
||||
_v.playercount = 1;
|
||||
o_room.o_game.sysroom_playercount.push(_v);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
//退出房间
|
||||
exit_room: function(o_player){
|
||||
//更新tcp连接列表
|
||||
if (o_player.conmode == "tcp"){
|
||||
youle_room.tcps.method.delete_tcp(o_player.fromid);
|
||||
}
|
||||
|
||||
o_player.gameinfo.o_room.seatlist[o_player.gameinfo.seat] = null;
|
||||
|
||||
//记录当前机器人数量
|
||||
if (o_player.isrobot){
|
||||
if (o_player.gameinfo.o_room.roommode){
|
||||
o_player.gameinfo.o_game.robotcount = o_player.gameinfo.o_game.robotcount - o_player.gameinfo.o_room.beanmult;
|
||||
// console.log('--机器人: ' + o_player.gameinfo.o_room.o_game.robotcount);
|
||||
}
|
||||
} else {
|
||||
if (o_player.gameinfo.o_room.sysroom){
|
||||
for (var i = 0; i < o_player.gameinfo.o_game.sysroom_playercount.length; i++) {
|
||||
if (JSON.stringify(o_player.gameinfo.o_game.sysroom_playercount[i].roomtype) == JSON.stringify(o_player.gameinfo.o_room.roomtype)){
|
||||
o_player.gameinfo.o_game.sysroom_playercount[i].playercount = o_player.gameinfo.o_game.sysroom_playercount[i].playercount - 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user