目录结构调整
This commit is contained in:
345
codes/games/client/Projects/zpy/js/class/arithmetic.js
Normal file
345
codes/games/client/Projects/zpy/js/class/arithmetic.js
Normal file
@@ -0,0 +1,345 @@
|
||||
var cls_zhaopengyou_tishi = cls_zhaopengyou_tishi ||{
|
||||
jinxian_tishi : function(){
|
||||
var zuixiaopai = null;
|
||||
var zuidapai = null;
|
||||
var tishipai = [];
|
||||
tishipai = this.jinxian_tishizha(4);
|
||||
return tishipai;
|
||||
},
|
||||
jinxian_tishizha: function(a){
|
||||
var tishipai = [];
|
||||
var wangtishi = this.wang_tishi();
|
||||
var wsktishi = this.jinxian_ksw_tishi();
|
||||
// 先除去理牌
|
||||
|
||||
var lp = zhaopengyou_bianliang.pub.lipai.concat();
|
||||
|
||||
var paiidcpy = zhaopengyou_bianliang.pub.paiid.concat();
|
||||
var pxList = [];
|
||||
var paiList = [];
|
||||
// 手牌中去掉理牌后剩下的牌
|
||||
for(var i=0;i<lp.length;i++){
|
||||
//将牌id列表转换成牌对象列表
|
||||
var dq_dapai = cls_zhaopengyou_aset.CardIdsToCards(paiju, lp[i]);
|
||||
//排序
|
||||
dq_dapai = cls_zhaopengyou_card.SortCardList(dq_dapai)
|
||||
//获取牌型
|
||||
var px = cls_zhaopengyou_paixing.jinxian_zhaopengyou(dq_dapai);
|
||||
// 特殊牌
|
||||
if (dq_dapai.length == 3 || dq_dapai.length == 4 || dq_dapai.length >= 9) {
|
||||
if (banben == 0) {
|
||||
var teshupai = ksw_zhaopengyou.jinxian(dq_dapai);
|
||||
if (teshupai.length) {
|
||||
px = teshupai;
|
||||
put = true;
|
||||
}
|
||||
} else {
|
||||
var teshupai = ksw_zhaopengyou.chongren(dq_dapai);
|
||||
if (teshupai.length) {
|
||||
px = teshupai;
|
||||
put = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 是否为炸弹
|
||||
|
||||
if(px[0][0]>=4 && px[0][1] == 1){
|
||||
pxList.push(px);
|
||||
paiList.push(dq_dapai);
|
||||
}
|
||||
for(var k=0;k<lp[i].length;k++){
|
||||
for(var j=0;j<paiidcpy.length;j++){
|
||||
if(lp[i][k] == paiidcpy[j]){
|
||||
paiidcpy.splice(j,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var pai = cls_zhaopengyou_aset.CardIdsToCards(paiju, paiidcpy);
|
||||
for (var i = a; i <= 8; i++) {
|
||||
var tishizha = cls_zhaopengyou_card.GetCardListByCardTypeA(cls_zhaopengyou_card.SortCardList(pai,[0,0]),
|
||||
// 牌的类型 [所有可能,小到大,不拆牌,取所有情况] 起始牌
|
||||
[i,1], [0,0,0,0], null,null);
|
||||
|
||||
for (var l = 0; l < tishizha.length; l++) {
|
||||
tishipai.push(tishizha[l]);
|
||||
}
|
||||
if (i == 5 && wangtishi.length == 3) {
|
||||
tishipai.push(wangtishi);
|
||||
}
|
||||
}
|
||||
if (wangtishi.length == 4) {
|
||||
tishipai.push(wangtishi);
|
||||
}
|
||||
// 将理牌加入提示牌中
|
||||
|
||||
for(var i=0;i<pxList.length;i++){
|
||||
var paixing = pxList[i];
|
||||
var found = false;
|
||||
// console.log('paixing');
|
||||
// console.log(paixing);
|
||||
for(var j=0;j<tishipai.length;j++){
|
||||
|
||||
var dq_dapai = tishipai[j];
|
||||
|
||||
var px = cls_zhaopengyou_paixing.jinxian_zhaopengyou(dq_dapai);
|
||||
|
||||
if (dq_dapai.length == 3 || dq_dapai.length == 4 || dq_dapai.length >= 9) {
|
||||
if (banben == 0) {
|
||||
var teshupai = ksw_zhaopengyou.jinxian(dq_dapai);
|
||||
if (teshupai.length) {
|
||||
px = teshupai;
|
||||
put = true;
|
||||
}
|
||||
} else {
|
||||
var teshupai = ksw_zhaopengyou.chongren(dq_dapai);
|
||||
if (teshupai.length) {
|
||||
px = teshupai;
|
||||
put = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var p = cls_zhaopengyou_paixing.bipai_zhaopengyou(px, paixing, px[1][0][4], paixing[1][0][4], dq_dapai.length, zhaopengyou_bianliang.pub.zuidapai.length, zhaopengyou_bianliang.pub.paiid.length - dq_dapai.length);
|
||||
|
||||
if(p){
|
||||
found = true;
|
||||
tishipai.splice(j,0,paiList[i]);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if(!found){
|
||||
tishipai.push(paiList[i]);
|
||||
}
|
||||
}
|
||||
return tishipai;
|
||||
},
|
||||
wang_tishi :function(){
|
||||
var wang = [];
|
||||
var pai = cls_zhaopengyou_aset.CardIdsToCards(paiju, zhaopengyou_bianliang.pub.paiid);
|
||||
for (var i = 0; i < pai.length; i++) {
|
||||
if (pai[i][4] == 53 || pai[i][4] == 54) {
|
||||
wang.push(pai[i]);
|
||||
}
|
||||
}
|
||||
return wang;
|
||||
},
|
||||
jinxian_ksw_tishi: function(){
|
||||
var wu = [];
|
||||
var shi = [];
|
||||
var kai = [];
|
||||
var tishipai = [];
|
||||
// TODO: 理牌中的510K没有加入到510K的提示中
|
||||
var lp = zhaopengyou_bianliang.pub.lipai.concat();
|
||||
|
||||
var paiidcpy = zhaopengyou_bianliang.pub.paiid.concat();
|
||||
var pxList = [];
|
||||
var paiList = [];
|
||||
// 手牌中去掉理牌后剩下的牌
|
||||
for(var i=0;i<lp.length;i++){
|
||||
//将牌id列表转换成牌对象列表
|
||||
var dq_dapai = cls_zhaopengyou_aset.CardIdsToCards(paiju, lp[i]);
|
||||
//排序
|
||||
dq_dapai = cls_zhaopengyou_card.SortCardList(dq_dapai)
|
||||
//获取牌型
|
||||
var px = cls_zhaopengyou_paixing.jinxian_zhaopengyou(dq_dapai);
|
||||
// 特殊牌
|
||||
if (dq_dapai.length == 3 || dq_dapai.length == 4 || dq_dapai.length >= 9) {
|
||||
if (banben == 0) {
|
||||
var teshupai = ksw_zhaopengyou.jinxian(dq_dapai);
|
||||
if (teshupai.length) {
|
||||
px = teshupai;
|
||||
put = true;
|
||||
}
|
||||
} else {
|
||||
var teshupai = ksw_zhaopengyou.chongren(dq_dapai);
|
||||
if (teshupai.length) {
|
||||
px = teshupai;
|
||||
put = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 是否为炸弹
|
||||
|
||||
if(px[0][0]>=4 && px[0][1] == 1){
|
||||
pxList.push(px);
|
||||
paiList.push(dq_dapai);
|
||||
}
|
||||
for(var k=0;k<lp[i].length;k++){
|
||||
for(var j=0;j<paiidcpy.length;j++){
|
||||
if(lp[i][k] == paiidcpy[j]){
|
||||
paiidcpy.splice(j,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var pai = cls_zhaopengyou_aset.CardIdsToCards(paiju, paiidcpy);
|
||||
for (var i = 0; i < pai.length; i++) {
|
||||
switch (pai[i][4]){
|
||||
case 5:
|
||||
wu.push(pai[i]);
|
||||
tishipai.push(pai[i]);
|
||||
break;
|
||||
case 10:
|
||||
shi.push(pai[i]);
|
||||
tishipai.push(pai[i]);
|
||||
break;
|
||||
case 13:
|
||||
kai.push(pai[i]);
|
||||
tishipai.push(pai[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (wu.length <= shi.length && wu.length <= kai.length && wu.length >=3) {//有3副以上五十K
|
||||
return [tishipai];
|
||||
}else if (shi.length <= wu.length && shi.length <= kai.length && shi.length >=3) {//有3副以上五十K
|
||||
return [tishipai];
|
||||
}else if (kai.length <= wu.length && kai.length <= shi.length && kai.length >=3) {//有3副以上五十K
|
||||
return [tishipai];
|
||||
}else{//没有3副以上五十K
|
||||
tishipai = [];
|
||||
var zhengwsk = [];
|
||||
var fuwsk = [];
|
||||
for (var i = 0; i < wu.length; i++) {
|
||||
for (var j = 0; j < shi.length; j++) {
|
||||
if (wu[i][1] == shi[j][1]) {
|
||||
for (var l = 0; l < kai.length; l++) {
|
||||
if (wu[i][1] == kai[l][1]) {
|
||||
zhengwsk.push(wu[i]);
|
||||
zhengwsk.push(shi[j]);
|
||||
zhengwsk.push(kai[l]);
|
||||
wu.splice(i,1);
|
||||
shi.splice(j,1);
|
||||
kai.splice(l,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (zhengwsk.length) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (zhengwsk.length) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (wu.length>0&&shi.length>0&&kai.length>0) {
|
||||
fuwsk.push(wu[0]);
|
||||
fuwsk.push(shi[0]);
|
||||
fuwsk.push(kai[0]);
|
||||
}
|
||||
if (zhengwsk.length&&fuwsk.length) {
|
||||
return [fuwsk,zhengwsk];
|
||||
}
|
||||
if (zhengwsk.length) {
|
||||
return [zhengwsk];
|
||||
}
|
||||
if (fuwsk.length) {
|
||||
return [fuwsk];
|
||||
}
|
||||
}
|
||||
return [];
|
||||
},
|
||||
chongren_ksw_tishi: function(){
|
||||
var wu = [];
|
||||
var shi = [];
|
||||
var kai = [];
|
||||
var tishipai = [];
|
||||
var pai = cls_zhaopengyou_aset.CardIdsToCards(paiju, zhaopengyou_bianliang.pub.paiid);
|
||||
for (var i = 0; i < pai.length; i++) {
|
||||
switch (pai[i][4]){
|
||||
case 5:
|
||||
wu.push(pai[i]);
|
||||
break;
|
||||
case 10:
|
||||
shi.push(pai[i]);
|
||||
break;
|
||||
case 13:
|
||||
kai.push(pai[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (wu.length <= shi.length && wu.length <= kai.length && wu.length >=3) {//有3副以上五十K
|
||||
for(var i = 0;i<wu.length;i++){
|
||||
tishipai.push(wu[i]);
|
||||
tishipai.push(shi[i]);
|
||||
tishipai.push(kai[i]);
|
||||
}
|
||||
return [tishipai];
|
||||
}else
|
||||
if (shi.length <= wu.length && shi.length <= kai.length && shi.length >=3) {//有3副以上五十K
|
||||
for(var i = 0;i<shi.length;i++){
|
||||
tishipai.push(wu[i]);
|
||||
tishipai.push(shi[i]);
|
||||
tishipai.push(kai[i]);
|
||||
}
|
||||
return [tishipai];
|
||||
}else
|
||||
if (kai.length <= shi.length && kai.length <= wu.length && kai.length ==3) {//有3副以上五十K
|
||||
for(var i = 0;i<kai.length;i++){
|
||||
tishipai.push(wu[i]);
|
||||
tishipai.push(shi[i]);
|
||||
tishipai.push(kai[i]);
|
||||
}
|
||||
return [tishipai];
|
||||
}else{//没有3副以上五十K
|
||||
tishipai = [];
|
||||
var zhengwsk = [];
|
||||
var fuwsk = [];
|
||||
for (var i = 0; i < wu.length; i++) {
|
||||
for (var j = 0; j < shi.length; j++) {
|
||||
if (wu[i][1] == shi[j][1]) {
|
||||
for (var l = 0; l < kai.length; l++) {
|
||||
if (wu[i][1] == kai[l][1]) {
|
||||
zhengwsk.push(wu[i]);
|
||||
zhengwsk.push(shi[j]);
|
||||
zhengwsk.push(kai[l]);
|
||||
wu.splice(i,1);
|
||||
shi.splice(j,1);
|
||||
kai.splice(l,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (zhengwsk.length) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (zhengwsk.length) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (wu.length>0&&shi.length>0&&kai.length>0) {
|
||||
fuwsk.push(wu[0]);
|
||||
fuwsk.push(shi[0]);
|
||||
fuwsk.push(kai[0]);
|
||||
}
|
||||
if (zhengwsk.length&&fuwsk.length) {
|
||||
return [fuwsk,zhengwsk];
|
||||
}
|
||||
if (zhengwsk.length) {
|
||||
return [zhengwsk];
|
||||
}
|
||||
if (fuwsk.length) {
|
||||
return [fuwsk];
|
||||
}
|
||||
}
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user