Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- abstract class Citizen {
- private String _name;
- private double _skillLevel;
- public Citizen() {
- _name = "Anajaan the unknown";
- _skillLevel = 0;
- }
- public Citizen(String name, double skillLevel) {
- setName(name);
- setSkillLevel(skillLevel);
- }
- public String getName() {
- return _name;
- }
- public void setName(String name) {
- if (name == null || name.isEmpty())
- System.out.println("Name canβt be null or empty.");
- else
- _name = name;
- }
- public double getSkillLevel() {
- return _skillLevel;
- }
- public void setSkillLevel(double skillLevel) {
- if (skillLevel < 0)
- System.out.println("Skill level can never be less than 0.");
- else
- _skillLevel = skillLevel;
- }
- public abstract double attack();
- }
- class Paladin extends Citizen {
- private double _affinity;
- public Paladin() {
- super();
- _affinity = 1;
- }
- public Paladin(String name, double skillLevel, double affinity) {
- super(name, skillLevel);
- setAffinity(affinity);
- }
- public double getAffinity() {
- return _affinity;
- }
- public void setAffinity(double affinity) {
- if (affinity < 1)
- System.out.println("Affinity can never be less than 1.");
- else
- _affinity = affinity;
- }
- @Override
- public double attack() {
- if ((int) (Math.random() * 20 + 1) == 1)
- return 0;
- else
- return getSkillLevel() / 2 + _affinity;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement