manasimu 0.0.4 → 0.0.7

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: 66e4795cd04e0cc7c990457ac9c7a55b92e3a2acbe4dff3482f782616bc7cd65
4
- data.tar.gz: 892e558ab2356a5643c1f67d5a25567ea9b0cdc6020329587701fe65aae97d0d
3
+ metadata.gz: aa769c22b5954b3410dec04b773abab6ec9130953b07946ec229528cd38dd7a9
4
+ data.tar.gz: 0c96dcee60c36629f885e3dbcb0c236c4a699c6bab064a323f7b56968041733f
5
5
  SHA512:
6
- metadata.gz: c51d8ad73ea770f689bb9eb59bda84ee70a71afe59a05582334c4109d228745edd7035ac34bf988410de769d03b3a5b1279d915a59b45128cfcf4510a7215fec
7
- data.tar.gz: f98dd700861130e42c69f36e9211d50700857649cf4cd71b9a4acf4156cd6a9eb08a3ae3c8ec65e17a22eacf170c7246c6c7518ede6166de18452c07727109a3
6
+ metadata.gz: 00b241f58208db388327de9e23686f41871a3f446dd99d1100589ddc777debc78c9fd551d0edc9ad220c40060fb7f1620e9986445f461a4df50b4afe32f8f171
7
+ data.tar.gz: e620e1ec3ed3f2b2d5c963aa1a4fd8712c4016ca028e7e0efc13efb1abd4af1de0a88d4300145040a433656cc12e9867b5963fecf54a7008208e88c655f8a25e
Binary file
Binary file
data/lib/manasimu/card.rb CHANGED
@@ -75,7 +75,16 @@ class Card
75
75
  end
76
76
 
77
77
  class CardType
78
- attr_accessor :contents
78
+ attr_accessor :contents, :played, :drawed, :name
79
+
80
+ def self.create(card_type, name)
81
+ ret = card_type.dup
82
+ ret.contents = card_type.contents
83
+ ret.played = nil
84
+ ret.drawed = nil
85
+ ret.name = name
86
+ ret
87
+ end
79
88
 
80
89
  def initialize(contents)
81
90
  return if not contents
@@ -246,22 +255,19 @@ end
246
255
 
247
256
  class CardTypeAggregate
248
257
 
249
- def find(card_type)
258
+ def find(set_code, number)
250
259
  @memo ||= []
251
- return nil if not card_type
252
- singleton = @memo.find do |c|
260
+ @memo.find do |c|
253
261
  a = c.contents[0]
254
- b = card_type.contents[0]
255
- a and b and a.name == b.name
256
- end
257
- if singleton
258
- singleton
259
- else
260
- @memo << card_type
261
- card_type
262
+ a and a.set_code == set_code and a.number == number
262
263
  end
263
264
  end
264
265
 
266
+ def add(card_type)
267
+ @memo ||= []
268
+ @memo << card_type
269
+ end
270
+
265
271
  def each
266
272
  return if not @memo
267
273
  @memo.each do |item|
@@ -293,6 +299,7 @@ class Content
293
299
  def to_s
294
300
  "[#{@name}] [#{@types}] [#{@color_identity}] [#{@mana_cost}]"
295
301
  end
302
+
296
303
  end
297
304
 
298
305
  class FordFulkersonSingleton
data/lib/manasimu/data.rb CHANGED
@@ -61,50 +61,16 @@ class Deck
61
61
  end
62
62
 
63
63
  def self.get_card_details(deck_items)
64
- path = File.expand_path( '../../../db/AllPrintings.sqlite', __FILE__ )
65
- db = SQLite3::Database.new(path)
66
- sql = <<DOC
67
- select distinct
68
- name
69
- ,number
70
- ,colorIdentity
71
- ,side
72
- ,setCode
73
- ,manaCost
74
- ,types
75
- ,text
76
- ,convertedManaCost
77
- from cards
78
- where
79
- number = ? and
80
- setCode = ?
81
- DOC
64
+ path = File.expand_path( '../../../db/card_type_aggregate', __FILE__ )
65
+ @@card_types ||= Marshal.load(File.open(path, 'r'))
82
66
  cards = []
83
67
  card_id = 0
84
- card_types = CardTypeAggregate.new
68
+ card_types = []
85
69
  deck_items.each do |deck_item|
86
- rows = db.execute(sql, deck_item[:setnum], deck_item[:set])
87
- if rows.empty?
88
- puts deck_item[:name]
89
- end
90
-
91
- card_type = card_types.find(
92
- CardType.new(rows.map { |row|
93
- {
94
- name: row[0],
95
- number: row[1],
96
- color_identity: row[2],
97
- side: row[3],
98
- set_code: row[4],
99
- mana_cost: row[5],
100
- types: row[6],
101
- text: row[7],
102
- converted_mana_cost: row[8]
103
- }
104
- })
105
- )
106
- card = Card.new(card_type)
107
-
70
+ card_type = @@card_types.find(deck_item[:set], deck_item[:setnum])
71
+ clone = CardType.create(card_type, deck_item[:name])
72
+ card_types << clone
73
+ card = Card.new(clone)
108
74
  deck_item[:amount].to_i.times do
109
75
  card_clone = card.dup
110
76
  card_clone.id = card_id
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
4
+ version: 0.0.7
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-05 00:00:00.000000000 Z
11
+ date: 2022-05-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: mtg arrena mana curve simulator
14
14
  email: so1itaryrove@gmail.com
@@ -16,7 +16,7 @@ executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
- - db/AllPrintings.sqlite
19
+ - db/card_type_aggregate
20
20
  - ext/ford_fulkerson.so
21
21
  - lib/manasimu.rb
22
22
  - lib/manasimu/card.rb
Binary file