blackjack-ken 1.0.2 → 1.0.3

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
  SHA1:
3
- metadata.gz: 659c974ca8f8efa9d6b027ab8cef33e9c41c712c
4
- data.tar.gz: 2963bbd2daa396302a66f2a31869dda19edf41fa
3
+ metadata.gz: b97cc92c32a5d4c75dfcffcafca81495587aa0bb
4
+ data.tar.gz: 7e362258587d53231c37b85d99228497d3bbb3d2
5
5
  SHA512:
6
- metadata.gz: 56bc9377bd10e4c9dbb0ae3e09e0aa736551bdd556e7e09e2e6dddc67e6bc93301026d10062b3f69f8dc68e1ed43d7bf0e9a29110b340f775c3b26da42c97516
7
- data.tar.gz: 31eddc93c1aef7fd70b0bb0c1055a2249e15843406cfb461f014d9e9ec3ffeafd989bab697e3ab7adc92fb9b30f0fde1881502e607e96b4607edd821d4c335f6
6
+ metadata.gz: 860363b2729a0d53a439afbbd759e9d5524e7bdf67f28dfac442ca28e0c02410a445dfc7896e6e03d049f8cc1d57397c6891d25bdab8a1aca9af9a9b76c8960e
7
+ data.tar.gz: 45506066e75016a40b2e7ea77bbc9a917fc266f973a61b9e78dec9323207f6e8b955371c1857cddafaab110ce7281f746ca633d508b17fcfa1d66dc96a56137f
@@ -3,12 +3,13 @@ require_relative "blackjack/hand"
3
3
  require_relative "blackjack/game"
4
4
  require_relative "blackjack/player"
5
5
  require_relative "blackjack/turn"
6
+
6
7
  class Blackjack
7
8
  def self.play
8
9
  puts "Welcome to Blackjack!"
9
10
  print "What's your name? "
10
11
  name = gets.chomp.capitalize
11
- game = Blackjack::Game.new(name)
12
+ game = Blackjack::Game.new(name: name)
12
13
  game.play
13
14
  end
14
15
  end
@@ -1,23 +1,15 @@
1
1
  class Blackjack
2
2
  class Card
3
3
  attr_reader :rank, :suit
4
- def initialize(rank, suit)
5
- @rank = rank
6
- @suit = suit
4
+ def initialize(args)
5
+ @rank = args[:rank]
6
+ @suit = args[:suit]
7
7
  end
8
8
 
9
9
  def display
10
10
  rank.to_s + suit
11
11
  end
12
12
 
13
- def is_ace?
14
- rank == 'A'
15
- end
16
-
17
- def is_facecard?
18
- 'JQK'.include?(rank.to_s)
19
- end
20
-
21
13
  def value
22
14
  case
23
15
  when is_facecard?
@@ -28,5 +20,14 @@ class Blackjack
28
20
  rank
29
21
  end
30
22
  end
23
+
24
+ def is_ace?
25
+ rank == 'A'
26
+ end
27
+
28
+ private
29
+ def is_facecard?
30
+ 'JQK'.include?(rank.to_s)
31
+ end
31
32
  end
32
33
  end
@@ -8,15 +8,15 @@ class Blackjack
8
8
  @cards = make_cards
9
9
  end
10
10
 
11
- def deal_to(player_cards)
11
+ def deal_to(player_hand)
12
12
  card = cards.pop
13
- player_cards << card
13
+ player_hand << card
14
14
  card
15
15
  end
16
16
 
17
17
  private
18
18
  def make_cards
19
- SUITS.map {|suit| RANKS.map {|rank| Card.new(rank, suit)}}.flatten.shuffle!
19
+ SUITS.map {|suit| RANKS.map {|rank| Card.new(rank: rank, suit: suit)}}.flatten.shuffle!
20
20
  end
21
21
  end
22
22
  end
@@ -1,11 +1,10 @@
1
1
  class Blackjack
2
2
  class Game
3
- attr_accessor :player, :computer, :deck, :input
4
- def initialize(name)
5
- @player = Player.new(name: name, hand: Hand.new, human: true)
3
+ attr_accessor :player, :computer, :deck
4
+ def initialize(args)
5
+ @player = Player.new(name: args[:name], hand: Hand.new, human: true)
6
6
  @computer = Player.new(name: "Dealer", hand: Hand.new, human: false)
7
7
  @deck = Deck.new
8
- @input = " "
9
8
  end
10
9
 
11
10
  def play
@@ -18,11 +17,10 @@ class Blackjack
18
17
  end
19
18
 
20
19
  private
21
-
22
20
  def play_again?
23
21
  print "Would you like to play again? (y/n) "
24
22
  input = gets.chomp.downcase
25
- input == "y" ? Game.new(player.name).play : puts("Have a nice life now!")
23
+ input == "y" ? Game.new(name: player.name).play : puts("Have a nice life now!")
26
24
  end
27
25
 
28
26
  def announce_winner
@@ -10,6 +10,11 @@ class Blackjack
10
10
  account_for_aces(value)
11
11
  end
12
12
 
13
+ def bust?
14
+ cards_value > 21
15
+ end
16
+
17
+ private
13
18
  def account_for_aces(value)
14
19
  value < 12 && contains_ace? ? value + 10 : value
15
20
  end
@@ -17,9 +22,5 @@ class Blackjack
17
22
  def contains_ace?
18
23
  cards.any? { |card| card.is_ace? }
19
24
  end
20
-
21
- def bust?
22
- cards_value > 21
23
- end
24
25
  end
25
26
  end
@@ -19,7 +19,6 @@ class Blackjack
19
19
  end
20
20
 
21
21
  private
22
-
23
22
  def over?
24
23
  player.bust? || player.stand?
25
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blackjack-ken
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Thomas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-25 00:00:00.000000000 Z
11
+ date: 2016-08-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Allows a user to play blackjack vs a computer in the console
14
14
  email: ken.thomas.3185@gmail.com