manasimu 0.0.12 → 0.0.13

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
  SHA256:
3
- metadata.gz: 8f369c20d49bd696fd184cd0874385b5072f3b66b4371a8a1698e6a6dd9cc2ff
4
- data.tar.gz: 34b0f4b9bacb5cfa05b6e549a06576c0f07d1f904b79a8d36c8cd55e4a763c8c
3
+ metadata.gz: 15aafb1d5f12798204ce6bc38d36acbc1ab98937f7ff4f25ee43eb46bfde71e9
4
+ data.tar.gz: cd22e5a0e1773ae2a1d2ebdfde87665a187c57fde927cf22ef950e4888a9568b
5
5
  SHA512:
6
- metadata.gz: f84f7ede021935431da0b01f3554e77473f56146ca67bdd6036c1e7401c704ade04414cc404ebdf5fb214e2238613ae6112cb38cc2eeeb27c1846b147f21598f
7
- data.tar.gz: f9db31ef0e7aebbc74e7bcd389bf64a04c076d2b9e5fab389785e5abbf5665e91c546b9c34fce28f97f936e2b15785422d8c13c2513dee27d2c6773eae726452
6
+ metadata.gz: c74b8a9b11f5fb2194b2338923e5b2a765f1f9e60110397ecbdd82d2f34aba61f5b8b1024ba94bdd4b3ffef66a961d179dcc458e1736bec8865aafd3cb320c86
7
+ data.tar.gz: 8015c756b8f118a6df781c50239f5364efd63f026611a84621bf50f83d1fe248a0c6c2f4bce56a0f1fea58909c8f97afec3164ee75e3c99c4d1379cee1171f8f
@@ -0,0 +1,29 @@
1
+ class SlowLandCard < Card
2
+
3
+ def resolve(side, hands, plays)
4
+ num = 0
5
+ for card in plays do
6
+ next if card == self
7
+ num += 1 if card.is_land?
8
+ break if num >= 2
9
+ end
10
+
11
+ if num == 2
12
+ @tapped = false
13
+ else
14
+ @tapped = true
15
+ end
16
+ end
17
+
18
+ def step(turn)
19
+ @tapped = false
20
+ end
21
+
22
+ def tapped?
23
+ @tapped
24
+ end
25
+
26
+ def reset
27
+ @tapped = false
28
+ end
29
+ end
@@ -4,12 +4,15 @@ class TapLandCard < Card
4
4
  @tapped
5
5
  end
6
6
 
7
- def drawed(turn)
8
- super(turn)
7
+ def resolve(side, hands, plays)
9
8
  @tapped = true
10
9
  end
11
10
 
12
11
  def step(turn)
13
12
  @tapped = false
14
13
  end
14
+
15
+ def reset
16
+ @tapped = false
17
+ end
15
18
  end
data/lib/manasimu/card.rb CHANGED
@@ -22,6 +22,9 @@ class Card
22
22
  @card_type.played(turn)
23
23
  end
24
24
 
25
+ def resolve(side = "a", hands, plays)
26
+ end
27
+
25
28
  def played?
26
29
  @played.nil?
27
30
  end
@@ -74,6 +77,11 @@ class Card
74
77
 
75
78
  def reset
76
79
  @side = nil
80
+ @tapped = nil
81
+ end
82
+
83
+ def is_land?
84
+ @card_type.is_land? @side
77
85
  end
78
86
 
79
87
  def max_flow(lands, capas)
@@ -207,6 +215,19 @@ class CardType
207
215
  converted_mana_cost
208
216
  end
209
217
 
218
+ def is_land?(side = nil)
219
+ arr = if side == 'a'
220
+ [0]
221
+ elsif side == 'b'
222
+ [1]
223
+ else
224
+ [0,1]
225
+ end
226
+ arr.select do |i|
227
+ @contents[i] and @contents[i].types == "Land"
228
+ end.length > 0
229
+ end
230
+
210
231
  def playable?(lands, capas)
211
232
  return [false, [], []] if lands.empty?
212
233
  return [false, [], []] if converted_mana_cost > lands.length
data/lib/manasimu/data.rb CHANGED
@@ -72,9 +72,12 @@ class Deck
72
72
  card_types << clone
73
73
  if clone.name =~ /.*Pathway$/ and clone.mana_source?
74
74
  card = PathwayCard.new(clone)
75
- elsif clone.types[0] == "Land" and
75
+ elsif clone.is_land? and
76
76
  clone.contents[0].text =~ /enters the battlefield tapped\./
77
77
  card = TapLandCard.new(clone)
78
+ elsif clone.is_land? and
79
+ clone.contents[0].text =~ /enters the battlefield tapped unless you control two or more other lands./
80
+ card = SlowLandCard.new(clone)
78
81
  else
79
82
  card = Card.new(clone)
80
83
  end
data/lib/manasimu/game.rb CHANGED
@@ -42,7 +42,8 @@ class Game
42
42
 
43
43
  def play(card, turn)
44
44
  # puts "play #{card}"
45
- card.played(turn)
45
+ card.resolve(nil, @hands, @plays)
46
+ card.played(turn, nil)
46
47
  @plays << card
47
48
  @hands.delete card
48
49
  end
@@ -18,6 +18,7 @@ class Planner
18
18
  # play the land
19
19
  current_hands.delete play_land
20
20
  current_fields << play_land
21
+ play_land.resolve(nil, current_hands, current_fields)
21
22
 
22
23
  # search_opt_spells
23
24
  price, spells, symbols, lands =
@@ -29,6 +30,8 @@ class Planner
29
30
  max_symbols = symbols
30
31
  max_lands = lands
31
32
  end
33
+
34
+ play_land.reset
32
35
  end
33
36
  else
34
37
  # search_opt_spells
data/lib/manasimu.rb CHANGED
@@ -4,6 +4,7 @@ Bundler.require
4
4
  require_relative './manasimu/card.rb'
5
5
  require_relative './manasimu/card/pathway.rb'
6
6
  require_relative './manasimu/card/tapland.rb'
7
+ require_relative './manasimu/card/slowland.rb'
7
8
  require_relative './manasimu/planner.rb'
8
9
  require_relative './manasimu/game.rb'
9
10
  require_relative './manasimu/simulator.rb'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manasimu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - so1itaryrove
@@ -21,6 +21,7 @@ files:
21
21
  - lib/manasimu.rb
22
22
  - lib/manasimu/card.rb
23
23
  - lib/manasimu/card/pathway.rb
24
+ - lib/manasimu/card/slowland.rb
24
25
  - lib/manasimu/card/tapland.rb
25
26
  - lib/manasimu/data.rb
26
27
  - lib/manasimu/game.rb