目录结构调整
This commit is contained in:
675
codes/games/client/Projects/zpy/js/paixu.js
Normal file
675
codes/games/client/Projects/zpy/js/paixu.js
Normal file
@@ -0,0 +1,675 @@
|
||||
var paixu = function(p,n){//排序
|
||||
var cardspz = [1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
|
||||
1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
|
||||
var car =[];
|
||||
if(n==0){
|
||||
for (var i = 0;i < p.length; i++) {
|
||||
p[i] = p[i]-1;
|
||||
}
|
||||
}
|
||||
for (var i = 0;i < p.length; i++) {
|
||||
car[i] = cardspz[p[i]];
|
||||
}
|
||||
var one = [0];
|
||||
var two = [0];
|
||||
var three = [0];
|
||||
var four = [0];
|
||||
var five = [0];
|
||||
var six = [0];
|
||||
var seven = [0];
|
||||
var eight = [0];
|
||||
var nine = [0];
|
||||
var ten = [0];
|
||||
var eleven = [0];
|
||||
var twelve = [0];
|
||||
var thirteen = [0];
|
||||
var fourteen = [0];
|
||||
//每种牌各多少张
|
||||
for(var i = 0;i < car.length; i++){
|
||||
switch (car[i]){
|
||||
case 15:
|
||||
fourteen[0] = fourteen[0]+1;
|
||||
fourteen.push(p[i]);
|
||||
break;
|
||||
case 14:
|
||||
fourteen[0] = fourteen[0]+1;
|
||||
fourteen.push(p[i]);
|
||||
break;
|
||||
case 13:
|
||||
thirteen[0] = thirteen[0]+1;
|
||||
thirteen.push(p[i]);
|
||||
break;
|
||||
case 12:
|
||||
twelve[0] = twelve[0]+1;
|
||||
twelve.push(p[i]);
|
||||
break;
|
||||
case 11:
|
||||
eleven[0] = eleven[0]+1;
|
||||
eleven.push(p[i]);
|
||||
break;
|
||||
case 10:
|
||||
ten[0] = ten[0]+1;
|
||||
ten.push(p[i]);
|
||||
break;
|
||||
case 9:
|
||||
nine[0] = nine[0]+1;
|
||||
nine.push(p[i]);
|
||||
break;
|
||||
case 8:
|
||||
eight[0] = eight[0]+1;
|
||||
eight.push(p[i]);
|
||||
break;
|
||||
case 7:
|
||||
seven[0] = seven[0]+1;
|
||||
seven.push(p[i]);
|
||||
break;
|
||||
case 6:
|
||||
six[0] = six[0]+1;
|
||||
six.push(p[i]);
|
||||
break;
|
||||
case 5:
|
||||
five[0] = five[0]+1;
|
||||
five.push(p[i]);
|
||||
break;
|
||||
case 4:
|
||||
four[0] = four[0]+1;
|
||||
four.push(p[i]);
|
||||
break;
|
||||
case 3:
|
||||
three[0] = three[0]+1;
|
||||
three.push(p[i]);
|
||||
break;
|
||||
case 2:
|
||||
two[0] = two[0]+1;
|
||||
two.push(p[i]);
|
||||
break;
|
||||
case 1:
|
||||
one[0] = one[0]+1;
|
||||
one.push(p[i]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
var plist = [[]];
|
||||
plist = [one,two,three,four,five,six,seven,eight,nine,ten,eleven,twelve,thirteen,fourteen];
|
||||
//张数多的在前面
|
||||
plist.sort(px);
|
||||
var yi = [];
|
||||
var er = [];
|
||||
var san = [];
|
||||
var si = [];
|
||||
var wu = [];
|
||||
var liu = [];
|
||||
var qi = [];
|
||||
var ba = [];
|
||||
for (var i =0;i<plist.length;i++ ) {
|
||||
plist[i].splice(0,1);
|
||||
}
|
||||
//把张数相同的牌放一起
|
||||
for (var i =0;i<plist.length;i++ ) {
|
||||
switch (plist[i].length){
|
||||
case 1:
|
||||
for (var j = 0;j<plist[i].length;j++) {
|
||||
yi.push(plist[i][j]);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
for (var j = 0;j<plist[i].length;j++) {
|
||||
er.push(plist[i][j]);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
for (var j = 0;j<plist[i].length;j++) {
|
||||
san.push(plist[i][j]);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
for (var j = 0;j<plist[i].length;j++) {
|
||||
si.push(plist[i][j]);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
for (var j = 0;j<plist[i].length;j++) {
|
||||
wu.push(plist[i][j]);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
for (var j = 0;j<plist[i].length;j++) {
|
||||
liu.push(plist[i][j]);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
for (var j = 0;j<plist[i].length;j++) {
|
||||
qi.push(plist[i][j]);
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
for (var j = 0;j<plist[i].length;j++) {
|
||||
ba.push(plist[i][j]);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//每种张数的排序
|
||||
yi.sort(ss);
|
||||
er.sort(ss);
|
||||
san.sort(ss);
|
||||
si.sort(ss);
|
||||
wu.sort(ss);
|
||||
liu.sort(ss);
|
||||
qi.sort(ss);
|
||||
ba.sort(ss);
|
||||
var card = [];
|
||||
//把每种张数从大到小依次加入数组
|
||||
for (var i =0;i<ba.length;i++ ) {
|
||||
card.push(ba[i]);
|
||||
}
|
||||
for (var i =0;i<qi.length;i++ ) {
|
||||
card.push(qi[i]);
|
||||
}
|
||||
for (var i =0;i<liu.length;i++ ) {
|
||||
card.push(liu[i]);
|
||||
}
|
||||
for (var i =0;i<wu.length;i++ ) {
|
||||
card.push(wu[i]);
|
||||
}
|
||||
for (var i =0;i<si.length;i++ ) {
|
||||
card.push(si[i]);
|
||||
}
|
||||
for (var i =0;i<san.length;i++ ) {
|
||||
card.push(san[i]);
|
||||
}
|
||||
for (var i =0;i<er.length;i++ ) {
|
||||
card.push(er[i]);
|
||||
}
|
||||
for (var i =0;i<yi.length;i++ ) {
|
||||
card.push(yi[i]);
|
||||
}
|
||||
if(n==0){
|
||||
for (var i = 0;i < card.length; i++) {
|
||||
card[i] = card[i]+1;
|
||||
}
|
||||
}
|
||||
return card;
|
||||
|
||||
}
|
||||
var px = function (a,b) {//不同张数炸弹排序
|
||||
if (a[0] < b[0]) {//1
|
||||
return 1;
|
||||
}
|
||||
else if (a[0] > b[0]) {//-1
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
var pxa = function (a,b) {//不同张数炸弹帧数排序 包括王
|
||||
if (a[0] < b[0]) {//-1
|
||||
return -1;
|
||||
}
|
||||
else if (a[0] > b[0]) {//1
|
||||
return 1;
|
||||
}else if (a[0] == b[0]) {
|
||||
if (a[1]==54) {
|
||||
return 1;
|
||||
}
|
||||
if (a[2]==54) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
var pxb = function (a,b) {//同张数炸弹排序
|
||||
var x=0;
|
||||
var y=0;
|
||||
var pai = [1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
|
||||
x = pai[a[1]-1];
|
||||
y = pai[b[1]-1];
|
||||
if (a[0] < b[0]) {//1
|
||||
return 1;
|
||||
}
|
||||
else if (a[0] > b[0]) {//-1
|
||||
return -1;
|
||||
}
|
||||
else{
|
||||
if (x>y) {//-1
|
||||
if (y==1) {
|
||||
if (x==2||x>13) {
|
||||
return -1;
|
||||
}else{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (y==2) {
|
||||
if (x>13) {
|
||||
return -1;
|
||||
}else{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
|
||||
}
|
||||
else if(x<y){//1
|
||||
if (x==1) {
|
||||
if (y==2||y>13) {
|
||||
return 1;
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
if (x==2) {
|
||||
if (y>13) {
|
||||
return 1;
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
var dxpx = function (p, n) {//比较大小
|
||||
if (n==0) {
|
||||
for (var i = 0;i < p.length; i++) {
|
||||
p[i] = p[i]-1;
|
||||
}
|
||||
}
|
||||
p.sort(ss);
|
||||
if (n==0) {
|
||||
for (var i = 0;i < p.length; i++) {
|
||||
p[i] = p[i]+1;
|
||||
}
|
||||
}
|
||||
return p;
|
||||
}
|
||||
var ss = function (a, b) {//比较大小
|
||||
var x=0;
|
||||
var y=0;
|
||||
var pai = [1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
|
||||
1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
|
||||
x = pai[a];
|
||||
y = pai[b];
|
||||
if (x < y) {//1
|
||||
if(x==1){
|
||||
if (y==2) {
|
||||
return 1;
|
||||
}
|
||||
else if (y>13) {
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else if (x==2) {
|
||||
if (y>13) {
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if (x > y) {//-1
|
||||
if(y==1){
|
||||
if (x==2) {
|
||||
return -1;
|
||||
}
|
||||
else if (x>13) {
|
||||
return -1;
|
||||
}
|
||||
else{
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
else if (y==2) {
|
||||
if (x>13) {
|
||||
return -1;
|
||||
}
|
||||
else{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
else {//如相等 黑色花色在前
|
||||
if (a>53) {
|
||||
a=a-54;
|
||||
}
|
||||
if (b>53) {
|
||||
b=b-54;
|
||||
}
|
||||
if (a>b) {//-1
|
||||
if (a+26>=52&&a+13<52) {//如果 a是红心
|
||||
if (a-26==b) {//如果b 是方块
|
||||
return -1;
|
||||
}
|
||||
else{
|
||||
return 1;
|
||||
}
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
else if(a<b){//1
|
||||
if (b+26>=52&&b+13<52) {//b是红心
|
||||
if (b-26==a) {//a是方块
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
return -1;
|
||||
}
|
||||
|
||||
}else{
|
||||
return 1;
|
||||
}
|
||||
}else if(a==b){
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
var againsort = function (so) {
|
||||
|
||||
if (so == 1) {//张数排序
|
||||
if(banben == 1){
|
||||
//id排序
|
||||
var lp = zhaopengyou_bianliang.pub.lipai;
|
||||
var lipai = [];
|
||||
// 理牌牌在前
|
||||
for(var i=0;i<zhaopengyou_bianliang.pub.lipai.length;i++){
|
||||
lipai = lipai.concat(zhaopengyou_bianliang.pub.lipai[i]);
|
||||
}
|
||||
var paiidcpy = zhaopengyou_bianliang.pub.paiid.concat();
|
||||
for(var k=0;k<lipai.length;k++){
|
||||
for(var j=0;j<paiidcpy.length;j++){
|
||||
if(lipai[k] == paiidcpy[j]){
|
||||
paiidcpy.splice(j,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
zhaopengyou_bianliang.pub.paiid = lipai.concat(zd_paixu(paiidcpy));
|
||||
}else{
|
||||
//id排序
|
||||
var lp = zhaopengyou_bianliang.pub.lipai;
|
||||
var lipai = [];
|
||||
// 理牌牌在前
|
||||
for(var i=0;i<zhaopengyou_bianliang.pub.lipai.length;i++){
|
||||
lipai = lipai.concat(zhaopengyou_bianliang.pub.lipai[i]);
|
||||
}
|
||||
var paiidcpy = zhaopengyou_bianliang.pub.paiid.concat();
|
||||
for(var k=0;k<lipai.length;k++){
|
||||
for(var j=0;j<paiidcpy.length;j++){
|
||||
if(lipai[k] == paiidcpy[j]){
|
||||
paiidcpy.splice(j,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
zhaopengyou_bianliang.pub.paiid = lipai.concat(paixu(paiidcpy,1));
|
||||
}
|
||||
set_self(1389,43,2,0,0);
|
||||
}
|
||||
if(so == 0){//大小排序
|
||||
//id排序
|
||||
var lp = zhaopengyou_bianliang.pub.lipai;
|
||||
var lipai = [];
|
||||
// 理牌牌在前
|
||||
for(var i=0;i<zhaopengyou_bianliang.pub.lipai.length;i++){
|
||||
lipai = lipai.concat(zhaopengyou_bianliang.pub.lipai[i]);
|
||||
}
|
||||
var paiidcpy = zhaopengyou_bianliang.pub.paiid.concat();
|
||||
for(var k=0;k<lipai.length;k++){
|
||||
for(var j=0;j<paiidcpy.length;j++){
|
||||
if(lipai[k] == paiidcpy[j]){
|
||||
paiidcpy.splice(j,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
zhaopengyou_bianliang.pub.paiid = lipai.concat(dxpx(paiidcpy,1));
|
||||
set_self(1389,43,1,0,0);
|
||||
}
|
||||
for (var i=0;i<zhaopengyou_bianliang.pub.paiid.length;i++) {
|
||||
set_self(1001+27-zhaopengyou_bianliang.pub.paiid.length+i,43,zhaopengyou_bianliang.pub.paiid[i]%54+1,0,0);
|
||||
}
|
||||
}
|
||||
var zd_paixu = function (pai) {
|
||||
|
||||
var daxiao = [];
|
||||
for(var i = 0; i<10;i++){
|
||||
daxiao[i] = [];
|
||||
}
|
||||
var wskpx= [[],[],[]];
|
||||
var wang = [[],[]];
|
||||
for (var i = 0; i < pai.length; i++) {
|
||||
switch ((pai[i]%54+1)%13){
|
||||
case 1:
|
||||
if(pai[i]==52||pai[i]==106){
|
||||
wang[0].push(pai[i]);
|
||||
}else{
|
||||
|
||||
daxiao[8].push(pai[i]);
|
||||
}
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if(pai[i]==53||pai[i]==107){
|
||||
wang[1].push(pai[i]);
|
||||
}else{
|
||||
daxiao[9].push(pai[i]);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
daxiao[0].push(pai[i]);
|
||||
break;
|
||||
case 4:
|
||||
daxiao[1].push(pai[i]);
|
||||
break;
|
||||
case 5:
|
||||
wskpx[0].push(pai[i]);
|
||||
break;
|
||||
case 6:
|
||||
daxiao[2].push(pai[i]);
|
||||
break;
|
||||
case 7:
|
||||
daxiao[3].push(pai[i]);
|
||||
break;
|
||||
case 8:
|
||||
daxiao[4].push(pai[i]);
|
||||
break;
|
||||
case 9:
|
||||
daxiao[5].push(pai[i]);
|
||||
break;
|
||||
case 10:
|
||||
wskpx[1].push(pai[i]);
|
||||
break;
|
||||
case 11:
|
||||
daxiao[6].push(pai[i]);
|
||||
break;
|
||||
case 12:
|
||||
daxiao[7].push(pai[i]);
|
||||
break;
|
||||
case 0:
|
||||
wskpx[2].push(pai[i]);
|
||||
break;
|
||||
//2 7 10 为 5 10 K
|
||||
}
|
||||
}
|
||||
for(var i= 0;i<daxiao.length;i++){
|
||||
if(daxiao[i].length == 0){
|
||||
daxiao.splice(i,1);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
if(wskpx[0].length>0 && wskpx[1].length>0 && wskpx[2].length>0){
|
||||
daxiao.sort(zd_px);
|
||||
}else{
|
||||
|
||||
if(wskpx[0].length){
|
||||
daxiao.push(wskpx[0]);
|
||||
}
|
||||
if(wskpx[1].length){
|
||||
daxiao.push(wskpx[1]);
|
||||
}
|
||||
if(wskpx[2].length){
|
||||
daxiao.push(wskpx[2]);
|
||||
}
|
||||
wskpx= [[],[],[]];
|
||||
daxiao.sort(zd_px);
|
||||
}
|
||||
|
||||
var jieguo = [];
|
||||
var jia = 0;
|
||||
for(var i= 0;i<daxiao.length;i++){
|
||||
daxiao[i].sort(ss);
|
||||
if(daxiao[i].length<=3 && jia == 0){
|
||||
jia = 1;
|
||||
if(wskpx[0].length){
|
||||
wskpx[0].sort(ss);
|
||||
jieguo.push(wskpx[0]);
|
||||
}
|
||||
if(wskpx[1].length){
|
||||
wskpx[1].sort(ss);
|
||||
jieguo.push(wskpx[1]);
|
||||
}
|
||||
if(wskpx[2].length){
|
||||
wskpx[2].sort(ss);
|
||||
jieguo.push(wskpx[2]);
|
||||
}
|
||||
if(wang[1].length){
|
||||
wang[1].sort(ss);
|
||||
jieguo.push(wang[1]);
|
||||
}
|
||||
if(wang[0].length){
|
||||
wang[0].sort(ss);
|
||||
jieguo.push(wang[0]);
|
||||
}
|
||||
wang = [];
|
||||
}
|
||||
jieguo.push(daxiao[i]);
|
||||
}
|
||||
if(jia == 0){
|
||||
if(wskpx[0].length){
|
||||
wskpx[0].sort(ss);
|
||||
jieguo.push(wskpx[0]);
|
||||
}
|
||||
if(wskpx[1].length){
|
||||
wskpx[1].sort(ss);
|
||||
jieguo.push(wskpx[1]);
|
||||
}
|
||||
if(wskpx[2].length){
|
||||
wskpx[2].sort(ss);
|
||||
jieguo.push(wskpx[2]);
|
||||
}
|
||||
if(wang[1].length){
|
||||
wang[1].sort(ss);
|
||||
jieguo.push(wang[1]);
|
||||
}
|
||||
if(wang[0].length){
|
||||
wang[0].sort(ss);
|
||||
jieguo.push(wang[0]);
|
||||
}
|
||||
wang = [];
|
||||
}
|
||||
|
||||
var paiwan = [];
|
||||
for(var i= 0;i<jieguo.length;i++){
|
||||
for(var j= 0;j<jieguo[i].length;j++){
|
||||
paiwan.push(jieguo[i][j]);
|
||||
}
|
||||
}
|
||||
return paiwan;
|
||||
|
||||
|
||||
}
|
||||
var zd_px = function (a,b) {//不同张数炸弹排序
|
||||
|
||||
if(a.length == 0){
|
||||
return 1;
|
||||
}
|
||||
if(a.length>=4 || b.length>=4){
|
||||
if (a.length < b.length) {//1
|
||||
return 1;
|
||||
}
|
||||
else if (a.length > b.length) {//-1
|
||||
return -1;
|
||||
}else{
|
||||
if((a[0]%54)%13>(b[0]%54)%13){
|
||||
if((b[0]%54)%13 == 0 &&(a[0]%54)%13 != 1){
|
||||
return 1;
|
||||
}else if((b[0]%54)%13 == 1){
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
}else if((a[0]%54)%13<(b[0]%54)%13){
|
||||
if((a[0]%54)%13 == 0 &&(b[0]%54)%13 != 1){
|
||||
return -1;
|
||||
}else if((a[0]%54)%13 == 1){
|
||||
return -1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if((a[0]%54)%13>(b[0]%54)%13){
|
||||
if((b[0]%54)%13 == 0 &&(a[0]%54)%13 != 1){
|
||||
return 1;
|
||||
}else if((b[0]%54)%13 == 1){
|
||||
return 1;
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}else if((a[0]%54)%13<(b[0]%54)%13){
|
||||
if((a[0]%54)%13 == 0 &&(b[0]%54)%13 != 1){
|
||||
return -1;
|
||||
}else if((a[0]%54)%13 == 1){
|
||||
return -1;
|
||||
}else{
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user