Advertisement
AmidamaruZXC

Untitled

Jun 26th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.63 KB | None | 0 0
  1. abstract class Citizen {
  2.     private String _name;
  3.     private double _skillLevel;
  4.  
  5.     public Citizen() {
  6.         _name = "Anajaan the unknown";
  7.         _skillLevel = 0;
  8.     }
  9.  
  10.     public Citizen(String name, double skillLevel) {
  11.         setName(name);
  12.         setSkillLevel(skillLevel);
  13.     }
  14.  
  15.     public String getName() {
  16.         return _name;
  17.     }
  18.  
  19.     public void setName(String name) {
  20.         if (name == null || name.isEmpty())
  21.             System.out.println("Name can’t be null or empty.");
  22.         else
  23.             _name = name;
  24.     }
  25.  
  26.     public double getSkillLevel() {
  27.         return _skillLevel;
  28.     }
  29.  
  30.     public void setSkillLevel(double skillLevel) {
  31.         if (skillLevel < 0)
  32.             System.out.println("Skill level can never be less than 0.");
  33.         else
  34.             _skillLevel = skillLevel;
  35.     }
  36.  
  37.     public abstract double attack();
  38. }
  39.  
  40. class Paladin extends Citizen {
  41.     private double _affinity;
  42.  
  43.     public Paladin() {
  44.         super();
  45.         _affinity = 1;
  46.     }
  47.  
  48.     public Paladin(String name, double skillLevel, double affinity) {
  49.         super(name, skillLevel);
  50.         setAffinity(affinity);
  51.     }
  52.  
  53.     public double getAffinity() {
  54.         return _affinity;
  55.     }
  56.  
  57.     public void setAffinity(double affinity) {
  58.         if (affinity < 1)
  59.             System.out.println("Affinity can never be less than 1.");
  60.         else
  61.             _affinity = affinity;
  62.     }
  63.  
  64.     @Override
  65.     public double attack() {
  66.         if ((int) (Math.random() * 20 + 1) == 1)
  67.             return 0;
  68.         else
  69.             return getSkillLevel() / 2 + _affinity;
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement