В этой программе (Java) я пытаюсь сделать ролик для игры в кости. Как мне сделать так, чтобы он катился кучу раз и добавлял рулоны? - PullRequest
0 голосов
/ 13 января 2011
import java.util.Random;

public class dice
{
  private int times;
  private int roll;
  private int side;
  Random roller = new Random();



  public void setTimes(int sides)
  {
    times = sides;
  }

  public void setSides(int die)
  {
    side = die;
  }

  public int getRoll() //this is where the "rolling" happens
  { 
    int total = 0;
    int c = 0;
    while (c <= times)
    {
      c = c + 1;
      int rol = 0;
      roll = roller.nextInt(side) + 1;
      rol = rol + roll;
      total = rol;
    }
    return total;
  }
}

Если вам нужно GUIWindow и главное, просто спросите

Ответы [ 2 ]

2 голосов
/ 13 января 2011

Одна проблема, которую я вижу в вашем методе getRoll(), заключается в том, что вы повторно инициализируете переменную rol в ноль каждый раз в цикле. Затем вы получаете случайное значение и добавляете его к rol, присваиваете total к rol, затем вы возвращаете total. Это всегда приведет к тому, что total будет иметь последнее случайное значение, которое вы создали.

Вы можете полностью избавиться от переменной rol и просто добавлять новые roll к total каждый раз через цикл.

2 голосов
/ 13 января 2011

Что ж, вместо того, чтобы полностью решить это за вас и дать вам код ... у вас есть переменная total, которая предполагает, что это сумма нескольких значений. Но вы только прямо присваиваете значение. Рассматривали ли вы добавить текущий бросок к total?

...