From 1cccb2113e23344ad98f009ab33620cfb4f3b403 Mon Sep 17 00:00:00 2001 From: dharini Date: Tue, 5 Mar 2013 00:00:52 -0600 Subject: [PATCH 1/3] finished Panda Level --- blackjack.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blackjack.rb b/blackjack.rb index b6dcda9..c3f1ec3 100644 --- a/blackjack.rb +++ b/blackjack.rb @@ -14,7 +14,7 @@ def value end def to_s - "#{@value}-#{suit}" + "#{@value}#{(suit.to_s.chars.first.upcase)}" end end @@ -135,7 +135,7 @@ def inspect it "should be formatted nicely" do card = Card.new(:diamonds, "A") - card.to_s.should eq("A-diamonds") + card.to_s.should eq("AD") end end From fab5e7b602b13a6372ba5b178e5accaec495a748 Mon Sep 17 00:00:00 2001 From: dharini Date: Wed, 6 Mar 2013 00:31:21 -0600 Subject: [PATCH 2/3] Finished Tiger Level --- blackjack.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/blackjack.rb b/blackjack.rb index c3f1ec3..a592d61 100644 --- a/blackjack.rb +++ b/blackjack.rb @@ -75,6 +75,9 @@ def initialize def hit @player_hand.hit!(@deck) + if @player_hand.value > 21 + stand + end end def stand @@ -225,6 +228,19 @@ def inspect game.status[:winner].should_not be_nil end + it "should stand for player if player busts (goes over 21)" do + deck = mock(:deck, :cards => [Card.new(:clubs, "Q"), + Card.new(:diamonds, "J"), + Card.new(:spades, 3), + Card.new(:diamonds, 10), + Card.new(:clubs, "K")]) + game = Game.new + game.hit + game.status[:winner].should_not be_nil + + + end + describe "#determine_winner" do it "should have dealer win when player busts" do Game.new.determine_winner(22, 15).should eq(:dealer) From 65dde3b4179378a1c636d21aaffac1dafded54d3 Mon Sep 17 00:00:00 2001 From: dharini Date: Thu, 28 Mar 2013 00:56:13 -0500 Subject: [PATCH 3/3] initial work for eagle assignment --- blackjack.rb | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/blackjack.rb b/blackjack.rb index a592d61..7bc3db5 100644 --- a/blackjack.rb +++ b/blackjack.rb @@ -88,11 +88,31 @@ def stand def status {:player_cards=> @player_hand.cards, :player_value => @player_hand.value, - :dealer_cards => @dealer_hand.cards, - :dealer_value => @dealer_hand.value, + :dealer_cards => dealer_card_display, + :dealer_value => dealer_value_display, :winner => @winner} end + def dealer_card_display + if @winner.nil? + hidden_dealer_cards = Array.new + @dealer_hand.cards.each { + hidden_dealer_cards << 'X' + } + hidden_dealer_cards + else + @dealer_hand.cards + end + end + + def dealer_value_display + if @winner.nil? + "can't tell you" + else + @dealer_hand.value + end + end + def determine_winner(player_value, dealer_value) return :dealer if player_value > 21 return :player if dealer_value > 21