manasimu 0.0.18 → 0.0.19

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: 8d6ea60d2d69b6ec0c517c241c03f51dedb5fcb6f9830d01c5e43a71ca952fb3
4
- data.tar.gz: d918b9183adf48e7fd623234f05fce40d9b880ffe80719d9c6532e191b65fafe
3
+ metadata.gz: e68620e31c2457a6e73a328d618a708432713016a79118e175f0c77c47c456b9
4
+ data.tar.gz: 9851897aa3c43335cb97327814a51a6bf2621b27efc2d276b48550c10e8136bf
5
5
  SHA512:
6
- metadata.gz: 0747c61c051fc5477ddb4c695d0b6a53d2038ad52861cd989d3a6cdb7ff8a5e21661c6bf3da6a9eca3a0ff87c260f7ac4c7ee5ba512fcad9e012e65b668ef77a
7
- data.tar.gz: b60ead57d04031778ce0d618c9ebf00726e78523deff225aeefc34b4235444546224f7611d1aea215b4a8fdb34bb70a7bf8a935cd575f177a742ef3a6030d840
6
+ metadata.gz: 0ec616b06ad9394bf1554bc9788c0de48d7fc18aa903426b9aff8bf2383facf61f5f5e2c6c0e52ef3c99c10cf38a73925d46554650c23d2efec3ac2173fed2f8
7
+ data.tar.gz: 0e6fe28bef43f07c087eb10819a72e73bc2723f5d9d5d805b7f111ae31e3d56474cae958b347f51224152884a0040ecd2ad67c43b2e84764f94cc3a445ae25b4
data/lib/manasimu/card.rb CHANGED
@@ -404,6 +404,11 @@ class CardTypeAggregate
404
404
  end
405
405
  end
406
406
 
407
+ def map
408
+ @memo.map do |item|
409
+ yield item
410
+ end
411
+ end
407
412
  end
408
413
 
409
414
  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.downcase!
76
+ distinct_types << type
77
+ end
78
+
79
+ ret = []
80
+ lines.each do |line|
81
+ line.chomp!.downcase!
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.19
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