<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Directory%3ADerek_Elder%2FPrograms%2FBlackjack</id>
	<title>Directory:Derek Elder/Programs/Blackjack - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Directory%3ADerek_Elder%2FPrograms%2FBlackjack"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/Blackjack&amp;action=history"/>
	<updated>2026-06-18T18:17:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/Blackjack&amp;diff=108387&amp;oldid=prev</id>
		<title>Derek Elder: Upload</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/Blackjack&amp;diff=108387&amp;oldid=prev"/>
		<updated>2010-02-07T07:33:10Z</updated>

		<summary type="html">&lt;p&gt;Upload&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Random;&lt;br /&gt;
import chn.util.*;&lt;br /&gt;
&lt;br /&gt;
//Coded by Shane Peterson, updates by Derek Elder&lt;br /&gt;
&lt;br /&gt;
public class Blackjack&lt;br /&gt;
{&lt;br /&gt;
  Deck deck;&lt;br /&gt;
  Hand playerHand;&lt;br /&gt;
  Hand dealerHand;&lt;br /&gt;
  ConsoleIO console = new ConsoleIO();&lt;br /&gt;
&lt;br /&gt;
  public void startGame()&lt;br /&gt;
  {&lt;br /&gt;
    System.out.println(&amp;quot;Welcome to Blackjack!\nPress Enter to begin...&amp;quot;);&lt;br /&gt;
    String blank = console.readLine();&lt;br /&gt;
&lt;br /&gt;
    shuffle();&lt;br /&gt;
    deal();&lt;br /&gt;
    playerTurn();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void playerTurn()&lt;br /&gt;
  {&lt;br /&gt;
    System.out.println(&amp;quot;Dealer shows: &amp;quot; + dealerHand.card(1));&lt;br /&gt;
    System.out.println(&amp;quot;You have: &amp;quot; + playerHand.card(0) + &amp;quot;, &amp;quot; + playerHand.card(1));&lt;br /&gt;
    query();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void query()&lt;br /&gt;
  {&lt;br /&gt;
    System.out.print(&amp;quot;Current score: &amp;quot; + playerHand.score() + &amp;quot; Hit (h) or stay (s)?: &amp;quot;);&lt;br /&gt;
    String response = console.readLine();&lt;br /&gt;
    if (response.equals(&amp;quot;h&amp;quot;))&lt;br /&gt;
      playerHit();&lt;br /&gt;
    else&lt;br /&gt;
      dealerTurn();&lt;br /&gt;
  }&lt;br /&gt;
    &lt;br /&gt;
  public void playerHit()&lt;br /&gt;
  {&lt;br /&gt;
    playerHand.add(deck.draw());&lt;br /&gt;
    System.out.println(&amp;quot;You draw: &amp;quot; + playerHand.card(playerHand.myHand.size()-1));&lt;br /&gt;
    if (playerHand.score() &amp;gt; 21)&lt;br /&gt;
      System.out.print(&amp;quot;Current score: &amp;quot; + playerHand.score() + &amp;quot; Bust! You lose...&amp;quot;);&lt;br /&gt;
    else&lt;br /&gt;
      query();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void dealerTurn()&lt;br /&gt;
  {&lt;br /&gt;
    System.out.println(&amp;quot;Dealer has: &amp;quot; + dealerHand.card(0) + &amp;quot;, &amp;quot; + dealerHand.card(1));&lt;br /&gt;
    while (dealerHand.score() &amp;lt; 17)&lt;br /&gt;
    {&lt;br /&gt;
      dealerHand.add(deck.draw());&lt;br /&gt;
      System.out.println(&amp;quot;Dealer draws: &amp;quot; + dealerHand.card(dealerHand.myHand.size()-1));&lt;br /&gt;
    }&lt;br /&gt;
    System.out.print(&amp;quot;Dealer's score: &amp;quot; + dealerHand.score());&lt;br /&gt;
    if (dealerHand.score() &amp;gt; 21)&lt;br /&gt;
      System.out.println(&amp;quot; Dealer busts! You win!&amp;quot;);&lt;br /&gt;
    else if (dealerHand.score() &amp;lt; playerHand.score())&lt;br /&gt;
      System.out.println(&amp;quot; You win!&amp;quot;);&lt;br /&gt;
    else&lt;br /&gt;
      System.out.println(&amp;quot; You lose...&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void shuffle()&lt;br /&gt;
  {&lt;br /&gt;
    deck = new Deck();&lt;br /&gt;
    System.out.println(&amp;quot;Deck shuffled...&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void deal()&lt;br /&gt;
  {&lt;br /&gt;
    playerHand = new Hand();&lt;br /&gt;
    dealerHand = new Hand();&lt;br /&gt;
    playerHand.add(deck.draw());&lt;br /&gt;
    dealerHand.add(deck.draw());&lt;br /&gt;
    playerHand.add(deck.draw());&lt;br /&gt;
    dealerHand.add(deck.draw());&lt;br /&gt;
    System.out.println(&amp;quot;Cards dealt...&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public static void main(String[] args)&lt;br /&gt;
  {&lt;br /&gt;
    Blackjack blackjack = new Blackjack();&lt;br /&gt;
    blackjack.startGame();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Hand&lt;br /&gt;
{&lt;br /&gt;
  ArrayList myHand = new ArrayList();&lt;br /&gt;
  private int handScore = 0;&lt;br /&gt;
  private int aceCount = 0;&lt;br /&gt;
&lt;br /&gt;
  public void add(Card card)&lt;br /&gt;
  {&lt;br /&gt;
    myHand.add(card);&lt;br /&gt;
    if (card.value() == 11 || card.value() == 12 || card.value() == 13)&lt;br /&gt;
      handScore += 10;&lt;br /&gt;
    else if (card.value() == 1)&lt;br /&gt;
    {&lt;br /&gt;
      handScore += 11;&lt;br /&gt;
      aceCount++;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
      handScore += card.value();&lt;br /&gt;
    if (handScore &amp;gt; 21 &amp;amp;&amp;amp; aceCount &amp;gt; 0)&lt;br /&gt;
    {&lt;br /&gt;
      handScore -= 10;&lt;br /&gt;
      aceCount--;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public Card card(int card)&lt;br /&gt;
  {&lt;br /&gt;
    return (Card)myHand.get(card);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public int score()&lt;br /&gt;
  {&lt;br /&gt;
    return handScore;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Deck&lt;br /&gt;
{&lt;br /&gt;
  ArrayList theDeck = new ArrayList();&lt;br /&gt;
  Random random = new Random();&lt;br /&gt;
&lt;br /&gt;
  public Deck()&lt;br /&gt;
  {&lt;br /&gt;
    for (int suit = 1; suit &amp;lt;= 4; suit++)&lt;br /&gt;
      for (int value = 1; value &amp;lt;= 13; value++)&lt;br /&gt;
	theDeck.add(new Card(value, suit));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public Card draw()&lt;br /&gt;
  {&lt;br /&gt;
    return (Card)theDeck.remove(random.nextInt(theDeck.size()));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Card&lt;br /&gt;
{&lt;br /&gt;
  private int cardValue;&lt;br /&gt;
  private int cardSuit;&lt;br /&gt;
  public String cardName = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  public Card(int value, int suit)&lt;br /&gt;
  {&lt;br /&gt;
    cardValue = value; cardSuit = suit;&lt;br /&gt;
    nameCard();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private void nameCard()&lt;br /&gt;
  {&lt;br /&gt;
    String value = &amp;quot;&amp;quot;, suit = &amp;quot;&amp;quot;;&lt;br /&gt;
    switch (cardValue)&lt;br /&gt;
    {&lt;br /&gt;
      case 1: value = &amp;quot;ace&amp;quot;; break;&lt;br /&gt;
      case 2: value = &amp;quot;two&amp;quot;; break;&lt;br /&gt;
      case 3: value = &amp;quot;three&amp;quot;; break;&lt;br /&gt;
      case 4: value = &amp;quot;four&amp;quot;; break;&lt;br /&gt;
      case 5: value = &amp;quot;five&amp;quot;; break;&lt;br /&gt;
      case 6: value = &amp;quot;six&amp;quot;; break;&lt;br /&gt;
      case 7: value = &amp;quot;seven&amp;quot;; break;&lt;br /&gt;
      case 8: value = &amp;quot;eight&amp;quot;; break;&lt;br /&gt;
      case 9: value = &amp;quot;nine&amp;quot;; break;&lt;br /&gt;
      case 10: value = &amp;quot;ten&amp;quot;; break;&lt;br /&gt;
      case 11: value = &amp;quot;jack&amp;quot;; break;&lt;br /&gt;
      case 12: value = &amp;quot;queen&amp;quot;; break;&lt;br /&gt;
      case 13: value = &amp;quot;king&amp;quot;; break;&lt;br /&gt;
    }&lt;br /&gt;
    switch (cardSuit)&lt;br /&gt;
    {&lt;br /&gt;
      case 1: suit = &amp;quot;diamonds&amp;quot;; break;&lt;br /&gt;
      case 2: suit = &amp;quot;clubs&amp;quot;; break;&lt;br /&gt;
      case 3: suit = &amp;quot;hearts&amp;quot;; break;&lt;br /&gt;
      case 4: suit = &amp;quot;spades&amp;quot;; break;&lt;br /&gt;
    }&lt;br /&gt;
    cardName = value + &amp;quot; of &amp;quot; + suit;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public int value()&lt;br /&gt;
  {&lt;br /&gt;
    return cardValue;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public int suit()&lt;br /&gt;
  {&lt;br /&gt;
    return cardSuit;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public String toString()&lt;br /&gt;
  {&lt;br /&gt;
    return cardName;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Derek Elder</name></author>
	</entry>
</feed>