清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
class Hero def kill(bug, skill) skill.do(bug) end end class Skill def do(bug="bug") raise "This is abstract method" end end # 雷电 class Thunder < Skill def do(bug="bug") puts 'delay for 3 second' puts 'thunder 2 times' puts 'thunder continuely' puts "#{bug} HP -1000" end end # 地震 class Earthquake < Skill def do(bug) puts "#{bug} HP -500" puts 'earthquick for 2 second' puts "#{bug} black out for 5 second" end end # 旋风 class Whirlwind < Skill def do(bug) puts 'scope 100 tornado 5 second and move' puts "#{bug} HP continuely -150/per second " end end class ChristianStart<Skill def do(bug) puts "all enemy die!" puts "#{bug} die for ever!" end end puts "\r\n" puts 'beat pig' puts "------------" Hero.new.kill('pig', Thunder.new) puts "\r\n" puts 'beat white' puts "------------" Hero.new.kill('white', Earthquake.new) puts "\r\n" puts 'beat ox' puts "------------" Hero.new.kill('ox', Whirlwind.new) puts "\r\n" puts 'beat all' puts "------------" Hero.new.kill("all enemies", ChristianStart.new)