需求说明:
- 判断“王者荣耀”中英雄受到攻击后是否死亡?
- 计算“王者荣耀”中怪物攻击英雄的伤害,做出英雄死亡的判断。
- 如果英雄受到过量伤害,要保证英雄生命值不能为负值。
实现思路:
使用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); } }