class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● 同名的敌人附加字母后缀
#--------------------------------------------------------------------------
def make_unique_names
members.each do |enemy|
next unless enemy.alive?
next unless enemy.letter.empty?
p @names_count #=>{} {"甲"=>1} {"甲"=>1, "乙"=>1} #1.
p @names_count[enemy.original_name] #=>nil nil 1 #2.
n = @names_count[enemy.original_name] || 0 #3.
p n #=>0 0 1 #3.
p LETTER_TABLE #=>[" A", " B", " C", " D", " E", " F", " G", " H", " I", " J", " K", " L", " M", " N", " O", " P", " Q", " R", " S", " T", " U", " V", " W", " X", " Y", " Z"]
p LETTER_TABLE.size #=>26
p (n % LETTER_TABLE.size) #=>0 0 1 #4.
enemy.letter = LETTER_TABLE[n % LETTER_TABLE.size] #4.
p enemy.letter #=>" A" " A" " B" #4.
@names_count[enemy.original_name] = n + 1 #5.
p @names_count #=>{"甲"=>1} {"甲"=>1, "乙"=>1} {"甲"=>1, "乙"=>2} #5.
end
members.each do |enemy|
p @names_count[enemy.original_name] #=>1 2 2 #6.
n = @names_count[enemy.original_name] || 0
enemy.plural = true if n >= 2 #当敌人"X"有两名或以上(例如{" 甲"=>1, " 乙"=>2}中, " 乙"的值>=2)时, 敌人"X"的名字附加后缀(enemy.letter)
end
end
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● 同名的敌人附加字母后缀
#--------------------------------------------------------------------------
def make_unique_names
members.each do |enemy|
next unless enemy.alive?
next unless enemy.letter.empty?
p @names_count #=>{} {"甲"=>1} {"甲"=>1, "乙"=>1} #1.
p @names_count[enemy.original_name] #=>nil nil 1 #2.
n = @names_count[enemy.original_name] || 0 #3.
p n #=>0 0 1 #3.
p LETTER_TABLE #=>[" A", " B", " C", " D", " E", " F", " G", " H", " I", " J", " K", " L", " M", " N", " O", " P", " Q", " R", " S", " T", " U", " V", " W", " X", " Y", " Z"]
p LETTER_TABLE.size #=>26
p (n % LETTER_TABLE.size) #=>0 0 1 #4.
enemy.letter = LETTER_TABLE[n % LETTER_TABLE.size] #4.
p enemy.letter #=>" A" " A" " B" #4.
@names_count[enemy.original_name] = n + 1 #5.
p @names_count #=>{"甲"=>1} {"甲"=>1, "乙"=>1} {"甲"=>1, "乙"=>2} #5.
end
members.each do |enemy|
p @names_count[enemy.original_name] #=>1 2 2 #6.
n = @names_count[enemy.original_name] || 0
enemy.plural = true if n >= 2 #当敌人"X"有两名或以上(例如{" 甲"=>1, " 乙"=>2}中, " 乙"的值>=2)时, 敌人"X"的名字附加后缀(enemy.letter)
end
end
输出的结果由上至下,左至右理解, 即: