public class Players {

    private final String ACCOUNT = "admin";
    private final String PASSWORD = "1234";
    private String name;
    private int AttackValue;
    private String Weapon;
    private static int dragonHP = 100;
    private static int PlayersHP = 100;
    private int dragonAttack;

    public Players() {
    }

    public String getACCOUNT() {
        return ACCOUNT;
    }

    public String getPASSWORD() {
        return PASSWORD;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int dragonHP() {
        return dragonHP;
    }

    public int getPlayersHP() {
        return PlayersHP;
    }

    public void dragonAttack() {
        int a = (int) (Math.random() * 2) + 1;
        switch (a) {
            case 0:
                System.out.println("龍使出普通攻擊!");
                PlayersHP -= 10;
                System.out.println("你剩下 " + PlayersHP + " 點傷害!");
                break;
            case 1:
                System.out.println("龍使出強烈攻擊!");
                PlayersHP -= 20;
                System.out.println("你剩下 " + PlayersHP + " 點傷害!");
                break;
            case 2:
                System.out.println("龍使出必殺!");
                PlayersHP -= 50;
                System.out.println("你剩下 " + PlayersHP + " 點傷害!");
                break;
        }

    }

    public void 青冥劍() {
        System.out.println("裝備青冥劍!\n攻擊力+40!");
        System.out.println("-----------------------");
        AttackValue += 40;
    }

    public void 村正() {
        System.out.println("裝備村正!\n攻擊力+40!");
        System.out.println("-----------------------");
        AttackValue += 40;
        Weapon = "村正";
    }

    public void 打狗棒() {
        System.out.println("裝備打狗棒!\n攻擊力+40!");
        System.out.println("-----------------------");
        AttackValue += 40;
        Weapon = "打狗棒";
    }

    public void attack() {
        System.out.println("使用 " + Weapon + " 攻擊!!\n造成 " + AttackValue + " 點傷害!");
        System.out.println("-----------------------");
    }

    public void dragon() {
        System.out.println("受到 " + Weapon + " 攻擊\n" + "減少 " + AttackValue + " 點血量");
        dragonHP -= AttackValue;
        System.out.println("龍剩下 " + dragonHP + " 點血量");
        System.out.println("-----------------------");
    }

}
 


import java.util.Scanner;
public class PlayersTest {
    public static void main(String[] args) {
        Players p = new Players();
        Scanner sc = new Scanner(System.in);
        System.out.print("遊戲開始\n請輸入帳號(admin) : ");
        String ac = sc.nextLine();
        System.out.print("請輸入密碼(1234) : ");
        String pw = sc.nextLine();
        if (ac.equals(p.getACCOUNT()) != true || pw.equals(p.getPASSWORD()) != true) {
            System.out.println("登入失敗");
            System.exit(0);
        } else {
            System.out.println("登入成功");
        }
        String str = null;
        String reges = "\\w{1,6}";
        while (str == null ) {
             System.out.println("請輸入角色ID(最長六個字)");
            str = sc.nextLine();
            if (str.matches(reges) == true ) {
                p.setName(str);
            } else {
                System.out.println("格式錯誤");
                str = null;
                continue;
            }
        }
        System.out.println("選擇武器");
        System.out.println("1.青冥劍\n2.村正\n3.打狗棒");
        int weapon = sc.nextInt();
        if (weapon == 1) {
            p.青冥劍();
        } else if (weapon == 2) {
            p.村正();
        } else if (weapon == 3) {
            p.打狗棒();
        }
        System.out.println("是否要攻擊龍?\n1.要\n2.不要");
        int e = sc.nextInt();
        while (e == 1) {
            p.attack();
            p.dragon();
            if (p.dragonHP() <= 0 || p.getPlayersHP() <= 0) {
                break;
            }
            p.dragonAttack();
            System.out.println("是否繼續攻擊? 1.Yes 2.No");
            e = sc.nextInt();
            if (e == 1) {
                continue;
            }
        }
        System.out.println("遊戲結束。");
    }
}

arrow
arrow
    文章標籤
    程式語言 HomeWork
    全站熱搜

    蛋餅Brook 發表在 痞客邦 留言(0) 人氣()