pazzdra 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5ee37f8e348768d484e8efe3a60ad129238d0ca1
4
- data.tar.gz: e95b48015bd88f71560a5bafde86836264205164
3
+ metadata.gz: 78dcbbe385855316542f47e90b7f5d6a3fef4210
4
+ data.tar.gz: 9d77a1cc9bfdbe88176a6ba696a01909ac09e614
5
5
  SHA512:
6
- metadata.gz: 25a8bb9c66ee65473f17a20da653093708e0a1eb22278c284758dd32c72bfa4d31d6fc7735a9540d56e2ebd80c970cfe2d0436cd8f29427e6ad514f740871ffe
7
- data.tar.gz: 63b64c4cc1da8c871fe4194ef6a3140b2a04c4b08721092fdbc401455594fdcea40bc7bd8280891b9a63d44f86abf623b14646c76f9bae6ab5358e1234fd3a56
6
+ metadata.gz: d43622f0b752a2e15f48c47b383d63d948547a41019ce5db37b9dabc94b553f29ee1bc42a4d649cf17bc72ed8508b77a12ef232a3d88949b8b3b6c85d960bd42
7
+ data.tar.gz: add24662f01d7a8182a2401ade876f189aa8d4071a2e401b65ad13f4e657a79335e176e64016886b8152c3ce66690142ee358661d2ec93bcb38474df73e66cab
data/bin/pad_calc CHANGED
@@ -25,6 +25,7 @@ EOS
25
25
  private
26
26
  def init
27
27
  @base = Pazzdra::Calc.new
28
+ @stamina_base = Pazzdra::Stamina.new
28
29
  end
29
30
 
30
31
  Pazzdra::Calc.DEFAULT_BASE.keys.each do |key|
@@ -61,6 +62,14 @@ EOS
61
62
  end
62
63
  end
63
64
 
65
+ def stamina_base(val)
66
+ @stamina_base.base_stamina = val
67
+ end
68
+
69
+ def stamina(val=nil)
70
+ @stamina_base.stamina val
71
+ end
72
+
64
73
  def show
65
74
  @base.show
66
75
  end
@@ -0,0 +1,41 @@
1
+
2
+ require 'time'
3
+
4
+ module Pazzdra
5
+ class Stamina
6
+ class << Stamina
7
+ def cal(target_time=nil, base_stamina=0)
8
+ target_time ||= Time.now + (60 * 60 * 8)
9
+ (base_stamina + (target_time - Time.now) / 60 / 10).to_i
10
+ end
11
+ def cal_time(target_stamina, base_stamina=0)
12
+ Time.now + (60 * 10 * (target_stamina - base_stamina))
13
+ end
14
+ end
15
+
16
+ attr_accessor :target_time
17
+ attr_accessor :base_stamina
18
+
19
+ def initialize
20
+ @target_time = Time.now + (60 * 60 * 8)
21
+ @base_stamina = 0
22
+ end
23
+
24
+ def stamina(val=nil)
25
+ case val
26
+ when Numeric, NilClass
27
+ stamina_time val
28
+ when String
29
+ stamina_val val
30
+ end
31
+ end
32
+
33
+ def stamina_time(val=0)
34
+ Stamina.cal_time val, @base_stamina
35
+ end
36
+
37
+ def stamina_val(val)
38
+ Stamina.cal Time.parse(val), @base_stamina
39
+ end
40
+ end
41
+ end
@@ -1,3 +1,3 @@
1
1
  module Pazzdra
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/pazzdra.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "pazzdra/version"
2
+ require "pazzdra/stamina"
2
3
  require "pazzdra/calc"
3
4
 
4
5
  module Pazzdra
