• 骰子传奇


    骰子传奇

    意思理解

    这次的题目是要设计一个骰子类,这样可以为很多的游戏
    提供骰子的使用。我觉得不算很难,骰子主要是用到随机数的产生。另外,所设计的骰子类很重要的一点就是骰子的多用性,适用于不同的场合,并且要考虑到结果在控制台上友好显示。

    设计实现

    代码说明

    测试类:测试骰子的功能

    public class Test
    {
        public static void main(String[] args) 
        {
            Dice d1 = new Dice();
            d1.print();    
            d1.printSum();
        }
    }

    Cup类:确定所需的骰子数

    import java.util.Scanner;
    
        public class Cup 
        {
            int count;
    
            public int getCount()
            {
                System.out.println("请输入骰子个数:");
                Scanner sc = new Scanner(System.in);
                count = sc.nextInt();
                return count;
            }
        }

    Dice类:
    确定所投的每个骰子的数值,计算所投骰子的总数值和

    import java.util.Scanner;
    import java.util.Random;
    
    public class Dice 
        {
        int [] faceRange = new int [2];
        Cup cup = new Cup();
        int count=cup.getCount();
        static int sum = 0;
        
        //打印界面
        public void print()
        {
            int x;
            System.out.println("选择骰子:" + '
    ' + "1.默认骰子(面值:1~6)" + '
    ' + "2.自定义骰子(面值自定)");
            Scanner sc = new Scanner(System.in);
            x = sc.nextInt();
            
            if(x == 1)
                dice(1,6);
            else 
            {
                System.out.println("请输入骰子面值的范围:");
                
                System.out.print("Min:");
                Scanner sc1 = new Scanner(System.in);
                faceRange[0] = sc1.nextInt();
                    
                System.out.print("Max:");
                Scanner sc2 = new Scanner(System.in);
                faceRange[1] = sc2.nextInt();
                
                dice(faceRange[0],faceRange[1]);
                }
        }
        
        //自定义骰子
        public void dice(int min, int max) 
        {
            for(int x = 1; x<=count; x++)
            {
                int y = getResult(min,max);
                System.out.print("第" + x + "个骰子的值:");
                System.out.println(y );
                sum +=y;
            }
        }
        
        //计算骰子总和
        public void printSum()
        {
            System.out.println("骰子面值的总和:"+sum);
        }
        
        //产生min~max之间的随机数
        public static int getResult(int min, int max)
        {
            Random random = new Random();
            int x = random.nextInt(max)%(max-min+1) + min;
            return x;
        }
        
    }

    测试运行

    作业小结

    这一次的骰子作业,我按照老师的基本要求,功能基本上有所实现,不足之处就是,在Java的思想上还停留在C语言上,接下来要重点复习一下Java中的构造器和函数,以及接口的使用、引用和继承。

    改进修改后:http://www.cnblogs.com/zhengyongxian/p/7667765.html

  • 相关阅读:
    福大软工 · BETA 版冲刺前准备(团队)
    福大软工 · 第十一次作业
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
    Alpha 冲刺 (4/10)
    福大软工1816 · 团队现场编程实战(抽奖系统)
    阿里八八β阶段Scrum(5/5)
  • 原文地址:https://www.cnblogs.com/zhengyongxian/p/7648091.html
Copyright © 2020-2023  润新知