31 lines
847 B
Java
31 lines
847 B
Java
package com.github.dtschust.zork;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
|
|
/* Creature*/
|
|
class ZorkCreature extends ZorkObject {
|
|
public String name;
|
|
public String description;
|
|
public HashMap<String, String> vulnerability = new HashMap<>();
|
|
public ArrayList<ZorkCondition> conditions = new ArrayList<>();
|
|
public ArrayList<String> print = new ArrayList<>();
|
|
public ArrayList<String> action = new ArrayList<>();
|
|
|
|
public ZorkCreature() {
|
|
}
|
|
|
|
/* Evaluate the success of an attack*/
|
|
public boolean attack(Zork zork, String weapon) {
|
|
if (vulnerability.get(weapon) == null) {
|
|
return false;
|
|
}
|
|
for (ZorkCondition condition : conditions) {
|
|
if (!condition.evaluate(zork)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
}
|