calc.rb 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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 = [
  25. ['2-01-020', owner],
  26. ['T1-049', owner],
  27. ['2-014', owner],
  28. ['T1-048', owner],
  29. ['T1-047', owner],
  30. ['H-02-029', owner],
  31. ['2-01-019', owner],
  32. ['2-014', owner],
  33. ['1-022', owner],
  34. ['T1-015', owner],
  35. ['03-001', owner],
  36. ['03-002', owner],
  37. ['03-003', owner],
  38. ].map{|corde| HaveCorde.new(find_corde_by_codename(corde[0], all_cordes), owner, corde[1]) }
  39. tops_cordes = have_cordes.select {|item| item.corde.class == TopsCorde}
  40. bottoms_cordes = have_cordes.select {|item| item.corde.class == BottomsCorde}
  41. onepieces_cordes = have_cordes.select {|item| item.corde.class == OnePieceCorde}
  42. shoes_cordes = have_cordes.select {|item| item.corde.class == ShoesCorde}
  43. results = []
  44. # トップス/ボトムス/シューズの組み合わせ
  45. tops_cordes.each do |tops|
  46. bottoms_cordes.each do |bottoms|
  47. shoes_cordes.each do | shoes|
  48. corde_set = CordeSet.new tops, bottoms, nil, shoes, nil
  49. # ぴったりコーデ3(仮)
  50. # bonus_point = 500
  51. # ぴったりコーデ2(仮)
  52. # bonus_point = 300
  53. # イチオシ(仮)
  54. # bonus_point = 500
  55. results << corde_set
  56. end
  57. end
  58. end
  59. # ワンピース/シューズの組み合わせ
  60. onepiece_shoes_scores = []
  61. onepieces_cordes.each do |onepieces|
  62. shoes_cordes.each do | shoes|
  63. corde_set = CordeSet.new nil, nil, onepieces, shoes, nil
  64. # ぴったりコーデ3(仮)
  65. # bonus_point = 500
  66. # ぴったりコーデ2(仮)
  67. # bonus_point = 300
  68. # イチオシ(仮)
  69. # bonus_point = 500
  70. results << corde_set
  71. end
  72. end
  73. rank = results.sort {|a, b| b.total_point <=> a.total_point}
  74. rank.each do |best_corde|
  75. puts "#{best_corde} Base: #{best_corde.base_point} Total: #{best_corde.total_point}"
  76. end