96 lines
3.5 KiB
JavaScript
96 lines
3.5 KiB
JavaScript
//碰杠胡操作处理入口
|
|
mod_jxmj.poker_seatohand = function (o_room, playerRoom, seat, operate) {
|
|
//人数
|
|
var persons = [4, 4, 3, 2];
|
|
var person = persons[playerRoom.roomtype[6]] || 4;
|
|
var r = 0;
|
|
var throw_card = playerRoom.throw_card;//上家出过的牌
|
|
var jing = playerRoom.jing[1];//精
|
|
var last_seat = playerRoom.user_ctrl[1];//上个控制权用户
|
|
var pos = playerRoom.user_ctrl[8];//下次要摸牌的位置
|
|
var first_card = playerRoom.poker[pos];//最近的可摸得牌
|
|
//上个操作是吃 碰,当前不发牌
|
|
if (playerRoom.last_operate[0] == 1 || playerRoom.last_operate[0] == 3) {
|
|
first_card = -1;
|
|
}
|
|
// if(operate[2]>0 && playerRoom.tail_poker[7]>-1 && operate[0]>=4 && operate[0]<=5)
|
|
// {
|
|
// if(playerRoom.tail_poker[3]==operate[1])
|
|
// {first_card=playerRoom.tail_poker[3];}
|
|
// else if(playerRoom.tail_poker[4]==operate[1])
|
|
// {first_card=playerRoom.tail_poker[4];}
|
|
// else if(playerRoom.hand[seat][0].indexOf(operate[1])!=-1)
|
|
// {
|
|
// if(playerRoom.tail_poker[7]==1)
|
|
// {first_card=-1;}
|
|
// }
|
|
// else
|
|
// {return r;}
|
|
// }
|
|
var check_gang = 1;//杠的不是刚摸的牌,是手牌
|
|
var arr0 = mod_jxmj.get_common_oparate_poker(o_room, playerRoom, seat, operate);
|
|
r = mod_jxmj.operate_hu(o_room, playerRoom, seat, operate);//处理胡牌0
|
|
var r1 = mod_jxmj.operate_gang_AnGang_JiaGang(o_room, playerRoom, seat, operate);
|
|
if (r1 > 0) {
|
|
r = r1;
|
|
}
|
|
//杠碰吃、自摸杠暗杠、5,6胡听
|
|
if (arr0 && arr0.length > 0 || arr0 && arr0 == 2 || arr0 && arr0 == 3) {
|
|
if (arr0 == 3) {
|
|
r = 1;
|
|
}
|
|
else if (arr0 == 2) {
|
|
r = 2;
|
|
}
|
|
//放到亮牌处
|
|
else if (operate[0] < 4 || operate[0] == 6) {//mod_jxmj.seatohand(playerRoom,arr0,operate[0],seat,throw_card);
|
|
r = 1;
|
|
}
|
|
}
|
|
return r;
|
|
}
|
|
|
|
//处理用户过的操作
|
|
mod_jxmj.operate_guo = function (o_room, playerRoom, seat, operate) {
|
|
var arr = [];
|
|
var sea_seat = playerRoom.last_operate[2];
|
|
playerRoom.guopai[seat] = 0;
|
|
playerRoom.hu_card[seat] = [0, 0];
|
|
//处理长沙杠后胡
|
|
if (seat == playerRoom.tail_poker_hu[2][seat]) {
|
|
if (seat == playerRoom.tail_poker_hu[0]) {
|
|
playerRoom.tail_poker_hu = [-1, 0, [-1, -1, -1, -1], 0, [-1, -1, -1, -1]];//谁杠,胡牌0,[胡牌座位],胡牌1,[胡牌座位]
|
|
}
|
|
if (seat != playerRoom.tail_poker_hu[0]) {
|
|
playerRoom.tail_poker_hu[2][seat] = -1;
|
|
var n = 0;
|
|
for (var i = 0; i < 6; i++) {
|
|
if (playerRoom.tail_poker_hu[2][i] == -1) {
|
|
n += 1;
|
|
}
|
|
}
|
|
if (n == 4) {
|
|
playerRoom.tail_poker_hu[1] = 0;
|
|
}
|
|
}
|
|
}
|
|
if (seat == playerRoom.tail_poker_hu[4][seat]) {
|
|
if (seat == playerRoom.tail_poker_hu[0]) {
|
|
playerRoom.tail_poker_hu = [-1, 0, [-1, -1, -1, -1], 0, [-1, -1, -1, -1]];//谁杠,胡牌0,[胡牌座位],胡牌1,[胡牌座位]
|
|
}
|
|
if (seat != playerRoom.tail_poker_hu[0]) {
|
|
playerRoom.tail_poker_hu[4][seat] = -1;
|
|
var n = 0;
|
|
for (var i = 0; i < 6; i++) {
|
|
if (playerRoom.tail_poker_hu[4][i] == -1) {
|
|
n += 1;
|
|
}
|
|
}
|
|
if (n == 4) {
|
|
playerRoom.tail_poker_hu[3] = 0;
|
|
}
|
|
}
|
|
}
|
|
arr = mod_jxmj.re_common_oparate(o_room, playerRoom, seat, operate, sea_seat, 1);
|
|
return arr;
|
|
} |