返回本章节
返回作业目录
需求说明:
- 判断“王者荣耀”中英雄受到攻击后是否死亡?
- 计算“王者荣耀”中怪物攻击英雄的伤害,做出英雄死亡的判断。
- 如果英雄受到过量伤害,要保证英雄生命值不能为负值。
实现思路:
- 使用Scanner获取玩家英雄的名称、攻击力、防御力以及生命力。
- 定义一些变量用来表示电脑的名称、攻击力、防御力以及生命力。
- 计算出电脑英雄攻击玩家英雄的伤害值。
- 使用if语句判断英雄是否死亡。
- 如果英雄受到过量伤害,将生命值变为0。
- 使用System.out.println()输出信息。
实现代码:
import java.util.Scanner;
public class WZRYGame {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("————————————————");
System.out.println("王者荣耀");
System.out.println("————————————————");
System.out.println("欢迎来到王者荣耀!");
System.out.println("请输入您的英雄名称");
String playerName = sc.next();
System.out.println("请输入英雄的攻击力【1-100】");
int playerAttack = sc.nextInt();
System.out.println("请输入英雄的物理防御力【1-50】");
int playerDefense = sc.nextInt();
System.out.println("请输入英雄的生命值【1-100】");
int playerLife = sc.nextInt();
String comeputerName = "电脑英雄";
//物理攻击伤害
float comeputerAttack = 50;
//物理防御
float comeputerDefense = 10;
//生命值
float comeputerLife = 80;
//电脑英雄对英雄造成的伤害
int demage = (int)(comeputerAttack - comeputerDefense);
playerLife -= demage;
System.out.println(comeputerName+"向"+playerName+"发动攻击,造成"+demage+"点伤害!");
if(playerLife <= 0){
//如果英雄受到过量伤害,生命值设置为0,不能显示负值
playerLife = 0;
System.out.println(playerName+"已经死亡!");
}else{
System.out.println(playerName+"抵抗住了此次攻击!");
}
System.out.println(playerName+"生命值变为"+playerLife);
}
}