电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java實現24點紙牌游戲

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

本文題目為大家分享了java實現24點紙牌游戲的具體代碼,供大家參考,具體內容如下

題目

24點游戲是經典的紙牌益智游戲。

常見游戲規則:

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

分析

用窮舉法列出四個數加上三個運算符號所構成的表達式所有可能的結果

算法實現

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;} } }}

運行結果

隨機數產生測試:

java實現24點紙牌游戲

運行:

java實現24點紙牌游戲

更多精彩游戲小代碼,請點擊《游戲專題》閱讀

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 石英粉,滑石粉厂家,山东滑石粉-莱州市向阳滑石粉有限公司 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 宝鸡市人民医院| SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 美名宝起名网-在线宝宝、公司、起名平台 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 山东集装箱活动房|济南集装箱活动房-济南利森集装箱有限公司 | 湖南教师资格网-湖南教师资格证考试网 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 深圳彩钢板_彩钢瓦_岩棉板_夹芯板_防火复合彩钢板_长鑫 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 集装箱标准养护室-集装箱移动式养护室-广州璟业试验仪器有限公司 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 123悬赏网_发布悬赏任务_广告任务平台 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 艾乐贝拉细胞研究中心 | 国家组织工程种子细胞库华南分库 | 通风天窗,通风气楼,屋顶通风天窗,屋顶通风天窗公司 | 酸度计_PH计_特斯拉计-西安云仪 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 导电银胶_LED封装导电银胶_半导体封装导电胶厂家-上海腾烁 | 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 碳钢法兰厂家,非标法兰,定制异型,法兰生产厂家-河北九瑞管道 | 西门子气候补偿器,锅炉气候补偿器-陕西沃信机电工程有限公司 | 福尔卡(北京)新型材料技术股份有限公司| 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 精密模具-双色注塑模具加工-深圳铭洋宇通| 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 飞象网 - 通信人每天必上的网站| 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 半容积式换热器_北京浮动盘管换热器厂家|北京亿丰上达 | 红外光谱仪维修_二手红外光谱仪_红外压片机_红外附件-天津博精仪器 |