manasimu 0.0.23 → 0.0.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/db/card_type_aggregate +0 -0
- data/lib/manasimu/card.rb +21 -5
- data/lib/manasimu/data.rb +29 -21
- data/lib/manasimu/expansion.rb +3 -0
- data/lib/manasimu.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c10108a002d93f461dfc63c6a64117c114507bb1801ca6b70bd26c597c84303f
|
4
|
+
data.tar.gz: aa970e39f4b26769c1bb7cf26e09bdb5f87cf953b003c88b1f26fa3ec387d663
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffbcbb854d2e412b83aeb4e337d6d5b8ffab87585df7c1f4c080061f29137e568574fb3463920363d86436d0b9e2ac30f788ed218dc4d671cda5e1a311adfa6f
|
7
|
+
data.tar.gz: 29c05419b9c7097f9413661c79c62b904e9a734b8ebdd35cb8e8ab5229e7edb0512eca3dfc5616f9dd8889e35f8820f2359658ea4910fc8e94ee006ba104e107
|
data/db/card_type_aggregate
CHANGED
Binary file
|
data/lib/manasimu/card.rb
CHANGED
@@ -294,6 +294,10 @@ class CardType
|
|
294
294
|
return @is_land
|
295
295
|
end
|
296
296
|
|
297
|
+
def names
|
298
|
+
@contents[0].names
|
299
|
+
end
|
300
|
+
|
297
301
|
def playable?(lands, capas)
|
298
302
|
return [false, [], []] if lands.empty?
|
299
303
|
return [false, [], []] if converted_mana_cost > lands.length
|
@@ -391,17 +395,27 @@ class CardType
|
|
391
395
|
end
|
392
396
|
|
393
397
|
class CardTypeAggregate
|
398
|
+
def initialize
|
399
|
+
@memo = []
|
400
|
+
end
|
394
401
|
|
395
402
|
def find(set_code, number)
|
396
|
-
@memo
|
397
|
-
@memo.find do |c|
|
403
|
+
ret = @memo.bsearch do |c|
|
398
404
|
a = c.contents[0]
|
399
|
-
|
405
|
+
if set_code == a.set_code
|
406
|
+
number.to_i <= a.number
|
407
|
+
else
|
408
|
+
set_code < a.set_code
|
409
|
+
end
|
410
|
+
end
|
411
|
+
if ret and ret.set_code == set_code and ret.number == number.to_i
|
412
|
+
ret
|
413
|
+
else
|
414
|
+
nil
|
400
415
|
end
|
401
416
|
end
|
402
417
|
|
403
418
|
def add(card_type)
|
404
|
-
@memo ||= []
|
405
419
|
@memo << card_type
|
406
420
|
end
|
407
421
|
|
@@ -420,10 +434,11 @@ class CardTypeAggregate
|
|
420
434
|
end
|
421
435
|
|
422
436
|
class Content
|
423
|
-
attr_accessor :name, :number, :side, :set_code, :mana_cost, :type, :types, :color_identity, :converted_mana_cost, :text
|
437
|
+
attr_accessor :name, :names, :number, :side, :set_code, :mana_cost, :type, :types, :color_identity, :converted_mana_cost, :text
|
424
438
|
|
425
439
|
def initialize(hash)
|
426
440
|
@name = hash[:name]
|
441
|
+
@names = hash[:names]
|
427
442
|
@number = hash[:number]
|
428
443
|
@side = hash[:side]
|
429
444
|
@set_code = hash[:set_code]
|
@@ -447,6 +462,7 @@ class Content
|
|
447
462
|
<<EOF
|
448
463
|
factory '#{@name.underscore}_content', class: Content do
|
449
464
|
name {'#{@name}'}
|
465
|
+
names {'#{@names}'}
|
450
466
|
number {'#{@number}'}
|
451
467
|
side {'#{@side}'}
|
452
468
|
set_code { '#{@set_code}'}
|
data/lib/manasimu/data.rb
CHANGED
@@ -79,33 +79,41 @@ class Deck
|
|
79
79
|
ret = []
|
80
80
|
lines.each do |line|
|
81
81
|
line.chomp!
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
82
|
+
[-1, 4].each do |i|
|
83
|
+
search_type = distinct_types.bsearch do |type|
|
84
|
+
if i == -1
|
85
|
+
name = type.name.split(' // ')[0]
|
86
|
+
else
|
87
|
+
next if not type.names[i]
|
88
|
+
name = type.names[i].split(' // ')[0]
|
89
|
+
end
|
86
90
|
|
87
|
-
|
88
|
-
|
89
|
-
if
|
91
|
+
flag = true
|
92
|
+
name.chars.each_with_index do |nc,i|
|
93
|
+
if line.length > i
|
94
|
+
lc = line.chars[i]
|
95
|
+
if nc > lc
|
96
|
+
flag = true
|
97
|
+
break
|
98
|
+
elsif nc < lc
|
99
|
+
flag = false
|
100
|
+
break
|
101
|
+
else
|
102
|
+
# continue
|
103
|
+
end
|
104
|
+
else
|
90
105
|
flag = true
|
91
106
|
break
|
92
|
-
elsif nc < lc
|
93
|
-
flag = false
|
94
|
-
break
|
95
|
-
else
|
96
|
-
# continue
|
97
107
|
end
|
98
|
-
else
|
99
|
-
flag = true
|
100
|
-
break
|
101
108
|
end
|
109
|
+
flag
|
102
110
|
end
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
111
|
+
if search_type
|
112
|
+
a = search_type.name.split(' // ')[0]
|
113
|
+
if line =~ /^#{a}.*$/ and a != 'X'
|
114
|
+
ret << search_type
|
115
|
+
break
|
116
|
+
end
|
109
117
|
end
|
110
118
|
end
|
111
119
|
end
|
data/lib/manasimu.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.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- so1itaryrove
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: mtg arrena mana curve simulator
|
14
14
|
email: so1itaryrove@gmail.com
|
@@ -27,6 +27,7 @@ files:
|
|
27
27
|
- lib/manasimu/card/snc_fetchland.rb
|
28
28
|
- lib/manasimu/card/tapland.rb
|
29
29
|
- lib/manasimu/data.rb
|
30
|
+
- lib/manasimu/expansion.rb
|
30
31
|
- lib/manasimu/game.rb
|
31
32
|
- lib/manasimu/hello.rb
|
32
33
|
- lib/manasimu/mana_type.rb
|