pazzdra 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: edd5fc05d0712a9934273788e00563e4df439400
4
- data.tar.gz: d7554ca92bd701fc38fdd222ff56dc9332de085d
3
+ metadata.gz: 61d91ebadcbfce90e6b154b0ecbffab6dfec7eba
4
+ data.tar.gz: f07fe49e168943dad54cd384ef50200b5faeb0b7
5
5
  SHA512:
6
- metadata.gz: 4968043f83dde9c09e9957d56b6bdbbbc5c260ddde4369714e4cb2ba789c7f5e9c74454124ea43019bd0a843ea2a298ffe809222973fb7e96186039890de2934
7
- data.tar.gz: e40a33f730024443a1f6ebca32a2904daf43423379f73033b869c13f3e31177a59009f6b011f6929f884bc81c5c7c546314d88c2ced86a51cdeb235b3a7e06ae
6
+ metadata.gz: 2fc28c751eda845b3f2289909c4881a914db77a3ab07411e545ede7e9127332c159e8eaad3cdc27e80545717b1b9e6d94c65249107cbae1ac6cdf93c9bc65656
7
+ data.tar.gz: f75dc998c33c41828f94e84a16462f8f2b3b1d75ecc8a75628dacb008b6221eab0b6ae9dbd046356b36449945f25ad5131a24656841ba8a9e55322c61d40869c
data/bin/pad_calc CHANGED
@@ -43,6 +43,13 @@ EOS
43
43
  @base.data[:combo][key]
44
44
  end
45
45
  alias_method combo_method_names[1].to_sym, combo_method_names[0].to_sym
46
+ plus_method_names = ["plus_drop_#{key_color}".to_sym, "plus_drop_#{key}".to_sym]
47
+ define_method plus_method_names[0] do |val=nil|
48
+ @base.data[:plus_drop] = {} if !@base.data[:plus_drop] || @base.data[:plus_drop].is_a?(Numeric)
49
+ @base.data[:plus_drop][key] = val if val
50
+ @base.data[:plus_drop][key]
51
+ end
52
+ alias_method plus_method_names[1].to_sym, plus_method_names[0].to_sym
46
53
  end
47
54
 
48
55
  [*1..6].each do |key|
@@ -74,6 +81,7 @@ EOS
74
81
  > leader 99 # リーダースキルによる倍率
75
82
  > friend 99 # フレンドスキルによる倍率
76
83
  > skill 99 # その他スキルによる倍率
84
+ > plus_drop 99 or color: 99, ... # 強化ドロップの数。数値もしくは色指定と数値
77
85
  > combo_red [ 99, ... ] # 火属性のコンボ設定 数字カンマ区切りで何個でも。数字は同時消しの数
78
86
  # 3個を1つ、4個を1つ消したら [3,4] となる 略式: combo_r
79
87
  > combo_green [ 99, ... ] # 木属性のコンボ設定 以下同文 略式: combo_g
data/lib/pazzdra/calc.rb CHANGED
@@ -3,6 +3,7 @@ module Pazzdra
3
3
  class Calc
4
4
  COMBO_UP_BASE = 0.25 # コンボ時の追加倍率(1コンボにつき)
5
5
  LENGTH_UP_BASE = 0.25 # 同時消しの長さによる増加率(1個につき)
6
+ DROP_PLUS_UP_BASE = 0.06 # 強化ドロップによる増加率(1個につき)
6
7
  DROP_COLORS = [:r,:g,:b,:y,:p,:h] # 色指定のsymbol定義
7
8
  attr_accessor :data
8
9
  class << Calc
@@ -46,11 +47,11 @@ module Pazzdra
46
47
  dragon = {}
47
48
  DROP_COLORS.each do |key|
48
49
  next unless val[key]
49
- dragon[key] = Calc.cal attack_power_with_length_pct(val[key], key),
50
+ dragon[key] = Calc.cal attack_power_with_all_pct(val[key], key),
50
51
  @data[:leader], @data[:friend], @data[:skill], combo_up_pct
51
52
  next unless val[:sub]
52
53
  dragon[:sub] = {}
53
- dragon[:sub][val[:sub]] = Calc.cal attack_power_with_length_pct((val[key].to_f / 2).to_i, val[:sub]),
54
+ dragon[:sub][val[:sub]] = Calc.cal attack_power_with_all_pct((val[key].to_f / 2).to_i, val[:sub]),
54
55
  @data[:leader], @data[:friend], @data[:skill], combo_up_pct
55
56
  end
56
57
  dragons.push(dragon)
@@ -86,9 +87,28 @@ module Pazzdra
86
87
  end
87
88
  end
88
89
 
89
- # 繋げた長さを考慮したベース攻撃力
90
- def attack_power_with_length_pct(base_power, color=nil)
91
- base_power * length_up_pct(color)
90
+ # 繋げた長さと強化ドロップを考慮したベース攻撃力
91
+ def attack_power_with_all_pct(base_power, color=nil)
92
+ base_power * length_up_pct(color) * plus_up_pct(color)
93
+ end
94
+
95
+ # 強化ドロップによる加算倍率
96
+ def plus_up_pct(color=nil)
97
+ 1 + (plus_count(color) * DROP_PLUS_UP_BASE)
98
+ end
99
+
100
+ # 強化ドロップの数
101
+ def plus_count(color=nil)
102
+ return 0 unless color
103
+ case @data[:plus_drop]
104
+ when Numeric
105
+ 0
106
+ when Hash
107
+ return 0 unless @data[:plus_drop][color]
108
+ @data[:plus_drop][color]
109
+ else
110
+ 0
111
+ end
92
112
  end
93
113
 
94
114
  # 繋げた長さによる加算倍率
@@ -1,3 +1,3 @@
1
1
  module Pazzdra
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/spec/pazzdra_spec.rb CHANGED
@@ -65,6 +65,10 @@ describe Pazzdra, "パズドラ各種計算アプリ" do
65
65
  @calc.merge({ base: [{g: 1200, sub: :g},{y: 1234, sub: :r}], leader: 2.5, friend: 2, skill: 1.5, combo: {r: [3, 3], g: [3,4], b: [3], y: [4, 6] } })
66
66
  should eq [{g: 50625, sub: {g: 25313}},{y: 69413, sub: {r: 23138}}]
67
67
  end
68
+ it "ベースの色指定、コンボ色指定 攻撃色が複数、長さ4越え 複数、強化ドロップあり" do
69
+ @calc.merge({ base: [{g: 1200, sub: :g},{y: 1234, sub: :r}], leader: 2.5, friend: 2, skill: 1.5, combo: {r: [3, 3], g: [3,4], b: [3], y: [4, 6] }, plus_drop: {g: 4} })
70
+ should eq [{g: 62775, sub: {g: 31388}},{y: 69413, sub: {r: 23138}}]
71
+ end
68
72
  end
69
73
  end
70
74
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pazzdra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - takashi.akagi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-19 00:00:00.000000000 Z
11
+ date: 2014-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler