📄 cardtype.java
字号:
public class cardType {
public int type;//牌的类型
public int bigest;//该类型用来比较的最大一张
cardType()
{
type=0;
bigest=0;
}
cardType check(Card card[] ){
int i=0,j=0,k=0;
int m=0,tem2=0;
cardType tem=new cardType();
for(i=0;i<5;i++){//该循环后,根据k的值来判断type
tem2=tem2>card[i].pip?tem2:card[i].pip;
for(j=i+1;j<5;j++){
if(card[i].pip==card[j].pip){
m++;
tem.bigest=card[i].pip;
}
}
k=k>m?k:m;
m=0;
}
if(k==0){//没有对
tem.type=0;
tem.bigest=tem2;
}
if(k==1){
int tem1[]={0,0};
int tem3=0;
for(i=0;i<5;i++){
for(j=i+1;j<5;j++){
if(card[i].pip==card[j].pip){
tem1[tem3]=card[i].pip;
tem3++;
}
}
if(tem3==1){//只有一对
tem.type=1;
tem.bigest=tem1[0];
}
if(tem3==2){//有两不同对
tem.type=2;
tem.bigest=tem1[0]>tem1[1]?tem1[0]:tem1[1];
}
}
}
if(k==2){//有三张一样,再确定是否full house
int tem1[]={0,0};
int tem3=0;
for(i=0;i<5;i++){
if(card[i].pip!=tem.bigest){
tem1[tem3]=card[i].pip;
tem3++;
}
}
if(tem1[0]!=tem1[1]){////只有三张一样
tem.type=3;
tem.bigest=tem.bigest;
}
else{//full house,3+2
tem.type=6;
tem.bigest=tem.bigest;
}
}
if(k==3){//四张一样
tem.type=7;
tem.bigest=tem.bigest;
}
if(k==0){//看是不是顺子或同花
boolean shunzi=false;
boolean tonghua=true;
int max=0,min=100;
for(i=0;i<5;i++){
max=max>card[i].pip?max:card[i].pip;
min=min<card[i].pip?min:card[i].pip;
}
if(max-min==4){
shunzi=true;
}
for(i=0;i<4;i++){
if(card[i].face!=card[i+1].face){
tonghua=false;
}
}
if(shunzi==true){//是顺子
tem.type=4;
tem.bigest=max;
}
if(tonghua==true){//是同花
tem.type=5;
tem.bigest=card[i].face;
}
if(shunzi&&tonghua){//同花顺
tem.type=8;
tem.bigest=max;
}
if(!shunzi&&!tonghua){//散牌
tem.type=0;
tem.bigest=max;
}
}
return tem;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -