日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

游戏角色

發布時間:2023/12/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游戏角色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

*(封裝、繼承、多態)創建三個類,組成一個繼承樹,表示游戲中的角色。

描述如下:

父類:Role。是所有職業的父類。

屬性:name,表示角色的名字。

方法:public int attack(),該方法返回值為角色的攻擊對敵人的傷害。

Role 有兩個子類:

1) 法師 Magicer屬性:魔法等級(范圍為 1 ~ 10)

方法:public int attack(),該方法返回法師的攻擊對敵人造成的傷害值。

法師攻擊傷害值為:魔法等級*魔法基本傷害值(固定為 5)

2) 戰士Soldier

屬性:攻擊傷害值

方法:public int attack(),該方法返回戰士的攻擊對敵人造成的傷害值。

戰士的攻擊傷害值為:其攻擊傷害屬性值

注意:上述的三個類所有屬性都應當作為私有,并提供相應的 get/set 方法。

再設計一個 Team 類,表示一個組隊。

具有如下方法

1) addMember,表示組隊增加一個成員。注意:組隊成員最多為 6 人提示:應當利用一個數組屬性,保存所有成員

2) attackSum,表示組隊所有成員進行攻擊時,對敵人造成的總傷害值省略 get/set 方法后的類圖如下:

根據類圖和描述,創建相應的類。并編寫相應的測試代碼。

遇到的問題:(1)不知怎樣將對象存儲在數組中。解決:將數組類型設置為與將要放置在數組中的對象一樣的類型。

????????????????????? (2)在設置父類對象的引用時,父類對象只能調用子類對象中從父類那里繼承下來的方法或屬性。

代碼:

package com.shichuang.example;
//import java.util.Scanner;
class Role{
?private String name;
?public String getName() {
??return name;
?}
?public void setName(String name) {
??this.name = name;
?}
?public int attack(){
??return 0;
?}
}
class Magicer extends Role{
?private int level;//范圍1-10
?public int getLevel() {
??return level;
?}
?public void setLevel(int level) {
??this.level = level;
?}
?public int attack(){
??return level*5;
?}
}
class Soldier extends Role{
?private int hurt;
?public int getHurt() {
??return hurt;
?}
?public void setHurt(int hurt) {
??this.hurt = hurt;
?}
?public int attack(){
??return hurt;
?}
}
class Team{
?static int i = 0;
?static Role member[] = new Role[6];
?void addMember(Role role){
??member[i++] = role;?
?}
?int attackSum(){
??int sum=0;
??for(int j=0; j<i; j++){
???sum += member[j].attack();
??}
??return sum;
?}
}

public class Main17{
?public static void main(String args[]){
?Role role = new Role();
?Soldier soldier = new Soldier();
?role = soldier;
?soldier.setName("少華");
?soldier.setHurt(5);
?System.out.println("戰士" + soldier.getName()+"的攻擊傷害值為:"+soldier.attack());
?
?Magicer magicer = new Magicer();
?role = magicer;
?role.setName("君艷法師");
?magicer.setLevel(7);
?System.out.println("戰士" + magicer.getName()+"的攻擊傷害值為:"+magicer.attack());
?
?Team team = new Team();
?team.addMember(magicer);
?team.addMember(soldier);
?System.out.println("所有成員的傷害總值為:"+team.attackSum());
?}
}
如有可以改進的地方,真誠希望您留言,希望大家一起進步。

總結

以上是生活随笔為你收集整理的游戏角色的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。