玩转骰子

如果只是完成最基本的功能的骰子,把它最基本的的属性写出来应该来说是并不算难,即使现在的水平花点时间也可以将它写出来。但如果要加上附加的功能的话就对于我来说就有点挑战了。

 

 

 

 

 

首先是最基本的骰子构造函数:

import java.util.*;

 

public class Dice

 {

         private int faceValue;

  public Dice(){

         }

 

public void Roll(){

         Random random=new Random();

         faceValue=random.nextInt()%2+1;

         }

public int getFaceValue(){

         return faceValue;

}

}

然后是最核心的容器的代码,多个骰子的投掷,并隔离不想出现的数字:

import java.util.*;

 

public class Container

 {

         private Dice a[];

         private int b;

         private int sum=0;

         public Container(int i){

                  this.b=i;

                  a=new Dice [i];

                  }

        

         public void Dice(){

                  int j;

                  for(j=0;j<b;j++)

                  {

                           a[j]=new Dice();

                           a[j].Roll();

                           if(a[j].getFaceValue()==4){

                                    System.out.println("第"+j+"个骰子:1") ;

                                    sum += 1;

                                    continue;

                           }

                           System.out.println("第"+j+"个骰子:"+a[j].getFaceValue());

                           sum += a[j].getFaceValue();

                  }

                   System.out.println("总的点数:"+sum);

         }

         }

最后是他的主函数验证他的正确性:

public class text1 {

         public static void main(String[] args)

{

                  Container ct= new Container(5);

                  ct.Dice();

                 

                  }

}

我预计的时间是两个小时,但最终用时三个小时多。最大的估计失误是对编程一些实现的困难,在上面花了许多时间,最后还得到了同学的一点的帮助。最后也认识到基本功扎实的重要性和经验的重要

 

posted @ 2017-10-12 19:45  啊喽哈、  阅读(547)  评论(1编辑  收藏  举报