data/spec/calc_spec.rb ADDED
@@ -0,0 +1,74 @@
1
+
2
+ require 'spec_helper'
3
+ require 'pazzdra'
4
+
5
+ describe Pazzdra::Calc, "攻撃力計算機能" do
6
+ context 'クラスから使用する場合' do
7
+ it "基本の攻撃力のみ" do
8
+ expect(Pazzdra::Calc.cal(1010)).to eq(1010)
9
+ end
10
+
11
+ it "リーダー x フレンド x エンハンス" do
12
+ expect(Pazzdra::Calc.cal(1010,3.5)).to eq(3535)
13
+ expect(Pazzdra::Calc.cal(810,2.5,3.5)).to eq(7088)
14
+ expect(Pazzdra::Calc.cal(1234,2.5,2,1.5)).to eq(9255)
15
+ end
16
+
17
+ it "ドロップ追加" do
18
+ expect(Pazzdra::Calc.cal(1010,3.5,3.5)).to eq(12373)
19
+ end
20
+ end
21
+
22
+ context 'インスタンスで使用する場合' do
23
+ before do
24
+ @calc = Pazzdra::Calc.new
25
+ end
26
+
27
+ subject{ @calc.cal }
28
+ context '基本!' do
29
+ it "リーダーのみ" do
30
+ @calc.merge({ base: 1000, leader: 1.5 })
31
+ should eq 1500
32
+ end
33
+ it "リーダー x フレンド x エンハンス" do
34
+ @calc.merge({ base: 1000, leader: 1.5, friend: 2, skill: 3.5 })
35
+ should eq 10500
36
+ end
37
+ end
38
+ context 'コンボデータ有' do
39
+ it "ベースの色無し、コンボ数指定" do
40
+ @calc.merge({ base: 1000, leader: 2.5, combo: 3 })
41
+ should eq 3750
42
+ end
43
+ it "ベースの色無し、コンボ色指定" do
44
+ @calc.merge({ base: 1000, leader: 2.5, combo: {r: [3], g: [3,4,4], b: [3] } })
45
+ should eq 5000
46
+ end
47
+ it "ベースの色指定、コンボ色指定" do
48
+ @calc.merge({ base: [{r: 1000}], leader: 2.5, combo: {r: [3], g: [3,4,4], b: [3] } })
49
+ should eq [{r: 5000}]
50
+ end
51
+ it "ベースの色指定、コンボ色指定 複数" do
52
+ @calc.merge({ base: [{r: 1000, sub: :r},{b: 1200, sub: :r}], leader: 2.5, combo: {r: [3], g: [3,4,4], b: [3] } })
53
+ should eq [{r: 5000, sub: {r: 2500}},{b: 6000, sub: {r: 3000}}]
54
+ end
55
+ it "ベースの色指定、コンボ色指定 攻撃色が複数" do
56
+ @calc.merge({ base: [{r: 1000}], leader: 2.5, combo: {r: [3, 3], g: [3,4], b: [3] } })
57
+ should eq [{r: 10000}]
58
+ end
59
+ it "ベースの色指定、コンボ色指定 攻撃色が複数、長さ4越え" do
60
+ @calc.merge({ base: [{g: 1200, sub: :g}], leader: 2.5, combo: {r: [3, 3], g: [3,4], b: [3] } })
61
+ should eq [{g: 13500, sub: {g: 6750}}]
62
+ end
63
+ it "ベースの色指定、コンボ色指定 攻撃色が複数、長さ4越え 複数" do
64
+ @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] } })
65
+ should eq [{g: 50625, sub: {g: 25313}},{y: 69413, sub: {r: 23138}}]
66
+ end
67
+ it "ベースの色指定、コンボ色指定 攻撃色が複数、長さ4越え 複数、強化ドロップあり" do
68
+ @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} })
69
+ should eq [{g: 62775, sub: {g: 31388}},{y: 69413, sub: {r: 23138}}]
70
+ end
71
+ end
72
+ end
73
+ end
74
+
data/spec/spec_helper.rb CHANGED
@@ -5,3 +5,7 @@ require 'rubygems'
5
5
  # true
6
6
  # end
7
7
  #end
8
+
9
+ def time_format(time)
10
+ time.strftime('%Y/%m/%d %H:%M:%S')
11
+ end
@@ -0,0 +1,21 @@
1
+
2
+ require 'spec_helper'
3
+ require 'pazzdra'
4
+
5
+ describe Pazzdra::Stamina, "スタミナ回復時間計算機能" do
6
+ context 'インスタンスで使用する場合' do
7
+ before do
8
+ @stamina = Pazzdra::Stamina.new
9
+ end
10
+
11
+ context '基本機能' do
12
+ it "回復時刻を知る" do
13
+ time_format(@stamina.stamina(6)).should eq time_format(Time.now + (60 * 60))
14
+ end
15
+ it "指定時刻でのスタミナ数" do
16
+ @stamina.stamina(time_format(Time.now + (60 * 60 * 1))).should eq 5
17
+ end
18
+ end
19
+ end
20
+ end
21
+
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.3
4
+ version: 0.0.4
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-20 00:00:00.000000000 Z
11
+ date: 2014-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -82,10 +82,12 @@ files:
82
82
  - bin/pad_calc
83
83
  - lib/pazzdra.rb
