자바 24 시 카드 게임 실현
제목.
24 시 게임 은 전형 적 인 카드 퍼 즐 게임 이다.
일반적인 게임 규칙:
카드 에서 매번 네 장의 카드 를 꺼내다.가감 승제 를 사용 하면 첫 번 째 로 24 자가 이 길 수 있다.(이 가운데 J 대표 11,Q 대표 12,K 대표 13,A 대표 1)는 요구 에 따라 24 시 게임 을 프로 그래 밍 해 해결한다.
기본 요구:카드 면 을 대표 하 는 4 개의 숫자 자 모 를 무 작위 로 생 성 합 니 다.프로그램 은 24 를 계산 할 수 있 는 모든 표현 식 을 자동 으로 표시 하고 잘 하 는 언어(C/C++자바 또는 기타 가능)로 프로그램 문 제 를 해결 합 니 다.
분석 하 다.
빈 거 법 으로 네 개의 수 에 세 개의 연산 기호 로 구 성 된 표현 식 의 모든 가능 한 결 과 를 열거 하 다.
알고리즘 구현
import java.util.*;
public class point24 {
static int sum=0;
static int[] sum()//
{
Random rand=new Random();
int r1=(1+rand.nextInt(13));
int r2=(1+rand.nextInt(13));
int r3=(1+rand.nextInt(13));
int r4=(1+rand.nextInt(13));
System.out.print(" :");
switch(r1)
{
case 1 :System.out.print("A");break;
case 11:System.out.print("J");break;
case 12:System.out.print("Q");break;
case 13:System.out.print("K");break;
default:System.out.print(r1);break;
}
switch(r2)
{
case 1 :System.out.print(" A");break;
case 11:System.out.print(" J");break;
case 12:System.out.print(" Q");break;
case 13:System.out.print(" K");break;
default:System.out.print(" "+r2);break;
}
switch(r3)
{
case 1 :System.out.print(" A");break;
case 11:System.out.print(" J");break;
case 12:System.out.print(" Q");break;
case 13:System.out.print(" K");break;
default:System.out.print(" "+r3);break;
}
switch(r4)
{
case 1 :System.out.println(" A");break;
case 11:System.out.println(" J");break;
case 12:System.out.println(" Q");break;
case 13:System.out.println(" K");break;
default:System.out.println(" "+r4);break;
}
int [] s=new int[] {r1,r2,r3,r4};
return s;
}
static int js(int i,int j,int x)//
{
int m=0;
switch(x)
{
case 0:m=i+j;break;
case 1:m=i-j;break;
case 2:m=i*j;break;
case 3:
m=i/j;if(i%j!=0) m=-1;// m=-1,
break;
}
return m;
}
static String prin(int s1,int s2,int s3,int s4,int x1,int x2,int x3)//
{
String ch="";
switch(s1)
{
case 1 :System.out.print("A");ch="A";break;
case 11:System.out.print("J");ch="J";break;
case 12:System.out.print("Q");ch="Q";break;
case 13:System.out.print("K");ch="K";break;
default:System.out.print(s1);ch=(String)(s1+"0");break;
}
switch(x1)
{
case 0:System.out.print("+");ch+="+";break;
case 1:System.out.print("-");ch+="-";break;
case 2:System.out.print("*");ch+="*";break;
case 3:System.out.print("/");ch+="/";break;
}
switch(s2)
{
case 1 :System.out.print("A");ch+="A";break;
case 11:System.out.print("J");ch+="J";break;
case 12:System.out.print("Q");ch+="Q";break;
case 13:System.out.print("K");ch+="K";break;
default:System.out.print(s2);ch+=(String)(s2+"");break;
}
switch(x2)
{
case 0:System.out.print("+");ch+="+";break;
case 1:System.out.print("-");ch+="-";break;
case 2:System.out.print("*");ch+="*";break;
case 3:System.out.print("/");ch+="/";break;
}
switch(s3)
{
case 1 :System.out.print("A");ch+="A";break;
case 11:System.out.print("J");ch+="J";break;
case 12:System.out.print("Q");ch+="Q";break;
case 13:System.out.print("K");ch+="K";break;
default:System.out.print(s3);ch+=(String)(s3+"");break;
}
switch(x3)
{
case 0:System.out.print("+");ch+="+";break;
case 1:System.out.print("-");ch+="-";break;
case 2:System.out.print("*");ch+="*";break;
case 3:System.out.print("/");ch+="/";break;
}
switch(s4)
{
case 1 :System.out.println("A");ch+="A";break;
case 11:System.out.println("J");ch+="J";break;
case 12:System.out.println("Q");ch+="Q";break;
case 13:System.out.println("K");ch+="K";break;
default:System.out.println(s4);ch+=(String)(s4+"");break;
}
// System.out.println(" "+ch);
return ch;
}
static String[] con(int s[])//
{
boolean flag=false;
String[] ch=new String [100];
int js1,js2,js3=0;
for(int i = 0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(i!=j)
{
for(int k=0;k<4;k++)
{
if(i!=j&&j!=k&&i!=k)
{
for(int l=0;l<4;l++)
{
if(i!=j&&j!=k&&k!=l&&i!=k&&i!=l&&j!=l)
{
for(int x1=0;x1<3;x1++)
{
for(int x2=0;x2<3;x2++)
{
for(int x3=0;x3<3;x3++)
{
js1=js(s[i],s[j],x1);
if(js1==-1) continue;
js2=js(js1,s[k],x2);
if(js2==-1) continue;
js3=js(js2,s[l],x3);
if(js3==-1) continue;
if(js3!=-1)
{
if(js3==24)
{ ch[sum]=prin(s[i],s[j],s[k],s[l],x1,x2,x3);
flag=true;
sum++;
}
}
}}}}}}}}}}
if(flag==false)
{
System.out.println(" \"24 \"");
}
return ch;
}
public static void main(String[] args)
{
boolean f=false;
Scanner in=new Scanner(System.in);
while(!f)
{
int [] s=sum();// 4
con(s);//
System.out.println();
System.out.println(" (1)or (0)");
if(in.nextInt()==1)
{f=false;}
else
{f=true;}
}
}
}
실행 결과난수 생 성 테스트:
실행:
더 많은 하 이 라이트 게임 코드,클릭 하 세 요《게임 주 제》.읽 기
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.