cards_on_deck 0.1.1 → 0.1.2

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: '05269fc418b5da139bde9724c9ac98497c415f9af62740b86058bdd596a820f8'
4
- data.tar.gz: 22bd6a76e092c62f599a67cd636254fdb7b3294b3b37b82dc97ca2d803eed9d2
3
+ metadata.gz: 163e24b7972a803c0aebcf1acdf1edf573ee5debea2bd943162d8b9de99c9980
4
+ data.tar.gz: 5139082af0c3401819ead6d1d94735f1f229d905ada9fdf681b8be2c617408ba
5
5
  SHA512:
6
- metadata.gz: b2728066b21dfe599ba939ea64a80949a71121d5d0c2468af707c351fbba3f26a9c98f4328c3f6ae5292115292c98e155dfdf3a029153ec05dab84f52544f4fb
7
- data.tar.gz: 972ff4011959bb220aa1b7ede68ea343dfa9c4f8905c83c97109d05bd2b307376eb6fbc1efc76bd8e28135dd08fa4719d67c60b5982bb175410e13fabebbb0d6
6
+ metadata.gz: d8f83c5fe09ff02c69c390d28fcfbed6b585944fe85e8c9d85646b2ca677b7d3019546e8459e95953d79e8b5b425faecd90d5d0a611a594aeeee77032269c2a9
7
+ data.tar.gz: b69df5b8e248ca5f776e7fd8d7412de3fd460eebbd4f2b7f1d6d9deabe2d24c5673d82097c15fbb3bfbe5e440c575836734d2f1b246bf2f3b29b2b9c031a2236
@@ -1,11 +1,13 @@
1
1
  class Card
2
2
  attr_accessor :suit, :value
3
- attr_reader :name
3
+ attr_reader :name, :rank, :code
4
4
 
5
5
  def initialize(suit, value)
6
6
  @suit = suit
7
7
  @value = value
8
8
  @name = "#{@value} of #{@suit}"
9
+ @rank = card_rank(value, suit)
10
+ @code = code_map[@rank]
9
11
  end
10
12
 
11
13
  def color
@@ -19,7 +21,91 @@ class Card
19
21
  'Hearts': 'Red',
20
22
  'Diamonds': 'Red',
21
23
  'Spades': 'Black',
22
- 'Clubs': 'Black',
24
+ 'Clubs': 'Black'
25
+ }
26
+ end
27
+
28
+ def card_rank(value, suit)
29
+ card_value = {
30
+ "Ace" => 14,
31
+ "King" => 13,
32
+ "Queen" => 12,
33
+ "Jack" => 11,
34
+ "Ten" => 10,
35
+ "Nine" => 9,
36
+ "Eight" => 8,
37
+ "Seven" => 7,
38
+ "Six" => 6,
39
+ "Five" => 5,
40
+ "Four" => 4,
41
+ "Three" => 3,
42
+ "Two" => 2
43
+ }
44
+
45
+ card_suit = {
46
+ "Spades" => 0.04,
47
+ "Hearts" => 0.03,
48
+ "Diamonds" => 0.02,
49
+ "Clubs" => 0.01
50
+ }
51
+
52
+ card_value[value] + card_suit[suit]
53
+ end
54
+
55
+ def code_map
56
+ {
57
+ 14.04 => 'AS',
58
+ 13.04 => 'KS',
59
+ 12.04 => 'QS',
60
+ 11.04 => 'JS',
61
+ 10.04 => '0S',
62
+ 9.04 => '9S',
63
+ 8.04 => '8S',
64
+ 7.04 => '7S',
65
+ 6.04 => '6S',
66
+ 5.04 => '5S',
67
+ 4.04 => '4S',
68
+ 3.04 => '3S',
69
+ 2.04 => '2S',
70
+ 14.03 => 'AH',
71
+ 13.03 => 'KH',
72
+ 12.03 => 'QH',
73
+ 11.03 => 'JH',
74
+ 10.03 => '0H',
75
+ 9.03 => '9H',
76
+ 8.03 => '8H',
77
+ 7.03 => '7H',
78
+ 6.03 => '6H',
79
+ 5.03 => '5H',
80
+ 4.03 => '4H',
81
+ 3.03 => '3H',
82
+ 2.03 => '2H',
83
+ 14.02 => 'AD',
84
+ 13.02 => 'KD',
85
+ 12.02 => 'QD',
86
+ 11.02 => 'JD',
87
+ 10.02 => '0D',
88
+ 9.02 => '9D',
89
+ 8.02 => '8D',
90
+ 7.02 => '7D',
91
+ 6.02 => '6D',
92
+ 5.02 => '5D',
93
+ 4.02 => '4D',
94
+ 3.02 => '3D',
95
+ 2.02 => '2D',
96
+ 14.01 => 'AC',
97
+ 13.01 => 'KC',
98
+ 12.01 => 'QC',
99
+ 11.01 => 'JC',
100
+ 10.01 => '0C',
101
+ 9.01 => '9C',
102
+ 8.01 => '8C',
103
+ 7.01 => '7C',
104
+ 6.01 => '6C',
105
+ 5.01 => '5C',
106
+ 4.01 => '4C',
107
+ 3.01 => '3C',
108
+ 2.01 => '2C',
23
109
  }
24
110
  end
25
111
  end
@@ -24,7 +24,7 @@ class Deck
24
24
  if type == 'Standard'
25
25
  standard_values.each do |k, array|
26
26
  array.each do |value|
27
- standard_deck << Card.new(k, value)
27
+ standard_deck << Card.new(k.to_s, value)
28
28
  end
29
29
  end
30
30
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CardsOnDeck
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cards_on_deck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Mulitauopele