diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2023-10-21 17:44:17 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2023-10-21 17:44:17 +0200 |
commit | fc89b01224150bd0e4e32e92494539e890dc90ae (patch) | |
tree | a5ffe286559b66c2115fbac86bfe7ba1701d57dc | |
parent | 23073ffb11a0a8ea1437933618b98e8d18b2f7b1 (diff) | |
download | colonial-twilight-fc89b01224150bd0e4e32e92494539e890dc90ae.zip colonial-twilight-fc89b01224150bd0e4e32e92494539e890dc90ae.tar.gz |
Forces : #update_control return true if changed
-rw-r--r-- | lib/colonial_twilight/fln_rules.rb | 2 | ||||
-rw-r--r-- | lib/colonial_twilight/forces.rb | 4 | ||||
-rw-r--r-- | spec/fln_rules_spec.rb | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/lib/colonial_twilight/fln_rules.rb b/lib/colonial_twilight/fln_rules.rb index 5f8fd48..f260dea 100644 --- a/lib/colonial_twilight/fln_rules.rb +++ b/lib/colonial_twilight/fln_rules.rb @@ -20,7 +20,7 @@ module ColonialTwilight board.search(&method(:may_agitate_in?)) end - def max_fln_to_place_in(space) + def max_placable_flns(space) space.fln_bases.positive? ? space.fln_bases + space.pop - space.fln_cubes : 1 end diff --git a/lib/colonial_twilight/forces.rb b/lib/colonial_twilight/forces.rb index 2048a00..4991c89 100644 --- a/lib/colonial_twilight/forces.rb +++ b/lib/colonial_twilight/forces.rb @@ -130,8 +130,9 @@ module ColonialTwilight end def update_control - return if @control.nil? + return nil if @control.nil? + ctr = @control @control = ( case gov <=> fln when 0 then :uncontrolled @@ -139,6 +140,7 @@ module ColonialTwilight when -1 then :FLN end ) + @control != ctr end end end diff --git a/spec/fln_rules_spec.rb b/spec/fln_rules_spec.rb index 385972a..90fc708 100644 --- a/spec/fln_rules_spec.rb +++ b/spec/fln_rules_spec.rb @@ -28,14 +28,14 @@ describe ColonialTwilight::FLNRules do it 'may place 1 FLN cube' do @board.load :short space = @board.by_name('Mostaganem') - expect(rules.max_fln_to_place_in(space)).to eq(1) + expect(rules.max_placable_flns(space)).to eq(1) end it 'may place 2 FLN cube' do @board.load :short space = @board.by_name('Orleansville') space.add :fln_base - expect(rules.max_fln_to_place_in(space)).to eq(3) + expect(rules.max_placable_flns(space)).to eq(3) end end |