RPG项目,也许可以制作一个方法来设置类



因此,在我的代码中,我有打印语句,其中包含不同的类的选择,然后用户键入与他们想要成为的任何类相对应的数字。我为我拥有的每个类都有类,如Knight、Cyborg、Bandit和JohnCena,每个类都是不同的类,在这些类中都有不同的统计数据。我想做的是让用户自动以骑士(银河海军陆战队)的身份开始,然后以某种方式将数据类型更改为用户选择的任何特定类别。我有一个名为user的变量,它被声明为类型Knight,我试图将类型更改为用户选择的特定类,但我不知道如何做到这一点。。。

以下是我的代码链接:https://i.stack.imgur.com/PVRJA.jpg

在这种情况下,使用开关案例可能会有所帮助。

Scanner chooseclass=new Scanner(System.in);
int classchoice=chooseclass.nextInt();
switch(classchoice)
{
     case 1:
     //your code to convert the class to Bandit
     break;
     case 2:
     //your code to convert the class to Galactic Marine
     break;
     case 3:
     //your code to convert the class to Cyborg
     break;
     case 4:
     //your code to convert the class to John Cena
     break;
     default:
     System.out.println("Please enter a valid choice"):
}

我认为只能有一个类来定义作业类。

统计信息是字符类的字段成员变量。

public class Job {
    public String jobName;
    public int strength;
    public int speed;
    ...
} 

然后,对于用户的选择,统计值是可变的。

例如:

knight -> jobName: knight; strength: 12; speed:  5; etc...
bandit -> jobName: bandit; strength:  7; speed: 11; etc...

代码类似于:

int classChoice = chooseclass.nextInt();
Job job = new Job();
switch (classChoice) {
case 0:
    job.jobName = "knight";
    job.strength = 12;
    job.speed = 5;
    ...
    break;
case 1:
    job.jobName = "bandit";
    job.strength = 7;
    job.speed = 11;
    ...
    break;
...
}

攻击时,例如:

public void attack() {
    switch (jobName) {
    case "knight":
        System.out.println("You slash it with sword.");
        break;
    case "bandit":
        System.out.println("You throw a dagger.");
        break;
    ...
    }
}

最新更新