中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java基于面向對象如何實現一個戰士小游戲

發布時間:2022-09-05 17:31:06 來源:億速云 閱讀:173 作者:iii 欄目:開發技術

這篇文章主要講解了“Java基于面向對象如何實現一個戰士小游戲”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java基于面向對象如何實現一個戰士小游戲”吧!

一、思路

首先,我們知道在系統中有個戰士的角色叫Soldier,Soldier角色擁有自己的名字、等級、生命力、攻擊力、防御力。我們就要區分有什么類型。戰士有個行為是普通攻擊,行為:方法。由此我們就知道到戰士Soldier是一個類,在進行代碼實現。

二、代碼實現

當我們得知Soldier屬于一個類是,我們是不是就應該用面向對象來進行書寫?面向對象的重要的三個重點是什么:1、類2、屬性、3、方法。那當我們知道了組成面向對象的三個重點的第一個是類。首先,第一個用到的就是自定義的類,那我們將進行代碼的實現吧。

public class Legend {//首字母大寫,見名思意
    public static void main(String[] args) {
        
    }
}
public class Soldier {//首字母大寫,見名思意
    //屬性
    //方法
}

當我們生成了一個自定義的類時,在最開始的時候我們說了面向對象三個重點是由1、類2、屬性、3、方法。3種組成,那我們得知Soldier角色擁有自己的名字、等級、生命力、攻擊力、防御力,是一種屬性。那我們就應該把名字、等級、生命力、攻擊力、防御力等屬性進行填寫進去。

public class Legend {//首字母大寫,見名思意
    public static void main(String[] args) {
        
    }
}
 
public class Soldier {//首字母大寫,見名思意
    //屬性
    public String name;//姓名
    public int level;//等級
    public int hp;//生命力
    public int atk;//攻擊力
    public int def;//防御力
    //方法
}

當Soldier這個角色我們已經創造出來了,是不是就應該創建這個角色了?這時候就需要用到方法了。當我們在使用構造器的時候,類里會默認產生一個無參構造,無參:沒有參數,構造器就是一個函數,跟類名相同:這是避免我們在書寫內容時避免報錯。詳見圖一、圖二。在書寫時方法時,也可以進行快速的生成有參構造的內容。詳見圖二、圖三、圖四。

public class Legend {
    public static void main(String[] args) {
        Soldier yangke = new Soldier("yangke",50,500,68,2);//yangke的Soldier戰士實例
        Soldier zhangsan = new Soldier("zhangsan",50,400,68,4);//zhangsan的Soldier戰士實例
    }
}
 
public class Soldier {
    //屬性
    public String name;//姓名
    public int level;//等級
    public int hp;//生命力
    public int atk;//攻擊力
    public int def;//防御力
 
    //方法
    public Soldier(){//無參構造
 
    }
    public Soldier(String name, int level, int hp, int atk, int def) {//有參構造
        this.name = name;//姓名
        this.level = level;//等級
        this.hp = hp;//生命力
        this.atk = atk;//攻擊力
        this.def = def;//防御力
    }
}

圖一:

Java基于面向對象如何實現一個戰士小游戲

圖二:

Java基于面向對象如何實現一個戰士小游戲

圖三:

Java基于面向對象如何實現一個戰士小游戲

圖四:

Java基于面向對象如何實現一個戰士小游戲

圖五:

Java基于面向對象如何實現一個戰士小游戲

當我們已經生成了兩名不同玩家的Soldier,那每個戰士都有普通攻擊的行為,在最開始的時候我們都說了,行為就是等于方法,那方法是不是應該書寫到Soldier戰士里面?肯定也要用yangke的Soldier來跟zhangsan的Soldier來進行pk,那是不是要將zhangsan的Soldier引入到yangke的Soldier進行pk?

public class Legend {
    public static void main(String[] args) {
        Soldier yangke = new Soldier("yangke",50,500,68,2);//yangke的Soldier戰士實例
        Soldier zhangsan = new Soldier("zhangsan",50,400,68,4);//zhangsan的Soldier戰士實例
        yangke.attack(zhangsan);//將zhangsan的Soldier引入到yangke的Soldier里面并有一個public void attack進行接收
    }
}
public class Soldier {
    //屬性
    public String name;//姓名
    public int level;//等級
    public int hp;//生命力
    public int atk;//攻擊力
    public int def;//防御力
 
    //方法
    public Soldier(){//無參構造
 
    }
    public Soldier(String name, int level, int hp, int atk, int def) {//有參構造
        this.name = name;//姓名
        this.level = level;//等級
        this.hp = hp;//生命力
        this.atk = atk;//攻擊力
        this.def = def;//防御力
    }
    public void attack(Soldier other){//當主函數將zhangsan的Soldier引入到yangke的Soldier里面我們要進行一個接收
        int Damage = this.atk-other.def;//設置一個傷害的計算 Damage肯定等于yangke的攻擊力-zhangsan的防御力
        other.hp-=Damage;//再用zhangsan的血量減去傷害得到zhangsan的血量
        if (other.hp <= 0){//如果zhangsan的血量少于等于0時,zhangsan陣亡,如果沒有進行顯示傷害數據
            System.out.println(other.name+"已經陣亡");
        }else {
            System.out.println("成功普通攻擊了"+other.name+"并對它造成了"+Damage+"傷害"+other.name+"還剩"+other.hp+"血量");
        }
 
    }
}

最終結果

Java基于面向對象如何實現一個戰士小游戲

Java基于面向對象如何實現一個戰士小游戲

感謝各位的閱讀,以上就是“Java基于面向對象如何實現一個戰士小游戲”的內容了,經過本文的學習后,相信大家對Java基于面向對象如何實現一個戰士小游戲這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉峪关市| 页游| 苍溪县| 贡觉县| 巴马| 玛沁县| 疏勒县| 壤塘县| 洛隆县| 永修县| 汤原县| 民和| 太谷县| 长顺县| 石首市| 恭城| 玉环县| 手机| 黎城县| 布拖县| 伊宁市| 五大连池市| 山阴县| 定南县| 兴山县| 重庆市| 新源县| 镇安县| 罗甸县| 习水县| 新乡县| 微山县| 常山县| 肃北| 澎湖县| 米易县| 曲靖市| 来凤县| 呼和浩特市| 克拉玛依市| 东兰县|