📄 betmain.java
字号:
} if(handX==85&&handY==20) { g.drawImage(imageno2,74,5,g.TOP|g.LEFT); } if(handX==28&&handY==55) { g.drawImage(imageno3,17,41,g.TOP|g.LEFT); } if(handX==85&&handY==55) { g.drawImage(imageno4,74,41,g.TOP|g.LEFT); } if(handX==28&&handY==90) { g.drawImage(imageno5,17,77,g.TOP|g.LEFT); } if(handX==85&&handY==90) { g.drawImage(imageno6,74,77,g.TOP|g.LEFT); } g.drawImage(imageren,4,15,g.TOP|g.LEFT); g.drawImage(imagehand,handX,handY,g.TOP|g.LEFT); if(person=="yes") isFirst++; } if(isFirst==3) { if(indexcard<2) { sendcard(indexcard++); } else { if(indexcard==5) { if(compare(5)==1) { indexcard=0; for(int i=0;i<30;i++) { cardself[i]=0; cardenemy[i]=0; } totalcash0=totalcash0+money; money=0; checkself=0; checkenemy=0; } else { indexcard=0; for(int i=0;i<30;i++) { cardself[i]=0; cardenemy[i]=0; } money=0; checkself=0; checkenemy=0; } } if(checkself==checkenemy && indexcard-1==checkself && indexcard<5) { sendcard(indexcard++); } } if(cardenemy[indexcard-1]==cardself[indexcard-1]&&cardself[indexcard-1]!=0&&cardenemy[indexcard]==0 &&cardself[indexcard]==0) { if(compare(indexcard)==1) show=1; else show=0; } showcard(g); } repaint();//系统函数,不停刷新显示 try{ thread.sleep(100); }catch (InterruptedException ie){ } Display.getDisplay(omidlet).callSerially(this); } //////////////////////////////////////////////////////////////////////////// // 函数名: compare(int number) // 参数: number是需要比较牌的数量,5张为最多。 // 功能描述: 比较敌我双方当前桌面牌的大小,返回1为自己大, // ○为对方大。 // 算法描述: 1:cardself[];cardenemy[]为入口数据。 // 2:比较的依据: // 同花顺>铁支(四同)>葫芦(三条+对子)>顺子>三条>两对>对子 // 3:思想:做个结构体数组,有两个域,一个是数值,一个是花色, // 可以置为1,2,3,4, 4代表黑色,表示最大,数组的 // 大小为5,然后先看数组的五个元素的值是否是连续的, // 然后在看花色,然后计算出有几个是相同的,并且属于什 // 么类型的牌的重复,在看是否有数组元素的花色指数, // 最后就可以根据不同情况得到不同的指数。 // 采用概率越小指数越大的原则。 // 采用概率中的无重复任意抽选的计算公式。 // 4:分别对不同牌数的比较进行区分,双方都计算出牌大小的概率 // 指数,然后进行比较大小。 // 5:指数范围: // 同花顺>铁支(四同)>葫芦(三条+对子)>顺子>三条>两对>对子 // 71~74--61~65----------51~55-------------41~44--31~35--100~500+1~4--10~50+1~4 // 注: cardself[i*6+4]数值;cardself[i*6+5] 花色 //////////////////////////////////////////////////////////////////////////// public int compare(int number) { int coreself=0,coreenemy=0;//1:为自己大,0:为自己小 int k=1; int a[]=new int[2]; int j; int i; if(number==1) { if(cardself[1*6+4]==cardenemy[1*6+4] && cardself[1*6+5]>cardenemy[1*6+5]) return 0; if(cardself[1*6+4]==cardenemy[1*6+4] && cardself[1*6+5]<cardenemy[1*6+5]) return 1; if(cardself[1*6+4]>cardenemy[1*6+4]) return 1; else return 0; } if(number==2) { if(cardself[1*6+4]==cardself[2*6+4]) { if(cardself[1*6+5] > cardself[2*6+5]) coreself=(cardself[1*6+4]-10+1)*100+cardself[1*6+5]; if(cardself[1*6+5] < cardself[2*6+5]) coreself=(cardself[1*6+4]-10+1)*100+cardself[2*6+5]; } if(cardself[1*6+4]>cardself[2*6+4]) { coreself=(cardself[1*6+4]-10+1)*10+cardself[1*6+5]; } if(cardself[1*6+4]<cardself[2*6+4]) { coreself=(cardself[1*6+4]-10+1)*10+cardself[2*6+5]; } if(cardenemy[1*6+4]==cardenemy[2*6+4]) { if(cardenemy[1*6+5] > cardenemy[2*6+5]) coreenemy=(cardenemy[1*6+4]-10+1)*100+cardenemy[1*6+5]; if(cardenemy[1*6+5] < cardenemy[2*6+5]) coreenemy=(cardenemy[1*6+4]-10+1)*100+cardenemy[2*6+5]; } if(cardenemy[1*6+4]>cardenemy[2*6+4]) { coreenemy=(cardenemy[1*6+4]-10+1)*10+cardenemy[1*6+5]; } if(cardenemy[1*6+4]<cardenemy[2*6+4]) { coreenemy=(cardenemy[1*6+4]-10+1)*10+cardenemy[2*6+5]; } if(coreself>coreenemy) return 1; if(coreself<coreenemy) return 0; } if(number==3) { a[0]=0; a[1]=0; k=1; for(i=2;i<4;i++) { for(j=1;j<i;j++) if(cardself[i*6+4]==cardself[j*6+4]) { if(a[0]!=0) { if(cardself[i*6+5]>cardself[j*6+5]) //选择花色更大的 a[1]=i; else a[1]=j; } else { if(cardself[i*6+5]>cardself[j*6+5]) //选择花色更大的 a[0]=i; else a[0]=j; } j=0; break; } if(j!=0) k++; } if(k==1) { coreself=(cardself[a[0]*6+4]-10+1)*1000; } if(k==2) { coreself=(cardself[a[0]*6+4]-10+1)*100+cardself[a[0]*6+5]; } if(k==3) { if(cardself[1*6+4]>cardself[2*6+4]) { if(cardself[1*6+4]>cardself[3*6+4]) coreself=(cardself[1*6+4]-10+1)*10+cardself[1*6+5]; else coreself=(cardself[3*6+4]-10+1)*10+cardself[3*6+5]; } else { if(cardself[2*6+4]>cardself[3*6+4]) coreself=(cardself[2*6+4]-10+1)*10+cardself[2*6+5]; else coreself=(cardself[3*6+4]-10+1)*10+cardself[3*6+5]; } } k=1; a[0]=0; a[1]=0; for(i=2;i<4;i++) { for(j=1;j<i;j++) if(cardenemy[i*6+4]==cardenemy[j*6+4]) { if(a[0]!=0) { if(cardenemy[i*6+5]>cardenemy[j*6+5]) //选择花色更大的 a[1]=i; else a[1]=j; } else { if(cardenemy[i*6+5]>cardenemy[j*6+5]) //选择花色更大的 a[0]=i; else a[0]=j; } j=0; break; } if(j!=0) k++; } if(k==1) { coreenemy=(cardenemy[a[0]*6+4]-10+1)*1000; } if(k==2) { coreenemy=(cardenemy[a[0]*6+4]-10+1)*100+cardenemy[a[0]*6+5]; } if(k==3) { if(cardenemy[1*6+4]>cardenemy[2*6+4]) { if(cardenemy[1*6+4]>cardenemy[3*6+4]) coreenemy=(cardenemy[1*6+4]-10+1)*10+cardenemy[1*6+5]; else coreenemy=(cardenemy[3*6+4]-10+1)*10+cardenemy[3*6+5]; } else { if(cardenemy[2*6+4]>cardenemy[3*6+4]) coreenemy=(cardenemy[2*6+4]-10+1)*10+cardenemy[2*6+5]; else coreenemy=(cardenemy[3*6+4]-10+1)*10+cardenemy[3*6+5]; } } if(coreself>coreenemy) return 1; if(coreself<coreenemy) return 0; } if(number==4) { //比较四个相同。 if(cardself[1*6+4]==cardself[2*6+4]&&cardself[1*6+4]==cardself[3*6+4] &&cardself[1*6+4]==cardself[4*6+4]) coreself=(cardself[1*6+4]-10+1)*1000; if(cardenemy[1*6+4]==cardenemy[2*6+4]&&cardenemy[1*6+4]==cardenemy[3*6+4] &&cardenemy[1*6+4]==cardenemy[4*6+4]) coreenemy=(cardenemy[1*6+4]-10+1)*1000; if(coreself>coreenemy) return 1; if(coreself<coreenemy) return 0; //比较三个相同 if((cardself[1*6+4]==cardself[2*6+4]&&cardself[1*6+4]==cardself[3*6+4]) ||(cardself[1*6+4]==cardself[2*6+4]&&cardself[1*6+4]==cardself[4*6+4]) ||(cardself[1*6+4]==cardself[3*6+4]&&cardself[1*6+4]==cardself[4*6+4]) ||(cardself[2*6+4]==cardself[3*6+4]&&cardself[2*6+4]==cardself[4*6+4])) { if(cardself[1*6+4]==cardself[2*6+4]) coreself=60+cardself[1*6+4]-10+1; if(cardself[3*6+4]==cardself[4*6+4]) coreself=60+cardself[3*6+4]-10+1; } if((cardenemy[1*6+4]==cardenemy[2*6+4]&&cardenemy[1*6+4]==cardenemy[3*6+4]) ||(cardenemy[1*6+4]==cardenemy[2*6+4]&&cardenemy[1*6+4]==cardenemy[4*6+4]) ||(cardenemy[1*6+4]==cardenemy[3*6+4]&&cardenemy[1*6+4]==cardenemy[4*6+4]) ||(cardenemy[2*6+4]==cardenemy[3*6+4]&&cardenemy[2*6+4]==cardenemy[4*6+4])) { if(cardenemy[1*6+4]==cardenemy[2*6+4]) coreenemy=60+cardenemy[1*6+4]-10+1; if(cardenemy[3*6+4]==cardenemy[4*6+4]) coreenemy=60+cardenemy[3*6+4]-10+1; } if(coreself>coreenemy) return 1; if(coreself<coreenemy) return 0; // k=1; a[0]=0; a[1]=0; for(i=2;i<5;i++) { for(j=1;j<i;j++) if(cardself[i*6+4]==cardself[j*6+4]) { if(a[0]!=0) { if(cardself[i*6+5]>cardself[j*6+5]) //选择花色更大的 a[1]=i; else a[1]=j; } else { if(cardself[i*6+5]>cardself[j*6+5]) //选择花色更大的 a[0]=i; else a[0]=j; } j=0; break; } if(j!=0) k++; } if(k==2) { if(cardself[a[0]*6+4]>cardself[a[1]*6+4]) coreself=(cardself[a[0]*6+4]-10+1)*1000+cardself[a[0]*6+5]; if(cardself[a[0]*6+4]<cardself[a[1]*6+4]) coreself=(cardself[a[1]*6+4]-10+1)*1000+cardself[a[1]*6+5]; } if(k==3) { coreself=(cardself[a[0]*6+4]-10+1)*100+cardself[a[0]*6+5]; } if(k==4) { if(cardself[1*6+4]>cardself[2*6+4]&&cardself[1*6+4]>cardself[3*6+4] &&cardself[1*6+4]>cardself[4*6+4]) { coreself=(cardself[1*6+4]-10+1)*10+cardself[1*6+5]; } if(cardself[2*6+4]>cardself[1*6+4]&&cardself[2*6+4]>cardself[3*6+4] &&cardself[2*6+4]>cardself[4*6+4]) { coreself=(cardself[2*6+4]-10+1)*10+cardself[2*6+5]; } if(cardself[3*6+4]>cardself[2*6+4]&&cardself[3*6+4]>cardself[1*6+4] &&cardself[3*6+4]>cardself[4*6+4]) { coreself=(cardself[3*6+4]-10+1)*10+cardself[3*6+5]; } if(cardself[4*6+4]>cardself[2*6+4]&&cardself[4*6+4]>cardself[3*6+4] &&cardself[4*6+4]>cardself[1*6+4]) { coreself=(cardself[4*6+4]-10+1)*10+cardself[4*6+5]; } } k=1; a[0]=0; a[1]=0; for(i=2;i<5;i++) { for(j=1;j<i;j++) if(cardenemy[i*6+4]==cardenemy[j*6+4]) { if(a[0]!=0) { if(cardenemy[i*6+5]>cardenemy[j*6+5]) //选择花色更大的 a[1]=i; else a[1]=j; } else { if(cardenemy[i*6+5]>cardenemy[j*6+5]) //选择花色更大的 a[0]=i; else a[0]=j; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -