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

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 MATLAB代码求涡量
  • ¥100 采用栈和深度优先算法对我的代码进行修改显示路径
  • ¥15 pointnet2包安装
  • ¥20 射频功率问题,解答者有酬谢!
  • ¥80 构建降雨和积水的预测模型
  • ¥15 #Qt Transform setTransform()在鼠标拖动移动视角是一致在原地不动,无法变换视角(细微观察似乎视图有在原地抖动),无法变换视角(细微观察似乎视图有在原地抖动)
  • ¥50 如何利用无人机拍摄的数码照片测量鸟卵的长短径
  • ¥100 github贡献者给与奖励
  • ¥15 使用DS18B20+ESP8266获取温度数据返回-127.00
  • ¥15 odbc代码新增sqlserver数据源