C
cattleyard
Gast
Hallo,
ich muss für einen Test ein Mini-Javaprogramm schreiben, in dem der Dämon Orch gegen den Helden Hero kämpft. Beide haben einen Angriffswert, der durch den Wert der Variable mSkill abzüglich einem Zufallswert bestimmt wird.
Es gibt drei Klassen: Orch (der Dämon), Hero (der Held) und Dice (legt den Zufallswert fest).
Mein Problem ist nun, das ich den Angriffswert (mSkill - Zufallswert) berechnen und angeben soll. Die Variable mDice.mRandom die den Wert enthält, ist aber private und kann daher nicht von dieser Klasse direkt zugegriffen werden. Die Variable mSkill ist ein integer Wert und man kann daher das Objekt mDice nicht direkt abziehen. Der Wert von mSkill soll aber nicht verändert werden!
Kann mir jemand erklären wie ich dies lösen kann?
Vielen Dank für ALLE Antworten
-----bettreffender Code der Klasse "Hero"----------
-----bettreffender Code der Klasse "Dice"----------
ich muss für einen Test ein Mini-Javaprogramm schreiben, in dem der Dämon Orch gegen den Helden Hero kämpft. Beide haben einen Angriffswert, der durch den Wert der Variable mSkill abzüglich einem Zufallswert bestimmt wird.
Es gibt drei Klassen: Orch (der Dämon), Hero (der Held) und Dice (legt den Zufallswert fest).
Mein Problem ist nun, das ich den Angriffswert (mSkill - Zufallswert) berechnen und angeben soll. Die Variable mDice.mRandom die den Wert enthält, ist aber private und kann daher nicht von dieser Klasse direkt zugegriffen werden. Die Variable mSkill ist ein integer Wert und man kann daher das Objekt mDice nicht direkt abziehen. Der Wert von mSkill soll aber nicht verändert werden!
Kann mir jemand erklären wie ich dies lösen kann?
Vielen Dank für ALLE Antworten
-----bettreffender Code der Klasse "Hero"----------
Code:
public class Hero
{
private String mName;
private String mRace;
private int mHealth;
private int mSkill;
private Dice mDice;
/**
* Constructor: creates a creature of the class hero,
* sets the race to the default value (människa/human),
* sets the variables according to the users input
*/
public Hero(String name, int skill, int health)
{
mName = name;
mSkill = skill;
mHealth = health;
mRace = "människa";
mDice = new Dice(20);
}
/**
* Method (Accessor): Returns the attack value of the selected hero
*/
public int getAttackValue ()
{
mDice.rollDice();
return (mskill -= ????);
}
}
-----bettreffender Code der Klasse "Dice"----------
Code:
public class Dice
{
private int mRandom;
private int mSides;
public Dice(int sides)
{
mSides = sides;
}
public int rollDice()
{
Random RandomNumber;
RandomNumber = new Random();
mRandom = RandomNumber.nextInt(mSides+1);
return mRandom;
}
}