骰子传奇

骰子传奇

意思理解

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

设计实现

代码说明

测试类:测试骰子的功能

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("选择骰子:" + '\n' + "1.默认骰子(面值:1~6)" + '\n' + "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

转载于:https://www.cnblogs.com/zhengyongxian/p/7648091.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值