diff --git a/constant.rb b/constant.rb
index 3d3e112..07a7c16 100644
--- a/constant.rb
+++ b/constant.rb
@@ -194,5 +194,9 @@
   end
 end
 
-# 建立一個有不同職業 （包括英雄、神聖武士與魔法師）的團隊
-hero = Hero.new("Robinhood", 100000, 20)
\ No newline at end of file
+
+puts "Hero 的 MAX HP 是： #{Hero::MAX_HP}"
+puts "Hero 的 MAX AP 是： #{Hero::MAX_AP}"
+
+# 測試是否限制了英雄的 HP 和 AP
+hero = Hero.new("Robinhood", 100000, 2000)          # hp 和 ap 沒有超過 MAX_HP 和 MAX_AP 就是限制了
\ No newline at end of file
diff --git "a/hero_game/Icon\r" "b/hero_game/Icon\r"
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ "b/hero_game/Icon\r"
diff --git a/hero_game/hero.rb b/hero_game/hero.rb
index 77a9a80..b3b6705 100644
--- a/hero_game/hero.rb
+++ b/hero_game/hero.rb
@@ -1,7 +1,5 @@
-class Hero
 
-  MAX_HP = 200
-  MAX_AP = 80
+class Hero
 
   attr_accessor :hp, :name
 
@@ -9,19 +7,8 @@
 
   def initialize(name, hp, ap)
     @name = name
-    
-    if MAX_HP < hp
-      @hp = MAX_HP
-    else
-      @hp = hp
-    end
-
-    if MAX_AP < ap
-      @ap = MAX_AP
-    else
-      @ap = ap
-    end                                       # 設定一個名為 hp（生命值）的 attribute
-
+    @hp = hp
+    @ap = ap
     @alive = true                                   # 英雄剛被創造，所以預設為 true，表示英雄被創造時一定是活著的
 
     # 印出被創造的英雄的 attributes
@@ -47,16 +34,12 @@
     puts "#{enemy.name} 剩下 #{enemy.hp} 點 HP"
     puts ""
 
-    enemy.die?
-  end
-
-  def die?
-    if hp < 1
-      die
+    if enemy.hp < 1                                 # 生命值小於 1，代表死亡(戰敗)
+      enemy.die                                     # 敵人死亡
     end
   end
 
-  private def die                                           # 代表死亡(戰敗)
+  def die                                           # 代表死亡(戰敗)
     @alive = false
     puts "#{@name} 被打倒了"
   end
@@ -68,4 +51,4 @@
   def self.all
     return @@heroes                                 # 回傳包含所有 hero 的 array
   end
-end
+end
\ No newline at end of file
diff --git a/hero_game/holy_knight.rb b/hero_game/holy_knight.rb
index 465197d..a267e85 100644
--- a/hero_game/holy_knight.rb
+++ b/hero_game/holy_knight.rb
@@ -20,6 +20,8 @@
     puts "#{enemy.name} 剩下 #{enemy.hp} 點 HP"
     puts ""
 
-    enemy.die?
+    if enemy.hp < 1                                 # 生命值小於 1，代表死亡(戰敗)
+      enemy.die                                     # 敵人死亡
+    end
   end
 end
\ No newline at end of file
diff --git a/hero_game/mage.rb b/hero_game/mage.rb
index 2a16d1f..d873bb9 100644
--- a/hero_game/mage.rb
+++ b/hero_game/mage.rb
@@ -10,17 +10,11 @@
   # Mage class 需要增加一個 attribute: mp
   # 所以要設定一個屬於魔法師 initialize
 
-  MAX_MP = 10
-
   def initialize(name, hp , ap, mp)
     super(name, hp, ap)                               # 用繼承的語法 super 來設定屬於 Hero 的 attributes，super 會呼叫 Hero 的同名方法 initialize
 
     # 新增一個 attribute: mp (魔法力)
-    if MAX_MP < mp
-      @mp = MAX_MP
-    else
-      @mp = mp
-    end
+    @mp = mp
   end
 
   # Mage class 也需要增加一個 method: fireball
@@ -37,7 +31,9 @@
       puts "#{enemy.name} 剩下 #{enemy.hp} 點 HP"
       puts ""
 
-      enemy.die?
+      if enemy.hp < 1
+        enemy.die
+      end
     else
       # 如果 mp 不夠 3 點，就只能用普通的攻擊，super 會呼叫 Hero 的同名方法 attack
       super(enemy)
diff --git a/hero_game/monster.rb b/hero_game/monster.rb
index 839cb00..ff79de3 100644
--- a/hero_game/monster.rb
+++ b/hero_game/monster.rb
@@ -1,25 +1,11 @@
 class Monster
 
-  MAX_HP = 150
-  MAX_AP = 50
-
   attr_accessor :hp, :name                    # 設定物件外部可以直接使用和修改 name 和 hp 的 attributes
 
   def initialize(name, hp, ap)
     @name = name                              # 設定一個名為 name（名稱）的 attribute
-
-    if MAX_HP < hp
-      @hp = MAX_HP
-    else
-      @hp = hp
-    end
-
-    if MAX_AP < ap
-      @ap = MAX_AP
-    else
-      @ap = ap
-    end                                       # 設定一個名為 hp（生命值）的 attribute
-
+    @hp = hp                                  # 設定一個名為 hp（生命值）的 attribute
+    @ap = ap                                  # 設定一個名為 ap（攻擊值）的 attribute
     @alive = true                             # 怪獸剛被創造，所以預設為 true，表示怪獸創造時一定是活著的
 
     # 印出被創造的怪獸的 attributes
@@ -43,16 +29,12 @@
     puts "#{enemy.name} 剩下 #{enemy.hp} 點 HP"
     puts ""
 
