mirror of
https://github.com/rust-lang/rustlings.git
synced 2026-05-15 17:58:44 +00:00
[Sync Iteration] java/wizards-and-warriors/1
This commit is contained in:
parent
f80fbca12e
commit
9b06862c0f
@ -0,0 +1,49 @@
|
||||
class Fighter {
|
||||
|
||||
boolean isVulnerable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
int getDamagePoints(Fighter fighter) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
class Warrior extends Fighter {
|
||||
|
||||
public String toString() {
|
||||
return "Fighter is a Warrior";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVulnerable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDamagePoints(Fighter fighter) {
|
||||
return fighter.isVulnerable() ? 10 : 6;
|
||||
}
|
||||
}
|
||||
|
||||
class Wizard extends Fighter {
|
||||
private boolean prepare = false;
|
||||
|
||||
public String toString() {
|
||||
return "Fighter is a Wizard";
|
||||
}
|
||||
|
||||
public void prepareSpell() {
|
||||
prepare = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVulnerable() {
|
||||
return !prepare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDamagePoints(Fighter fighter) {
|
||||
return prepare ? 12 : 3;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user