all_calc.rb 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. require './models.rb'
  2. require './db.rb'
  3. def find_corde_by_codename code_name, cordes
  4. cordes.each do |corde|
  5. return corde if corde.code_name == code_name
  6. end
  7. nil
  8. end
  9. moods = {
  10. lovely: Mood.new('Lovely')
  11. }
  12. brands = {
  13. time: Brand.new('Fantacy Time', moods[:lovely])
  14. }
  15. all_cordes = []
  16. .concat(@topscordes)
  17. .concat(@bottomscordes)
  18. .concat(@onepiececordes)
  19. .concat(@shoescordes)
  20. .concat(@othercordes)
  21. set_owner = Persona.new('システム', 'システムでーす')
  22. owner = Persona.new('鳥', '青')
  23. weekly_color = '赤'
  24. have_cordes = all_cordes.select {|corde| corde.like > 1000}.map{|corde| HaveCorde.new(corde, owner, owner) }
  25. tops_cordes = have_cordes.select {|item| item.corde.class == TopsCorde}
  26. bottoms_cordes = have_cordes.select {|item| item.corde.class == BottomsCorde}
  27. onepieces_cordes = have_cordes.select {|item| item.corde.class == OnePieceCorde}
  28. shoes_cordes = have_cordes.select {|item| item.corde.class == ShoesCorde}
  29. results = []
  30. # トップス/ボトムス/シューズの組み合わせ
  31. tops_cordes.each do |tops|
  32. bottoms_cordes.each do |bottoms|
  33. shoes_cordes.each do | shoes|
  34. corde_set = CordeSet.new tops, bottoms, nil, shoes, nil
  35. # ぴったりコーデ3(仮)
  36. # bonus_point = 500
  37. # ぴったりコーデ2(仮)
  38. # bonus_point = 300
  39. # イチオシ(仮)
  40. # bonus_point = 500
  41. results << corde_set
  42. end
  43. end
  44. end
  45. # ワンピース/シューズの組み合わせ
  46. onepiece_shoes_scores = []
  47. onepieces_cordes.each do |onepieces|
  48. shoes_cordes.each do | shoes|
  49. corde_set = CordeSet.new nil, nil, onepieces, shoes, nil
  50. # ぴったりコーデ3(仮)
  51. # bonus_point = 500
  52. # ぴったりコーデ2(仮)
  53. # bonus_point = 300
  54. # イチオシ(仮)
  55. # bonus_point = 500
  56. results << corde_set
  57. end
  58. end
  59. rank = results.sort {|a, b| b.total_point <=> a.total_point}
  60. rank.each do |best_corde|
  61. puts "#{best_corde} Base: #{best_corde.base_point} Total: #{best_corde.total_point}"
  62. end