-    enemy.die?
-  end
-
-  def die?
-    if hp < 1
-      die
+    if enemy.hp < 1                                 # 生命值小於 1，代表死亡(戰敗)
+      enemy.die                                     # 敵人死亡
     end
   end
 
-  private def die                                           # 代表死亡(戰敗)
+  def die                                           # 代表死亡(戰敗)
     @alive = false
     puts "#{@name} 被打倒了"
   end
diff --git a/hero_game/play.rb b/hero_game/play.rb
index 84f5f20..86e06b7 100644
--- a/hero_game/play.rb
+++ b/hero_game/play.rb
@@ -1,12 +1,12 @@
 require "./monster"
-require "./mage"
+require "./hero.rb"
 require_relative "holy_knight"
-
+require_relative "mage.rb"
 
 # 建立一個有不同職業 （包括英雄、神聖武士與魔法師）的團隊
-hero = Hero.new("Robinhood", 100000, 20)
-holy_knight = HolyKnight.new("Howard", 100, 3000)
-mage = Mage.new("Merlin",60, 20, 100)
+hero = Hero.new("Robinhood", 100, 20)
+holy_knight = HolyKnight.new("Howard", 100, 30)
+mage = Mage.new("Merlin",60, 20, 10)
 
 # 列印英雄隊伍
 team = Hero.all
diff --git a/private.rb b/private.rb
index ed70ee6..df92fac 100644
--- a/private.rb
+++ b/private.rb
@@ -1,25 +1,11 @@
 class Monster
 
-  MAX_HP = 150
-  MAX_AP = 50
-
   attr_accessor :hp, :name                    # 設定物件外部可以直接使用和修改 name 和 hp 的 attributes
 
   def initialize(name, hp, ap)
     @name = name                              # 設定一個名為 name（名稱）的 attribute
-
-    if MAX_HP < hp
-      @hp = MAX_HP
-    else
-      @hp = hp
-    end
-
-    if MAX_AP < ap
-      @ap = MAX_AP
-    else
-      @ap = ap
-    end                                       # 設定一個名為 hp（生命值）的 attribute
-
+    @hp = hp                                  # 設定一個名為 hp（生命值）的 attribute
+    @ap = ap                                  # 設定一個名為 ap（攻擊值）的 attribute
     @alive = true                             # 怪獸剛被創造，所以預設為 true，表示怪獸創造時一定是活著的
 
     # 印出被創造的怪獸的 attributes
@@ -43,7 +29,7 @@
     puts "#{enemy.name} 剩下 #{enemy.hp} 點 HP"
     puts ""
 
-    enemy.die?
+    enemy.die?                                      # 透過 die？ 去檢查敵人的 hp，而不是在自己的 attack 裡使用 enemy.die
   end
 
   def die?
@@ -51,8 +37,9 @@
       die
     end
   end
-
-  private def die                                           # 代表死亡(戰敗)
+  
+  private                                           # 宣告 die 為私有方法
+  def die                                           # 代表死亡(戰敗)
     @alive = false
     puts "#{@name} 被打倒了"
   end
@@ -60,28 +47,14 @@
 
 class Hero
 
-  MAX_HP = 200
-  MAX_AP = 80
-
   attr_accessor :hp, :name
 
   @@heroes = []                                   # 用來儲存所有 heroes 的 array                          # 讓外部的 method 也可以抓到這兩個 variables
 
   def initialize(name, hp, ap)
     @name = name
-    
-    if MAX_HP < hp
-      @hp = MAX_HP
-    else
-      @hp = hp
-    end
-
-    if MAX_AP < ap
-      @ap = MAX_AP
-    else
-      @ap = ap
-    end                                       # 設定一個名為 hp（生命值）的 attribute
-
+    @hp = hp
+    @ap = ap
     @alive = true                                   # 英雄剛被創造，所以預設為 true，表示英雄被創造時一定是活著的
 
     # 印出被創造的英雄的 attributes
@@ -107,16 +80,17 @@
     puts "#{enemy.name} 剩下 #{enemy.hp} 點 HP"
     puts ""
 
-    enemy.die?
+    enemy.die?                                      # 透過 die？ 去檢查敵人的 hp，而不是在自己的 attack 裡使用 enemy.die
   end
 
-  def die?
+  def die?                                          
     if hp < 1
       die
     end
   end
 
-  private def die                                           # 代表死亡(戰敗)
+  private                                           # 宣告 die 為私有方法
+  def die                                           # 代表死亡(戰敗)
     @alive = false
     puts "#{@name} 被打倒了"
   end
@@ -140,17 +114,11 @@
   # Mage class 需要增加一個 attribute: mp
   # 所以要設定一個屬於魔法師 initialize
 
-  MAX_MP = 10
-
   def initialize(name, hp , ap, mp)
     super(name, hp, ap)                               # 用繼承的語法 super 來設定屬於 Hero 的 attributes，super 會呼叫 Hero 的同名方法 initialize
 
     # 新增一個 attribute: mp (魔法力)
-    if MAX_MP < mp
-      @mp = MAX_MP
-    else
-      @mp = mp
-    end
+    @mp = mp
   end
 
   # Mage class 也需要增加一個 method: fireball
@@ -204,6 +172,8 @@
   end
 end
 
-# 建立一個有不同職業 （包括英雄、神聖武士與魔法師）的團隊
+# 確認是否可直接呼叫讓 hero 被打倒
 hero = Hero.new("Robinhood", 100, 20)
-hero.die
+
+hero.die?        # 使用 die? 確認 hero 是否死亡，不會發生錯誤
+hero.die         # 會發生錯誤，表示宣告 die 為私有方法成功了
\ No newline at end of file
