前言
在学android的时候,总觉的要做点什么才能感觉到自己在学东西,所以一个小游戏24点就打算做出来试试。为什么要做24点游戏呢?因为之前用javaSwing组件做了一个电脑版的24点,学了android之后就像做一个手机版的,好了,这就是我做24点的缘由了。
实现
先给大家看一下效果图:
图中有四张扑克牌,一个用来显示答案的输入框和两个按钮。点击开始按钮就会出现四张扑克牌,然后玩家去思考该怎么去做出来,如果做不出来可以点击答案按钮查看响应的答案。
这个游戏的最主要的就是24点游戏的算法,如何判断四张牌能不能产生24点,以及四张牌如何产生24点,解决了这两个问题,游戏基本就完成了。在工程中有一个GameUtil类,这个类封装类了上面两个问题的解决方法,先放出来源码给大家看一下,然后再说明如何实现那两个算法的。
GameUtil.java
public class GameUtil {
/**
* 得到所有能算出24点的表达式
* @param a
* @param b
* @param c
* @param d
* @return
*/
public static List<String> getResultList(int a,int b,int c,int d){
List<String> _List = new ArrayList<String>();
int op1,op2,op3;
for(op1=1;op1<=4;op1++)
for(op2=1;op2<=4;op2++)
for(op3=1;op3<=4;op3++){
if(calculate_model1(a,b,c,d,op1,op2,op3)==24){
String s1="(("+a+showFuHao(op1)+b+")"+showFuHao(op2)+c+")"</