码迷,mamicode.com
首页 > 其他好文 > 详细

骰子传奇

时间:2017-10-10 22:26:53      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:nbsp   nts   can   static   ann   输入   tin   不同的   友好   

骰子传奇

意思理解

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

设计实现 技术分享

代码说明

测试类:

  1. - 测试骰子的功能
public class Test
{
    public static void main(String[] args) 
    {
        Dice d1 = new Dice();
        d1.print(); 
        d1.printSum();
    }
}

Cup类:

  1. - 确定所需的骰子数
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类:

  1. - 确定所投的每个骰子的数值
  2. - 计算所投骰子的总数值和
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中的构造器和函数,以及接口的使用、引用和继承。

骰子传奇

标签:nbsp   nts   can   static   ann   输入   tin   不同的   友好   

原文地址:http://www.cnblogs.com/zhengyongxian/p/7648091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!