av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

java實(shí)現(xiàn)24點(diǎn)紙牌游戲

瀏覽:4日期:2022-09-04 14:36:31

本文題目為大家分享了java實(shí)現(xiàn)24點(diǎn)紙牌游戲的具體代碼,供大家參考,具體內(nèi)容如下

題目

24點(diǎn)游戲是經(jīng)典的紙牌益智游戲。

常見游戲規(guī)則:

從撲克中每次取出4張牌。使用加減乘除,第一個(gè)能得出24者為贏。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求編程解決24點(diǎn)游戲。基本要求: 隨機(jī)生成4個(gè)代表撲克牌牌面的數(shù)字字母,程序自動列出所有可能算出24的表達(dá)式,用擅長的語言(C/C++/Java或其他均可)實(shí)現(xiàn)程序解決問題。

分析

用窮舉法列出四個(gè)數(shù)加上三個(gè)運(yùn)算符號所構(gòu)成的表達(dá)式所有可能的結(jié)果

算法實(shí)現(xiàn)

import java.util.*;public class point24 { static int sum=0; static int[] sum()//產(chǎn)生隨機(jī)數(shù)并顯示的方法 { 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('發(fā)出的牌為:'); 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)//兩個(gè)數(shù)之間計(jì)算符號確認(rèn) { 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,以便直接結(jié)束此次循環(huán) break; } return m; } static String prin(int s1,int s2,int s3,int s4,int x1,int x2,int x3)//打印解的表達(dá)式 { 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[])//枚舉計(jì)算是否存在解 { 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點(diǎn)''); } return ch; } public static void main(String[] args) { boolean f=false; Scanner in=new Scanner(System.in); while(!f) { int [] s=sum();//產(chǎn)生4個(gè)隨機(jī)紙牌 con(s);//求解并打印 System.out.println(); System.out.println('繼續(xù) (1)or結(jié)束(0)'); if(in.nextInt()==1) {f=false;} else {f=true;} } }}

運(yùn)行結(jié)果

隨機(jī)數(shù)產(chǎn)生測試:

java實(shí)現(xiàn)24點(diǎn)紙牌游戲

運(yùn)行:

java實(shí)現(xiàn)24點(diǎn)紙牌游戲

更多精彩游戲小代碼,請點(diǎn)擊《游戲?qū)n}》閱讀

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: www.4hu影院 | 日韩无| 91n成人 | 久久精品亚洲精品国产欧美 | 成人免费小视频 | 国产一区二区三区久久久久久久久 | 成人黄色电影在线观看 | 亚洲精品一区二区三区中文字幕 | 成人免费在线播放 | 欧美日韩在线一区二区 | 91在线观看免费 | 365夜爽爽欧美性午夜免费视频 | 91麻豆精品国产91久久久更新资源速度超快 | 中文字幕一区二区三区在线观看 | 免费黄色av | 欧美精品一区二区三区一线天视频 | 亚洲精品一区二三区不卡 | 黄色一级片在线播放 | 精品一区二区三区在线播放 | 国产在线观看不卡一区二区三区 | 欧美精品在线看 | 夜夜骑首页 | 亚洲综合色丁香婷婷六月图片 | 国产精品中文在线 | 亚洲一区二区三区四区五区中文 | 在线免费观看黄色 | hdfreexxxx中国妞| 亚洲精品乱码久久久久久9色 | 国产真实精品久久二三区 | avav在线看 | 91精品久久久久 | 国产h视频 | 国产成人综合一区二区三区 | 成年人网站在线观看视频 | 2018中文字幕第一页 | 久草在线在线精品观看 | 欧美激情一区二区 | www.日韩在线 | 午夜午夜精品一区二区三区文 | 亚洲欧美另类在线 | 久久精品成人 |