24点扑克牌游戏

本文介绍了24点扑克牌游戏的算法实现,包括随机生成牌面、转换扑克点数、穷举法寻找解决方案。通过程序自动列出所有可能的24点表达式,并提供了测试用例及心得体会。

这里写自定义目录标题

  1. 算法分析
    题目: 24点游戏是经典的纸牌益智游戏。
    24点游戏是经典的纸牌益智游戏。
    常见游戏规则:
    从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。
    基本要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题。
    提高要求:用户初始生命值为一给定值(比如3),初始分数为0。随机生成4个代表扑克牌牌面的数字或字母,由用户输入包含这4个数字或字母的运算表达式(可包含括号),如果表达式计算结果为24则代表用户赢了此局。
    算法思路:
    (1)利用Random()函数随机生成4个数,随机数范围与扑克牌相同(1~13)。
    (2)生成一个change函数,将得到的随机数一一对应扑克牌的点数,即:A1,J11,Q12,K13。
    (3)创建一个未知数用来表示最终点数count。创建三个变量m1,m2,m3,用来存放加减乘除四个符号输出式子。
    (4)使用穷举法。使用多层for循环找出所有四个随机数生成的式子并计算结果,如果结果等于24点,输出式子与结果。
    (5)设置一个int型变量a,在循环中每当点数到达24点时a+1,如果a为0,则无解。
  2. 概要设计(算法绘制流程图)
    流程图
  3. 测试(设计测试用例或测试代码的设计与实现,测试结果截屏)
    (1)当测试结果有解时:
    测试1
    (2)当测试结果无解时:
    测试2
    4.代码
import java.util.Random;

public class test {
   
   
    public static void main(String[] args) {
   
   
        Random r = new Random();
        int r1 = r.nextInt(13) + 1;
        int r2 = r.nextInt(13) + 1;
        int r3 = r.nextInt(13) + 1;
        int r4 = r.nextInt(13) + 1;
        int[] num = new int[]{
   
   r1, r2, r3, r4};
        System.out.println("本次随机到的四张牌点数分别为:");
        System.out.println(change(r1) + " " + change(r2) +
                " " + change(r3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值