84
84
  - lib/pazzdra/calc.rb
85
+ - lib/pazzdra/stamina.rb
85
86
  - lib/pazzdra/version.rb
86
87
  - pazzdra.gemspec
87
- - spec/pazzdra_spec.rb
88
+ - spec/calc_spec.rb
88
89
  - spec/spec_helper.rb
90
+ - spec/stamina_spec.rb
89
91
  homepage: https://github.com/majosystems/pazzdra
90
92
  licenses:
91
93
  - MIT
@@ -111,6 +113,7 @@ signing_key:
111
113
  specification_version: 4
112
114
  summary: PAZZRU & DRAGONS calc.
113
115
  test_files:
114
- - spec/pazzdra_spec.rb
116
+ - spec/calc_spec.rb
115
117
  - spec/spec_helper.rb
118
+ - spec/stamina_spec.rb
116
119
  has_rdoc:
data/spec/pazzdra_spec.rb DELETED
@@ -1,76 +0,0 @@
1
-
2
- require 'spec_helper'
3
- require 'pazzdra'
4
-
5
- describe Pazzdra, "パズドラ各種計算アプリ" do
6
- describe Pazzdra::Calc, "攻撃力計算機能" do
7
- context 'クラスから使用する場合' do
8
- it "基本の攻撃力のみ" do
9
- expect(Pazzdra::Calc.cal(1010)).to eq(1010)
10
- end
11
-
12
- it "リーダー x フレンド x エンハンス" do
13
- expect(Pazzdra::Calc.cal(1010,3.5)).to eq(3535)
14
- expect(Pazzdra::Calc.cal(810,2.5,3.5)).to eq(7088)
15
- expect(Pazzdra::Calc.cal(1234,2.5,2,1.5)).to eq(9255)
16
- end
17
-
18
- it "ドロップ追加" do
19
- expect(Pazzdra::Calc.cal(1010,3.5,3.5)).to eq(12373)
20
- end
21
- end
22
-
23
- context 'インスタンスで使用する場合' do
24
- before do
25
- @calc = Pazzdra::Calc.new
26
- end
27
-
28
- subject{ @calc.cal }
29
- context '基本!' do
30
- it "リーダーのみ" do
31
- @calc.merge({ base: 1000, leader: 1.5 })
32
- should eq 1500
33
- end
34
- it "リーダー x フレンド x エンハンス" do
35
- @calc.merge({ base: 1000, leader: 1.5, friend: 2, skill: 3.5 })
36
- should eq 10500
37
- end
38
- end
39
- context 'コンボデータ有' do
40
- it "ベースの色無し、コンボ数指定" do
41
- @calc.merge({ base: 1000, leader: 2.5, combo: 3 })
42
- should eq 3750
43
- end
44
- it "ベースの色無し、コンボ色指定" do
45
- @calc.merge({ base: 1000, leader: 2.5, combo: {r: [3], g: [3,4,4], b: [3] } })
46
- should eq 5000
47
- end
48
- it "ベースの色指定、コンボ色指定" do
49
- @calc.merge({ base: [{r: 1000}], leader: 2.5, combo: {r: [3], g: [3,4,4], b: [3] } })
50
- should eq [{r: 5000}]
51
- end
52
- it "ベースの色指定、コンボ色指定 複数" do
53
- @calc.merge({ base: [{r: 1000, sub: :r},{b: 1200, sub: :r}], leader: 2.5, combo: {r: [3], g: [3,4,4], b: [3] } })
54
- should eq [{r: 5000, sub: {r: 2500}},{b: 6000, sub: {r: 3000}}]
55
- end
56
- it "ベースの色指定、コンボ色指定 攻撃色が複数" do
57
- @calc.merge({ base: [{r: 1000}], leader: 2.5, combo: {r: [3, 3], g: [3,4], b: [3] } })
58
- should eq [{r: 10000}]
59
- end
60
- it "ベースの色指定、コンボ色指定 攻撃色が複数、長さ4越え" do
61
- @calc.merge({ base: [{g: 1200, sub: :g}], leader: 2.5, combo: {r: [3, 3], g: [3,4], b: [3] } })
62
- should eq [{g: 13500, sub: {g: 6750}}]
63
- end
64
- it "ベースの色指定、コンボ色指定 攻撃色が複数、長さ4越え 複数" do
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
- should eq [{g: 50625, sub: {g: 25313}},{y: 69413, sub: {r: 23138}}]
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
72
- end
73
- end
74
- end
75
- end
76
-