改变已经建立的双重

时间:2015-08-22 03:32:48

标签: java double

我在学校有一门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();   
    }                   
}

3 个答案:

答案 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;作为字段,因为它仅在构造函数中使用并且已在参数中定义。

相关问题