java学习2打架代码编写
在同一个包中的Player类
package work; public class Player { private String name; private int hp; private int attack; public Player(String name,int hp,int attack){//构造函数,初始化值 this.name=name; this.hp=hp; this.attack=attack; } public void setName(String name) {//获取值 this.name=name; } public String getName(){ return name; } public void setHp(int hp){ this.hp=hp; } public int getHp(){ return hp; } public void setAttack(int attack){ this.attack=attack; } public int getAttack(){ return attack; }/** * *攻击行为、 *player 为攻击对象 ***/ public void hit(Player player){ //被打的对象(血量=血量-本人攻击力) player.hp=player.hp-this.attack; if(player.hp<0){ player.hp=0; System.out.println(this.name+"攻击了"+player.name+"打出了"+attack+"点伤害."+player.name+"还剩下多沙"+player.hp+"血量"); } } } 在同一个包中另一个Game类 package work; import java.util.Scanner; /** * @author 游戏 * */ public class Game { Scanner sc=new Scanner(System.in); // 从控制台接受数据并且封装成一个玩家对象 public Player enter(String player) {//封装玩家信息 System.out.println("输入"+player+"姓名"); String name=sc.next(); System.out.println("输入"+player+"血量"); int hp=sc.nextInt(); System.out.println("输入"+player+"攻击力"); int attack=sc.nextInt(); Player backPlayer=new Player(name, hp,attack); return backPlayer; } public void start() { //从封装好的函数中输入玩家的信息 Player player1=this.enter("玩家一"); Player player2=this.enter("玩家二"); boolean go=true; while(go){ //玩家一打了玩家二 player1.hit(player2); if(player2.getHp()<0){ System.out.println(player1.getName()+"ko了"+player2.getName()+"游戏结束!fighting!!!!!!!!!!"); break; } //玩家二打了玩家一 player2.hit(player1); if(player1.getHp()<0){ System.out.println(player2.getName()+"ko了"+player1.getName()+"游戏结束!fighting!!!!!!!!!!"); go=false; } } } public static void main(String[] args) { Game game=new Game(); game.start(); } }
学有所思,思有所成。