pokautomata/gen_efficacy.rb

26 lines
546 B
Ruby
Raw Permalink Normal View History

2025-03-11 17:36:34 -04:00
require 'json'
eff = JSON.parse(File.read("src/types.json"))
def make_branches(type, defenders, efficacy)
if defenders.empty?
[]
else
["(#{type}, #{defenders.join(' | ')}) => #{efficacy},"]
end
end
branches = eff.flat_map do |eff|
type = eff['name']
[
2025-03-11 20:50:18 -04:00
*make_branches(type, eff['immunes'], 'Zero'),
2025-03-11 17:36:34 -04:00
*make_branches(type, eff['weaknesses'], 'Weak'),
*make_branches(type, eff['strengths'], 'Strong'),
]
end
puts "match (self, defender) {
#{branches.join("\n ")}
2025-03-11 20:50:18 -04:00
#{make_branches('_', ['_'], 'Neutral')[0]}
2025-03-11 17:36:34 -04:00
}"