我在学校有一门Java课程,对编程很新。我需要写一个简短的代码。到目前为止,我只是有一点点。我有一个球员班。我希望能够做一些球员的耐力随着他们走路而减少的事情。但我不知道如何在不玩新球员的情况下改变健康状况。
这是我的代码。可能有很多错误。这是我编码的第三天。
Hello
import java.io.*;
import java.util.Scanner;
public class Controller {
public static void main(String[] args){
System.out.println("Type your name here:");
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
Player playerOne = new Player(input);
playerOne.setStrength(78);
playerOne.setHealth(99);
playerOne.setStamina(67);
playerOne.printplayer();
}
}
答案 0 :(得分:0)
你只需要在Player类中使用stamina的setter方法设置新值。
在你的玩家类中创建getter方法,如下所示: -
public double getStamina() {
return stamina;
}
现在看看Controller类,我是如何每10步将playerOne的耐力减少1: -
public static void main(String[] args){
System.out.println("Type your name here:");
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
//Created the Player object
Player playerOne = new Player(input);
playerOne.setStrength(78);
playerOne.setHealth(99);
playerOne.setStamina(67);
playerOne.printplayer();
//Now moving the player 100 steps/ rule is for every 10 step he loses 1 point in stamina
for(int step=0; step<100;step++){
if(step%10==0){
playerOne.setStamina(playerOne.getStamina()-1);
}
}
playerOne.printplayer();
scan.close();
}
以此作为暗示。
答案 1 :(得分:0)
如果我明白你要做什么。您需要创建一个定时器,它会不断检查您的播放器的状态,并可以不断降低您的播放器的耐力。
您需要一种方法来了解您的玩家是否正在行走
一种改变这种状态的方法。可能是KeyListener或MouseListener
对于这种Java编码,我建议zetcode
答案 2 :(得分:0)
我建议你在Player类中编写一个方法
private void reduceStamina() {
setStamina(stamina-1);
}
然后你可以在显示输出的代码之前从printPlayer调用这个方法。
reduceStamina()
每次打印播放器时,这都会降低玩家的耐力值。 希望有所帮助
一般提示:始终将属性/字段保持在类中,并且只能通过为每个字段/属性编写getter和setter来访问它们。你的健康领域是私密的,良好的;你的耐力领域是公开的,糟糕的。你也不需要&#34;输入&#34;作为字段,因为它仅在构造函数中使用并且已在参数中定义。