五更的琉璃色` 2022-05-07 15:17 采纳率: 100%
浏览 109
已结题

RPG游戏代码请教,请从代码中续写或者删除,完成输出。

你现在需要做一个很简单的RPG游戏来打倒魔王。魔王的HP是h。这个游戏是回合制,1回合如下进行:
你攻击魔王,魔王的HP-a。
如果魔王的HP在0以下,就可以打倒魔王。
魔王会使用回复魔法,HP+b。
可以打倒魔王吗?如果可以的话,请写出需要几回合才可以打倒魔王的程序。
输出规则:
YES/NO
[n]
第一行,如果打倒了魔王,输出为YES,没打倒输出为NO。
如果可以打倒魔王,第二行输出为打倒魔王所需要的回数。

输出例1:
标准输出:10 5 2
标准输出:YES 3
游戏如下进行:
第一回合,魔王的HP因为攻击变成5。这之后,魔王的HP回复为7。
第二回合,魔王的HP因为攻击变成2。这之后,魔王的HP回复为4。
第三回合,魔王的HP因为攻击变成-1。魔王被打倒。

输出例2:
标准输入:10 5 1000000
标准输出:NO
魔王的回复力很高,无法打倒魔王。

package track;
import java.util.Scanner;
import java.util.ArrayList;

public class App {
  
  public static void main(String[] args) {
    String[] lines = getStdin();
    for (int i = 0, l = lines.length; i < l; i++) {
      String output = String.format("line[%s]: %s", i, lines[i]);
      System.out.println(output);
    }
  }

  private static String[] getStdin() {
    Scanner scanner = new Scanner(System.in);
    ArrayList<String> lines = new ArrayList<>();
    while (scanner.hasNext()) {
      lines.add(scanner.nextLine());
    }
    return lines.toArray(new String[lines.size()]);
  }
}



  • 写回答

3条回答 默认 最新

  • 溪风沐雪 2022-05-07 18:26
    关注

    给个例子参考:

    public static void main(String[] args) throws Exception {
              Scanner scan = new Scanner(System.in);
              String line = scan.nextLine();
              String[] ls = line.split(" ");
              int h = Integer.parseInt(ls[0]);
              int a = Integer.parseInt(ls[1]);
              int b = Integer.parseInt(ls[2]);
              if (a < h && a < b) {
                   System.out.println("NO");
                   System.out.println("魔王的回复力很高,无法打倒魔王。");
              } else if (a >= h) {
                   System.out.println("YES 1");
              } else {
                   int i = 0;
                   while (h > 0) {
                        i++;
                        h = h - a;
                        if(h<0)
                             break;
                        h = h + b;
                        
                   }
                   System.out.println("YES " + i);
              }
              scan.close();
         }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月9日
  • 已采纳回答 5月9日
  • 创建了问题 5月7日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么