• 大小: 2.41MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-02-03
  • 语言: Java
  • 标签: 界面实现  

资源简介

24点游戏Java实现,界面Javafx实现,一副牌中抽去大小王剩下 52 张(如果初练也可只用 1~10 这 40 张牌),任意抽取 4 张牌 (称牌组),用加、减、乘、除(可加括号)把牌面上的数算成 24。每张牌必须用一次且只能用 一次,如抽出的牌是 3、8、8、9,那么算式为(9-8)×8×3 或 3×8+(9-8)或(9- 8÷8)×3 等

资源截图

代码片段和文件信息

package project1;

import java.util.ArrayList;
import java.util.Scanner;
/**
 * 24点算法实现
 * @author 软工一班   胡建权
 *
 */
public class Algorithm {
    public static int COUNT = 4; //抽取的扑克牌数量
    public static int[] number = new int[COUNT]; //扑克牌的数组
    public static String[] expression = new String[COUNT]; //表达式数组
    public static ArrayList list = new ArrayList(); 
    
    public int getsize(){
     return COUNT;
    }
    public int[] getNubmer(){
     return number;
    }
    public int getNumber(int i){
     return number[i];
    }
    public int[] setnubmer(ArrayList list){
     for(int i = 0;i < COUNT;i++){
     number[i] = list.get(i);
     }    
     return number;
    }
    
    public String getexpression(int i){
     return expression[i];
    }    
    public String setexpression(int iString str){
     return expression[i] = str;
    }   
    
    public ArrayList getList(){
     return list;
    }

    public static boolean checkCondition(int n){
        //当递归到只有一个数时,判断是否满足条件
        if(n == 1){
            if(number[0] == 24){
                list.add(expression[0].substring(1 expression[0].length()-1));
                return true;
            }
            else
                return false;
        }
        for (int i = 0; i < n - 1; i++) {
            for(int j = i + 1; j < n; j++){
                int tempA = number[i];
                int tempB = number[j];
                String expreA = expression[i];
                String expreB = expression[j];
                number[j] = number[n-1];
                expression[j] = expression[n-1];
                //开始做加法
                expression[i] = “(“+expreA+“+“+expreB+“)“;
                number[i] = tempA+tempB;
                if(checkCondition(n-1))
                    return true;
                //减法,两种情况,tempA-tempB和tempB-tempA
                if(tempA>=tempB){
                    expression[i] = “(“+expreA+“-“+expreB+“)“;
                    number[i] = tempA-tempB;
                    if(checkCondition(n-1))
                       return true;
                }
   /**/             if(tempB>tempA){
                   expression[i] = “(“+expreB+“-“+expreA+“)“;
                      number[i] = tempB-tempA;
                      if(checkCondition(n-1))
                          return true;
                }
              
                //乘法
                expression[i] = “(“+expreA+“*“+expreB+“)“;
                number[i] = tempA*tempB;
                if(checkCondition(n-1))
                    return true;
                //除法,两种情况,tempA/tempB和tempB/tempA并且保证分母不为0
                if(tempB != 0 && tempA % tempB == 0){//除数不为0,并且能够整除
                    expression[i] = “(“+expreA+“/“+expreB+“)“;
                    number[i] = tempA/tempB;
                    if(checkCondition(n-1))
                        return true;
                }
             

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         232  2017-12-05 11:55  DSproject (1)\.classpath
     文件         385  2017-12-05 11:55  DSproject (1)\.project
     目录           0  2017-12-24 22:22  DSproject (1)\bin\
     目录           0  2017-12-24 22:22  DSproject (1)\bin\project1\
     文件        3045  2017-12-21 16:36  DSproject (1)\bin\project1\Algorithm.class
     文件        3482  2017-12-20 14:38  DSproject (1)\bin\project1\Evaluateexpression.class
     目录           0  2017-12-24 22:22  DSproject (1)\bin\project1\image\
     文件      101665  2017-12-11 16:57  DSproject (1)\bin\project1\image\1.jpg
     文件         583  2005-09-26 22:53  DSproject (1)\bin\project1\image\1.png
     文件         596  2005-09-26 22:53  DSproject (1)\bin\project1\image\10.png
     文件        3092  2005-09-26 22:53  DSproject (1)\bin\project1\image\11.png
     文件        3220  2005-09-26 22:53  DSproject (1)\bin\project1\image\12.png
     文件        3083  2005-10-09 21:13  DSproject (1)\bin\project1\image\13.png
     文件         453  2005-09-26 22:53  DSproject (1)\bin\project1\image\14.png
     文件         474  2005-09-26 22:53  DSproject (1)\bin\project1\image\15.png
     文件         508  2005-09-26 22:53  DSproject (1)\bin\project1\image\16.png
     文件         494  2005-09-26 22:53  DSproject (1)\bin\project1\image\17.png
     文件         578  2005-09-26 22:53  DSproject (1)\bin\project1\image\18.png
     文件         531  2005-09-26 22:53  DSproject (1)\bin\project1\image\19.png
     文件         463  2005-09-26 22:53  DSproject (1)\bin\project1\image\2.png
     文件         606  2005-09-26 22:53  DSproject (1)\bin\project1\image\20.png
     文件         625  2005-09-26 22:53  DSproject (1)\bin\project1\image\21.png
     文件         634  2005-09-26 22:53  DSproject (1)\bin\project1\image\22.png
     文件         630  2005-09-26 22:53  DSproject (1)\bin\project1\image\23.png
     文件        3111  2005-09-26 22:53  DSproject (1)\bin\project1\image\24.png
     文件        3149  2005-09-26 22:53  DSproject (1)\bin\project1\image\25.png
     文件        3189  2005-10-09 21:13  DSproject (1)\bin\project1\image\26.png
     文件         388  2005-09-26 22:53  DSproject (1)\bin\project1\image\27.png
     文件         411  2005-09-26 22:53  DSproject (1)\bin\project1\image\28.png
     文件         440  2005-09-26 22:53  DSproject (1)\bin\project1\image\29.png
     文件         511  2005-09-26 22:53  DSproject (1)\bin\project1\image\3.png
............此处省略210个文件信息

评论

共有 条评论