如何编写骰子比赛

时间:2016-07-21 22:17:21

标签: java

我参加了编程II课程,我们一直在编写课程。现在我们已经分配了作业来编写驱动程序类来合并这些类。作业陈述

  

使用在课堂上完成的模具,骰子和玩家类,写一个   司机班让三名球员轮流掷骰子。   第一个积累总分为35分或以上的玩家是赢家。"   例如,如果玩家1掷出3,则他们的得分为3.然后玩家2   劳斯莱斯。然后玩家3.当每个玩家滚动时,他们的滚动被添加到   他们以前的分数。

我已经开始编写它了,但是我的错误是我的程序中的几个项目无法解析为某个类型。我也完全不知道如何开始创建循环来执行所要求的操作。这就是我到目前为止所做的:

import java.util.Scanner;

public class DiceRace {
    public static void main(String[] args){

        Player player1;
        Player player2;
        Player player3;
        Dice dice;
        Scanner keyboard;

        keyboard=new Scanner(System.in);
        dice=new Dice();

        System.out.print("First player's name: ");
            player1=keyboard.next();

        System.out.print("Second player's name: ");
            player2=keyboard.next();

        System.out.print("Third player's name: ");
            player3=keyboard.next();


        }//Ending bracket of method main

}//Ending bracket of class DiceRace

2 个答案:

答案 0 :(得分:0)

看起来你是初学者。您应该做一些教程或类似的东西来了解基础知识:)此外,如果您开始熟悉IDE(如Eclipse),那么编程将更加容易,因为IDE可以为您提供错误的详细描述,即使写代码。

在上面的示例中,您需要自己创建两个类DicePlayer,因为默认情况下它们不在Java中。

方法keyboard.next()从控制台读取输入并将其作为String类型的对象返回,而不是Player。因此,您无法为变量player1分配结果String

您可能需要的是具有成员变量Player的{​​{1}}对象。这是一个例子:

String name

然后你可以在public final class Player { private String mName; public Player(final String name) { mName = name; } public String getName() { return mName; } }

中做同样的事情
main-method

接下来,您可能希望player1 = new Player(keyboard.next()); System.out.println("Name of player1 is: " + player1.getName()); 拥有Dice方法:

roll

然后,在public final class Dice() { private Random mRandom; public Dice() { mRandom = new Random(); } public int roll() { // Returns a random number between 1 and 6 (inclusive) return mRandom.nextInt(6) + 1; } } 你可以做到:

main

现在对于游戏逻辑,让我们保持简单,初学者友好:

Dice dice = new Dice();
System.out.println("Let's roll the dice: " dice.roll());
祝你好运:)

答案 1 :(得分:0)

您可以为每个玩家创建3种方法,以及玩游戏的方法。在每个玩家的方法中,它首先使用包含玩家名称的参数调用play方法,并且play方法将其打印出来以便玩家知道它是谁。一旦播放方法完成,它将调用下一个播放器方法,然后调用播放器,最后返回播放器1.