71 lines
1.8 KiB
JavaScript
71 lines
1.8 KiB
JavaScript
///////////////////////////////////////////////////
|
||
////////////////// cls_pai: 单张牌 ////////////////
|
||
///////////////////////////////////////////////////
|
||
var cls_pai = cls_pai || {
|
||
|
||
//创建单张牌实例
|
||
new: function(id, score, dealowner){
|
||
/*
|
||
参数说明:
|
||
id 牌的绝对id
|
||
score 牌在游戏中的分值
|
||
dealowner 发牌状态
|
||
|
||
扑克牌的统一编码规则:
|
||
1,牌面花色的定义 5:王 4:黑桃 3:红心 2:梅花 1:方块
|
||
2,牌面数值的定义 1:A 2:2 3:3 ... 9:9 10:10 11:J 12:Q 13:K 53:小王 54:大王
|
||
*/
|
||
var pai = {};
|
||
|
||
//属性
|
||
pai.id = id; //绝对id,即数组下标,从0开始计数
|
||
pai.score = score; //牌在游戏中的分值
|
||
pai.dealowner = dealowner; //发牌状态
|
||
//-1:规则去除的牌
|
||
// 0:未发的牌,即底牌
|
||
//>0:发牌发到谁手上,从1开始计数,即座位编号+1,座位编号是从0开始计数的
|
||
pai.playround = -1; //出牌状态
|
||
//-1:未出的牌
|
||
// 0:埋牌
|
||
//>0:牌是第几轮出出去的,从1开始计数
|
||
pai.playindex = -1; //本轮中的出牌顺序,从1开始计数
|
||
pai.playowner = -1; //出牌后被谁得到,与座位编号对应
|
||
|
||
//方法
|
||
pai.method = {};
|
||
|
||
//牌面花色
|
||
pai.method.get_flower = function(){
|
||
return cls_pai.get_flower(pai);
|
||
}
|
||
|
||
//牌面数值
|
||
pai.method.get_number = function(){
|
||
return cls_pai.get_number(pai);
|
||
}
|
||
|
||
return pai;
|
||
},
|
||
|
||
//获取牌面花色
|
||
get_flower: function(o_pai) {
|
||
var yu = o_pai.id % 54;
|
||
if (yu == 52 || yu == 53){ //小王大王
|
||
return 5;
|
||
}
|
||
return parseInt(yu / 13) + 1;
|
||
},
|
||
|
||
//获取牌面数值
|
||
get_number: function(o_pai) {
|
||
var yu = o_pai.id % 54;
|
||
if (yu == 52){ //小王
|
||
return 53;
|
||
}
|
||
if (yu == 53){ //大王
|
||
return 54;
|
||
}
|
||
return yu % 13 + 1;
|
||
}
|
||
}
|