public abstract class Move
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected double |
accuracy |
protected int |
hits |
protected double |
power |
protected int |
priority |
protected Type |
type |
Constructor and Description |
---|
Move()
Конструктор без параметров по умолчанию
|
Move(Type type,
double pow,
double acc)
Конструктор, позволяющий задать тип, энергию и точность атаки.
|
Move(Type type,
double pow,
double acc,
int priority,
int hits)
Конструктор, задающий все параметры атаки.
|
Modifier and Type | Method and Description |
---|---|
protected void |
applyOppEffects(Pokemon p)
Метод для задания дополнительных эффектов, которые накладываются на обороняющегося покемона.
|
protected void |
applySelfEffects(Pokemon p)
Метод для задания дополнительных эффектов, которые накладываются на атакующего покемона.
|
protected abstract void |
attack(Pokemon att,
Pokemon def)
абстрактный метод, реализующий механизм атаки
|
protected boolean |
checkAccuracy(Pokemon att,
Pokemon def)
Метод для определения, произойдет ли атака, либо покемон промахнулся.
|
protected java.lang.String |
describe()
Текcтовое описание атаки во время боя.
|
static Move |
getConfusionMove()
Статический метод, возращающий атаку, которой покемон в состоянии растерянности атакует себя.
|
static Move |
getNoMove()
Статический метод, возвращающий пустую атаку, которая ничего не делает
|
int |
getPriority()
Приоритет атаки
|
static Move |
getStruggleMove()
Статический метод, возврящающий атаку типа Struggle.
|
protected Type type
protected double power
protected double accuracy
protected int priority
protected int hits
public Move()
public Move(Type type, double pow, double acc)
type
- тип атакиpow
- энергияacc
- точностьpublic Move(Type type, double pow, double acc, int priority, int hits)
type
- тип атакиpow
- энергияacc
- точностьpriority
- приоритетhits
- количество ударов за один ходprotected abstract void attack(Pokemon att, Pokemon def)
att
- атакующий покемонdef
- обороняющийся покемонprotected boolean checkAccuracy(Pokemon att, Pokemon def)
return (accuracy * att.getStat(Stat.ACCURACY) / def.getStat(Stat.EVASION)) > Math.random();
att
- атакующий покемонdef
- обороняющийся покемонpublic final int getPriority()
protected java.lang.String describe()
protected void applyOppEffects(Pokemon p)
p
- покемонprotected void applySelfEffects(Pokemon p)
p
- покемонpublic static final Move getNoMove()
public static final Move getStruggleMove()
public static final Move getConfusionMove()