2017-04-01 63 views
0
import java.util.*; 
public enum Skills { 
Random r= new Random(); 

//trying to use nextInt method in some case 
SKILLS(r.nextInt(125)+25), 
VEHICLE(r.nextInt(125)+25), 
ACCURACY(),WEAPONS(23),REFLEX(), 
STRATEGY(),CHARISMA(), 
HACKING(r.nextInt(125)+25), 
SPEED(r.nextInt(125)+25), 
STEALTH(r.nextInt(125)+25); 
//end of skills 

private int value; 
private Skills(int value){ 
    this.value=value; 
} 
public int getValue() { 
    return value; 
} 
} 

我無法將我的枚舉值設置爲隨機值。之後我會將這些技能提供給我的遊戲角色。我也無法使用nextInt方法。這是爲什麼 ?如何解決問題並正確使用此枚舉?在Java中將枚舉值設置爲隨機值

+0

閱讀有關枚舉並查看示例,然後回來問這個問題。 – Tarik

回答

0

爲此,使用enum沒有任何意義。請記住,enum常量是單身人士:所有角色將共享每個技能對象的相同單個副本,因此所有角色都具有相同的技能編號。這可能不是你想要的。

它會更有意義,只使用一類區域,而不是:

public class Skills { 
    private int vehicleSkill; 
    private int hackingSkill; 
    // etc. 

    public Skills(Random r) { 
     this.vehicleSkill = r.nextInt(125)+25; 
     this.hackingSkill = r.nextInt(125)+25; 
     // etc. 
    } 

    public int getVehicleSkill() { 
     return vehicleSkill; 
    } 

    public int getHackingSkill() { 
     return hackingSkill; 
    } 

    // etc. 
} 

這樣,你可以爲每個角色單獨Skills對象。

+0

謝謝,幫助了很多,在此之後,我將這些附加爲人類屬性的值。像這樣:this.hacking = Skills.hackigSkill; ?? – Viktor