manasimu 0.0.18 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d6ea60d2d69b6ec0c517c241c03f51dedb5fcb6f9830d01c5e43a71ca952fb3
4
- data.tar.gz: d918b9183adf48e7fd623234f05fce40d9b880ffe80719d9c6532e191b65fafe
3
+ metadata.gz: 7d4db0246c7f34cf99927e808cacf763ecef39cc7fd4c78d7eabce355df73027
4
+ data.tar.gz: 1ae2ad5dbf8028182017b1604ca42e2064b486340574d7aedf51f9927b9aa2a0
5
5
  SHA512:
6
- metadata.gz: 0747c61c051fc5477ddb4c695d0b6a53d2038ad52861cd989d3a6cdb7ff8a5e21661c6bf3da6a9eca3a0ff87c260f7ac4c7ee5ba512fcad9e012e65b668ef77a
7
- data.tar.gz: b60ead57d04031778ce0d618c9ebf00726e78523deff225aeefc34b4235444546224f7611d1aea215b4a8fdb34bb70a7bf8a935cd575f177a742ef3a6030d840
6
+ metadata.gz: bac30b6f724b6dc316326622cdf83c3987cbdbebf1475ba8340b359ffd3207de9d0810341ff3058a1e764efd9d582a50ae18697247bb300c0f6b1aeeb46388a0
7
+ data.tar.gz: 070a3cbe0da32b3ddac8dc85c742d63603d8993741e50ae075bded47fa88fb609131fbd69fc413740d3be63a4b4d858d99f4319b09c81b5e407549544e56a7b6
data/lib/manasimu/card.rb CHANGED
@@ -154,6 +154,14 @@ class CardType
154
154
  @name ||= @contents[0].name
155
155
  end
156
156
 
157
+ def set_code
158
+ @set_code ||= @contents[0].set_code
159
+ end
160
+
161
+ def number
162
+ @number ||= @contents[0].number
163
+ end
164
+
157
165
  def step_in_hands(turn, card)
158
166
  if card.can_play?
159
167
  @can_plays[turn] ||= 0
@@ -404,6 +412,11 @@ class CardTypeAggregate
404
412
  end
405
413
  end
406
414
 
415
+ def map
416
+ @memo.map do |item|
417
+ yield item
418
+ end
419
+ end
407
420
  end
408
421
 
409
422
  class Content
data/lib/manasimu/data.rb CHANGED
@@ -60,16 +60,67 @@ class Deck
60
60
  result
61
61
  end
62
62
 
63
- def self.get_card_details(deck_items)
63
+ def self.card_types
64
64
  path = File.expand_path( '../../../db/card_type_aggregate', __FILE__ )
65
65
  @@card_types ||= Marshal.load(File.open(path, 'r'))
66
+ end
67
+
68
+ def self.find_card_types(lines)
69
+ types = card_types.map do |a| a end
70
+ types.sort! do |a,b| a.name <=> b.name end
71
+
72
+ distinct_types = []
73
+ types.each do |type|
74
+ next if distinct_types[-1] and distinct_types[-1].name == type.name
75
+ type.name
76
+ distinct_types << type
77
+ end
78
+
79
+ ret = []
80
+ lines.each do |line|
81
+ line.chomp!
82
+ search_type = distinct_types.bsearch do |type|
83
+ name = type.name
84
+ flag = true
85
+ name.chars.each_with_index do |nc,i|
86
+ if line.length > i
87
+ lc = line.chars[i]
88
+ if nc > lc
89
+ flag = true
90
+ break
91
+ elsif nc < lc
92
+ flag = false
93
+ break
94
+ else
95
+ # continue
96
+ end
97
+ else
98
+ flag = true
99
+ break
100
+ end
101
+ end
102
+ flag
103
+ end
104
+ if search_type
105
+ a = search_type.name
106
+ if line =~ /^#{a}.*$/ and a != 'x'
107
+ ret << search_type
108
+ end
109
+ end
110
+ end
111
+
112
+ ret.sort! do |a,b| a.mana_cost <=> b.mana_cost end
113
+ ret.uniq!
114
+ end
115
+
116
+ def self.get_card_details(deck_items)
66
117
  cards = []
67
118
  card_id = 0
68
- card_types = []
119
+ clone_card_types = []
69
120
  deck_items.each do |deck_item|
70
- card_type = @@card_types.find(deck_item[:set], deck_item[:setnum])
121
+ card_type = card_types.find(deck_item[:set], deck_item[:setnum])
71
122
  clone = CardType.create(card_type, deck_item[:name])
72
- card_types << clone
123
+ clone_card_types << clone
73
124
  if clone.is_land?
74
125
  if clone.name =~ /.*Pathway$/
75
126
  card = PathwayCard.new(clone)
@@ -99,6 +150,6 @@ class Deck
99
150
  cards << card_clone
100
151
  end
101
152
  end
102
- [cards, card_types]
153
+ [cards, clone_card_types]
103
154
  end
104
155
  end
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.18
4
+ version: 0.0.21
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-22 00:00:00.000000000 Z
11
+ date: 2022-05-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: mtg arrena mana curve simulator
14
14
  email: so1itaryrove@gmail.com