manasimu 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/manasimu/card.rb +29 -13
- data/lib/manasimu/game.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f369c20d49bd696fd184cd0874385b5072f3b66b4371a8a1698e6a6dd9cc2ff
|
4
|
+
data.tar.gz: 34b0f4b9bacb5cfa05b6e549a06576c0f07d1f904b79a8d36c8cd55e4a763c8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f84f7ede021935431da0b01f3554e77473f56146ca67bdd6036c1e7401c704ade04414cc404ebdf5fb214e2238613ae6112cb38cc2eeeb27c1846b147f21598f
|
7
|
+
data.tar.gz: f9db31ef0e7aebbc74e7bcd389bf64a04c076d2b9e5fab389785e5abbf5665e91c546b9c34fce28f97f936e2b15785422d8c13c2513dee27d2c6773eae726452
|
data/lib/manasimu/card.rb
CHANGED
@@ -3,9 +3,12 @@ class Card
|
|
3
3
|
|
4
4
|
def initialize(card_type)
|
5
5
|
@card_type = card_type
|
6
|
+
@playable = false
|
6
7
|
end
|
7
8
|
|
8
9
|
def step(turn)
|
10
|
+
@card_type.step(turn - 1, self)
|
11
|
+
@can_play = false
|
9
12
|
end
|
10
13
|
|
11
14
|
def drawed(turn)
|
@@ -32,7 +35,13 @@ class Card
|
|
32
35
|
end
|
33
36
|
|
34
37
|
def playable?(lands, capas)
|
35
|
-
@card_type.playable?(lands, capas)
|
38
|
+
ret = @card_type.playable?(lands, capas)
|
39
|
+
@can_play = true if ret and ret[0]
|
40
|
+
ret
|
41
|
+
end
|
42
|
+
|
43
|
+
def can_play?
|
44
|
+
@can_play
|
36
45
|
end
|
37
46
|
|
38
47
|
def types
|
@@ -88,19 +97,23 @@ class Card
|
|
88
97
|
end
|
89
98
|
|
90
99
|
class CardType
|
91
|
-
attr_accessor :contents, :played, :drawed, :name
|
100
|
+
attr_accessor :contents, :played, :drawed, :name, :can_plays
|
92
101
|
|
93
102
|
def self.create(card_type, name)
|
94
103
|
ret = card_type.dup
|
95
104
|
ret.contents = card_type.contents
|
96
|
-
ret.played =
|
97
|
-
ret.drawed =
|
105
|
+
ret.played = {}
|
106
|
+
ret.drawed = {}
|
107
|
+
ret.can_plays = {}
|
98
108
|
ret.name = name
|
99
109
|
ret
|
100
110
|
end
|
101
111
|
|
102
112
|
def initialize(contents)
|
103
113
|
return if not contents
|
114
|
+
@played = {}
|
115
|
+
@drawed = {}
|
116
|
+
@can_plays = {}
|
104
117
|
@contents = contents.map {|c| Content.new(c)}
|
105
118
|
end
|
106
119
|
|
@@ -108,14 +121,19 @@ class CardType
|
|
108
121
|
@name ||= @contents[0].name
|
109
122
|
end
|
110
123
|
|
124
|
+
def step(turn, card)
|
125
|
+
if turn >= 0 and card.can_play?
|
126
|
+
@can_plays[turn] ||= 0
|
127
|
+
@can_plays[turn] += 1
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
111
131
|
def played(turn)
|
112
|
-
@played ||= {}
|
113
132
|
@played[turn] ||= 0
|
114
133
|
@played[turn] += 1
|
115
134
|
end
|
116
135
|
|
117
136
|
def drawed(turn)
|
118
|
-
@drawed ||= {}
|
119
137
|
@drawed[turn] ||= 0
|
120
138
|
@drawed[turn] += 1
|
121
139
|
end
|
@@ -266,15 +284,13 @@ class CardType
|
|
266
284
|
|
267
285
|
def count(turn = nil)
|
268
286
|
turn ||= converted_mana_cost
|
269
|
-
played = @played
|
287
|
+
played = @played [turn] || 0
|
270
288
|
drawed = 0
|
271
|
-
|
272
|
-
|
273
|
-
next if not @drawed[i]
|
274
|
-
drawed += @drawed[i]
|
275
|
-
end
|
289
|
+
(turn+1).times do |i|
|
290
|
+
drawed += @drawed[i] || 0
|
276
291
|
end
|
277
|
-
[
|
292
|
+
can_played = @can_plays[turn] || 0
|
293
|
+
[played, drawed, can_played]
|
278
294
|
end
|
279
295
|
|
280
296
|
def to_s
|
data/lib/manasimu/game.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: manasimu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- so1itaryrove
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-05-
|
11
|
+
date: 2022-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: mtg arrena mana curve simulator
|
14
14
|
email: so1itaryrove@gmail.com
|