骰子游戏

       我觉得这个选题很不错,用一个主类调用我们设计的骰子类,实现了简单的类的调用。对于我来说比较难(把以前学的东西差不多忘了吧),我计划用2个小时,实际用了至少4个小时吧;但这是一个很好锻炼自己的机会,通过参考网上和同学的代码,最后根据自己的理解单独做了一遍,收获很大。老师说可以单独创建一个骰盅类,可是我想了好久也觉得没有必要,可能是因为水平不够吧,哪位大佬知道的可以指点一下的。

 

设计实现:

我设计的UML图如上,共设计了两个类(一个骰子类,一个Test类):

       1、骰子类有三个属性和5个方法,roll()方法用来产生随机数,setMaxNumber()和setBadNumber()方法分别用来产生最大值和不希望出现的值,setOutPut()方法用来输出随机产生的value,而choose()方法用来输出玩家是赢还是输了。

       2、Test类通过for循环设计不同的骰子,并调用骰子类中的方法。

 

代码说明:

 

package 面向对象作业;

 

public class Dices {
   private int value;
   private int maxvalue;
   private int badnumber;
  
   public void roll() {
    value=(int)(Math.random()*maxvalue+1);
   }
  
   public void setMaxValue(int maxvalue) {
    this.maxvalue=maxvalue;
   }
  
   public void setOutPut() {
    System.out.println("value is: "+value);
   }
  
   public void setBadNumber(int badnumber) {
    this.badnumber=badnumber;
   }
  
   public void choose() {
    if(value==badnumber) {
     System.out.println("sorry!you are the loser");
    }
    else {
     System.out.println("congratulation,you are winning!");
    }
   }
}

//骰子类

package 面向对象作业;public class DiceTest { public static void main(String[] args) {

  
  Dices dice= new Dices();
        int dicenumber=5;
 
  for(int i=1;i<=dicenumber;i++) {
   dice.setMaxValue(5);
   dice.setBadNumber(3);
   dice.roll();
   dice.setOutPut();
   dice.choose();
  }
 }
}

//主类,调用骰子类中的方法

测试运行:

说明:我的目标是实现一个主类调用骰子类,用for循环设计多个骰子,然后输出每个骰子的值并且与预定值相比判断是否赢得比赛。

小结:

这次我花的时间挺多的,大部分时间花在java语言的基础知识以及写代码之前的准备过程,我觉得主要是以前写的代码太少了,学过之后就忘了,所以一个假期过后我就全忘了,所有东西要重新学习;经过这次的实践,我觉得自己应该勤奋一点,在自己的空余时间多写代码。非常感谢老师提供这样的机会!我会加油的//

 

https://edu.cnblogs.com/campus/jmu/OOM16A/homework/1031

 

 

 

 

 

  

 

posted @ 2017-10-10 23:03  黄壘哦  阅读(397)  评论(2编辑  收藏  举报