24point

内容:
24点游戏是经典的纸牌益智游戏。
常见游戏规则:
从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。
基本要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题。
1.程序风格良好(使用自定义注释模板)
2.列出表达式无重复。
提高要求:用户初始生命值为一给定值(比如3),初始分数为0。随机生成4个代表扑克牌牌面的数字或字母,由用户输入包含这4个数字或字母的运算表达式(可包含括号),如果表达式计算结果为24则代表用户赢了此局。
1. 程序风格良好(使用自定义注释模板)
2.使用计时器要求用户在规定时间内输入表达式,如果规定时间内运算正确则加分,超时或运算错误则进入下一题并减少生命值(不扣分)。
3.所有成绩均可记录在TopList.txt文件中。

源代码

package point;

import java.util.Random;

public class Point {
	public static void main(String[] args) {
		Random r = new Random();//随机数对象
		int a = r.nextInt(13)+1;
		int b = r.nextInt(13)+1;
		int c = r.nextInt(13)+1;
		int d = r.nextInt(13)+1;
		System.out.println("随机生成四个1-13的整数");
		System.out.println("第一个整数:"+a);
		System.out.println("第二个整数:"+b);
		System.out.println("第三个整数:"+c);
		System.out.println("第四个整数:"+d);
		System.out.print("所有的算法可能:"+"\n");
		System.out.print(point(a,b,c,d));
	}
	private static int point(int a, int b, int c, int d) {
		if(a*b-c+d==24)
		    System.out.println(a+"*"+b+"-"+c+"+"+d+"=24"); 	
		if ((a-b)*c*d==24) 
		    System.out.println("("+a+"-"+b+")"+"*"+c+"*"+d+"=24");
		if ((a*b)+(c*d)==24) 
			System.out.println("("+a+"*"+b+")+("+c+"*"+d+")"+"=24"); 
		if ((a+b)*c*d==24) 
			System.out.println("("+a+"+"+b+")"+"*"+c+"*"+d+")"+"=24");
		if (a*b*c*d==24) 
			System.out.println(a+"*"+b+"*"+c+"*"+d+"=24"); 
		if ((a+b*c)*d==24) 
			System.out.println("("+a+"+"+b+"*"+c+")"+"*"+d+"=24"); 	
		if ((a*b-c)*d==24) 
			System.out.println("("+a+"*"+b+"-"+c+")"+"*"+d+"=24"); 	
		if ((a*b)+c+d==24) 
			System.out.println("("+a+"*"+b+")+"+c+"+"+d+"=24"); 	
		if ((a/b-c)*d==24) 
			System.out.println("("+a+"/"+b+"-"+c+")"+"*"+d+"=24"); 	
		if ((a-(b-c))*d==24) 
			System.out.println("("+a+"-"+"("+b+"-"+c+")"+")*"+d+"=24");	
		if (a-(b-c-d)==24) 
			System.out.println(a+"-"+"("+b+"-"+c+"-"+d+")"+"=24");	
		if (a+b-(c-d)==24) 
			System.out.println(a+"+"+b+"-"+"("+c+"-"+d+")"+"=24"+"\n");	
		if (a*(b/c-d)==24) 
			System.out.println(a+"*"+"("+b+"/"+c+"-"+d+")"+"=24");	
		if ((a-b*c)*d==24) 
			System.out.println("("+a+"-"+b+"*"+c+")"+"*"+d+"=24");	
		if (a*(b-c)+d==24) 
			System.out.println(a+"*"+"("+b+"-"+c+")"+"+"+d+"=24");	
		if (a+b+c/d==24) 
			System.out.println(a+"+"+b+"+"+c+"/"+d+"=24"); 
		if ((a-b)*(c-d)==24) 
			System.out.println( "("+a+"-"+b+")*("+c+"-"+d+")=24"); 
		if ((a+b)*c/d==24) 
			System.out.println("("+a+"+"+b+")*"+c+"/"+d+"=24");     
		if (a*b/(c-d)==24) 
			System.out.println(a+"*"+b+"/"+"("+c+"-"+d+")"+"=24"); 		
		if ((a+b)*(c+d)==24) 
			System.out.println("("+a+"+"+b+")*("+c+"+"+d+")=24");
		if ((a-b)*c/d==24) 
			System.out.println("("+a+"-"+b+")*"+c+"/"+d+"=24"); 	
		if (a+(b+c)/d==24) 
			System.out.println(a+"+"+"("+b+"+"+c+")"+"/"+d+"=24");	
		if (a*b/(c+d)==24) 
			System.out.println(a+"*"+b+"/"+"("+c+"+"+d+")"+"=24"); 
		if ((a+b)*c/d==24) 
			System.out.println("("+a+"+"+b+")*"+c+"/"+d+"=24"); 
		if ((a*b+c)*d==24) 
			System.out.println("("+a+"*"+b+"+"+c+")"+"*"+d+"=24"); 
		if ((a*b-c)/d==24) 
			System.out.println("("+a+"*"+b+"-"+c+")"+"/"+d+"=24"); 
		if ((a/b+c)*d==24) 
			System.out.println("("+a+"/"+b+"+"+c+")"+"*"+d+"=24"); 
		if ((a*b)/c/d==24) 
			System.out.println("("+a+"*"+b+")/"+c+"/"+d+"=24");
		if (a+b+c-d==24) 
			System.out.println(a+"+"+b+"+"+c+"-"+d+"=24");	
		if (a-(b-c)+d==24) 
			System.out.println(a+"-"+"("+b+"-"+c+")"+"+"+d+"=24");	
		if (a/(b-c/d)==24) 
			System.out.println(a+"/"+"("+b+"-"+c+"/"+d+")"+"=24");	
		if (a+(b-c)*d==24) 
			System.out.println(a+"+"+"("+b+"-"+c+")*"+d+"=24");	
		if ((a+b+c)*d==24) 
			System.out.println("("+a+"+"+b+"+"+c+")*"+d+"=24"); 	
		if (a+b*c-d==24) 
			System.out.println(a+"+"+b+"*"+c+"-"+d+"=24"); 	
		if (a*b-c/d==24) 
			System.out.println(a+"*"+b+"-"+c+"/"+d+"=24"); 	
		if ((a+b)*c-d==24) 
			System.out.println("("+a+"+"+b+")"+"*"+c+"-"+d+"=24"); 
		if ((a-b/c)*d==24) 
			System.out.println("("+a+"-"+b+"/"+c+")*"+d+"=24"); 
		if (a*(b+c)+d==24) 
			System.out.println(a+"*"+"("+b+"+"+c+")"+"+"+d+"=24");
		if ((a*b)+(c/d)==24) 
			System.out.println("("+a+"*"+b+")+("+c+"/"+d+")"+"=24");
		if ((a*b)/c-d==24) 
			System.out.println("("+a+"*"+b+")/"+c+"-"+d+"=24"); 
		if ((a+b/c)*d==24) 
			System.out.println("("+a+"+"+b+"/"+c+")*"+d+"=24"); 
		if ((a*b*c)/d==24) 
			System.out.println("("+a+"*"+b+"*"+c+")/"+d+"=24");
		if ((a+b*c)/d==24) 
			System.out.println("("+a+"+"+b+"*"+c+")/"+d+"=24");
		if (a+(b*c)+d==24) 
			System.out.println(a+"+"+"("+b+"*"+c+")+"+d+"=24");
		if (a-(b+c)*d==24) 
			System.out.println(a+"-("+b+"+"+c+")*"+d+"=24");
		if (a-(b-c)*d==24) 
			System.out.println(a+"-("+b+"-"+c+")*"+d+"=24");
		if ((a*b)-c-d==24) 
			System.out.println("("+a+"*"+b+")-"+c+"-"+d+"=24");
		if (a+b/c+d==24) 
			System.out.println( a+"+"+b+"/"+c+"+"+d+"=24");
		if ((a-b)*c-d==24) 
			System.out.println( "("+a+"-"+b+"*"+c+"-"+d+"=24");
		if ((a+b)/c+d==24) 
			System.out.println( "("+a+"+"+b+"/"+c+"+"+d+"=24");
		if ((a*b)+c-d==24) 
			System.out.println("("+a+"*"+b+")+"+c+"-"+d+"=24");
		if ((a/b)+c+d==24) 
			System.out.println("("+a+"/"+b+")"+"+"+c+"+"+d+"=24");
		if ((a*b)*c-d==24) 
			System.out.println("("+a+"*"+b+")*("+c+")-"+d+"=24");
		if ((a*b+c)/d==24) 
			System.out.println("("+a+"*"+b+"+"+c+")/"+d+"=24");
		if (a+b+c*d==24) 
			System.out.println(a+"+"+b+"+"+c+"*"+d+"=24");
		if (a*(b-c)/d==24) 
			System.out.println(a+"*"+"("+b+"-"+c+")/"+d+"=24");
		if (a/b*c+d==24) 
			System.out.println(a+"/"+b+"*"+c+"+"+d+"=24");
		if (a+b*c*d==24) 
			System.out.println(a+"+"+b+"*"+c+"*"+d+"=24");
		if (a+b+c+d==24) 
			System.out.println(a+"+"+b+"+"+c+"+"+d+"=24");
		if ((a*b)/(c*d)==24) 
			System.out.println("("+a+"*"+b+")/("+c+"*"+d+")"+"=24"); 
		if (a+(b+c)*d==24) 
			System.out.println(a+"+("+b+"+"+c+")*"+d+"=24"); 
		if ((a-b)*c+d==24) 
			System.out.println("("+a+"-"+b+")"+"*"+c+"+"+d+"=24"); 
		if ((a+b+c)/d==24) 
			System.out.println("("+a+"+"+b+"+"+c+")/"+d+"=24"); 
		if ((a+b)*c+d==24) 
			System.out.println( "("+a+"+"+b+")*"+c+"+"+d+"=24");	 		
		if ((a*b)-(c-d)==24) 
			System.out.println("("+a+"*"+b+")-("+c+"-"+d+")"+"=24");	
		if ((a*b)-(c+d)==24) 
			System.out.println("("+a+"*"+b+")-("+c+"+"+d+")"+"=24");
		 if ((a-b-c)*d==24) 
			 System.out.println("("+a+"-"+b+"-"+c+")*"+d+"=24"); 
		if ((a*b)/c+d==24) 
			System.out.println("("+a+"*"+b+")/"+c+"+"+d+"=24"); 
		if ((a+b-c)*d==24) 
			System.out.println("("+a+"+"+b+"-"+c+")*"+d+"=24"); 	
		if (a/(b/c-d)==24) 
			System.out.println(a+"/("+b+"/"+c+"-"+d+")=24");  	
		if ((a*b)-(c*d)==24) 
			System.out.println("("+a+"*"+b+")-("+c+"*"+d+")"+"=24");
		if(((a+b)*c)/d==24)
			System.out.println("(("+a+b+")*"+c+")/"+d+"=24");

		return 0;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值