Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

BlackJack

By: a guest on Jul 16th, 2012  |  syntax: Java  |  size: 6.44 KB  |  views: 57  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package blackjack;
  2. import java.util.Scanner;
  3. import java.util.Random;
  4. /**
  5.  * @date Jul 16, 2012
  6.  * @author Family
  7.  */
  8. public class BlackJack
  9. {
  10.     private int card1 = 0, card2 = 0, card3 = 0, card4 = 0, card5 = 0, score = 0, dealer = 0, AceAmount = 0;
  11.     private String AceCard;
  12.     private boolean started;
  13.     private Random rand = new Random();
  14.     private Scanner in = new Scanner(System.in);
  15.    
  16.     public BlackJack()
  17.     {
  18.         started = false;
  19.         System.out.println("Welcome to blackjack, coded by Jared! Type \"deal\" to start!");
  20.         if (in.next().equalsIgnoreCase("deal"))
  21.         {
  22.             deal();
  23.         }
  24.     }
  25.     public void deal()
  26.     {
  27.         if (started == true)
  28.         {
  29.             System.out.println("Sorry, you cannot deal again until you start another game!");
  30.         }
  31.         else
  32.         {
  33.             started = true;
  34.             dealer();
  35.             card1 = rand.nextInt(14);
  36.             card2 = rand.nextInt(14);
  37.             if (card1 == 14)
  38.             {
  39.                 ++AceAmount;
  40.                 AceCard = "card1";
  41.                 card1 = 11;
  42.                 score += 11;
  43.             }
  44.             else if (card1 >= 10)
  45.             {
  46.                 card1 = 10;
  47.                 score += 10;
  48.             }
  49.             else
  50.             {
  51.                 score += card1;
  52.             }
  53.            
  54.             if (card2 == 14)
  55.             {
  56.                 ++AceAmount;
  57.                 AceCard = "card2";
  58.                 card2 = 11;
  59.                 score += 11;
  60.             }
  61.             else if (card2 >= 10)
  62.             {
  63.                 card2 = 10;
  64.                 score += 10;
  65.             }
  66.             else
  67.             {
  68.                 score += card2;
  69.             }
  70.         }
  71.         System.out.println("Card 1: " + card1 + "\nCard 2: " + card2 + "\nScore: " + score);
  72.         checkScore();
  73.     }
  74.    
  75.     public void checkScore()
  76.     {
  77.         if (score > 21)
  78.         {
  79.             if (AceAmount == 0)
  80.             {
  81.                 System.out.println("Sorry, you busted with a score of " + score);
  82.                 restart();
  83.             }
  84.             else
  85.             {
  86.                 AceAmount--;
  87.                 score -= 10;
  88.                 if (AceCard.equals("card1"))
  89.                 {
  90.                     card1 = 1;
  91.                 }
  92.                 else if (AceCard.equals("card2"))
  93.                 {
  94.                     card2 = 1;
  95.                 }
  96.                 checkScore();
  97.             }
  98.         }
  99.         else if (score == 21)
  100.         {
  101.             pass();
  102.         }
  103.         else
  104.         {
  105.             ask();
  106.         }
  107.     }
  108.    
  109.     public void ask()
  110.     {
  111.         System.out.println("Hit or Pass?");
  112.         if (in.next().equalsIgnoreCase("Hit"))
  113.         {
  114.             hit();
  115.         }
  116.         if (in.next().equalsIgnoreCase("Pass"))
  117.         {
  118.             pass();
  119.         }
  120.     }
  121.    
  122.     public void hit()
  123.     {
  124.         if (card3 == 0)
  125.         {
  126.             card3();
  127.         }
  128.         else if (card4 == 0 && card3 != 0)
  129.         {
  130.             card4();
  131.         }
  132.         else if (card5 == 0 && card3 != 0 && card4 != 0)
  133.         {
  134.             card5();
  135.         }
  136.     }
  137.    
  138.     public void pass()
  139.     {
  140.         if (score > dealer)
  141.         {
  142.             System.out.println("Congrats you beat the dealer with a score of " + score + " to " + dealer + "!");
  143.             restart();
  144.         }
  145.         else if (score == dealer)
  146.         {
  147.             System.out.println("You tied the dealer with a score of " + score + "!");
  148.             restart();
  149.         }
  150.         else
  151.         {
  152.             System.out.println("Sorry, you lost to the dealer with a score of " + score + " to " + dealer + ".");
  153.             restart();
  154.         }
  155.     }
  156.    
  157.     public void restart()
  158.     {
  159.         System.out.println("Type \"restart\" to play again!");
  160.         if (in.next().equalsIgnoreCase("restart"))
  161.         {
  162.             new BlackJack();
  163.         }
  164.     }
  165.    
  166.     public void dealer()
  167.     {
  168.         if (dealer < 21)
  169.         {
  170.             int temp = rand.nextInt(14);
  171.             if (dealer + temp < 21)
  172.             {
  173.                 dealer += temp;
  174.                 dealer();
  175.             }
  176.             else if (dealer + temp == 21)
  177.             {
  178.                 dealer += temp;
  179.             }
  180.         }
  181.     }
  182.    
  183.     public void card3()
  184.     {
  185.         card3 = rand.nextInt(14);
  186.         if (card3 == 14)
  187.         {
  188.             if (score + 11 > 21)
  189.             {
  190.                 card3 = 1;
  191.                 score += 1;
  192.             }
  193.             else
  194.             {
  195.                 card3 = 11;
  196.                 score += 11;
  197.             }
  198.         }
  199.         else if (card3 >= 10)
  200.         {
  201.             card3 = 10;
  202.             score += 10;
  203.         }
  204.         else
  205.         {
  206.             score += card3;
  207.         }
  208.         System.out.println("Card 1: " + card1 + "\nCard 2: " + card2 + "\nCard 3: " + card3 + "\nScore: " + score);
  209.         checkScore();
  210.     }
  211.    
  212.     public void card4()
  213.     {
  214.         card4 = rand.nextInt(14);
  215.         if (card4 == 14)
  216.         {
  217.             if (score + 11 > 21)
  218.             {
  219.                 card4 = 1;
  220.                 score += 1;
  221.             }
  222.             else
  223.             {
  224.                 card4 = 11;
  225.                 score += 11;
  226.             }
  227.         }
  228.         else if (card4 >= 10)
  229.         {
  230.             card4 = 10;
  231.             score += 10;
  232.         }
  233.         else
  234.         {
  235.             score += card4;
  236.         }
  237.         System.out.println("Card 1: " + card1 + "\nCard 2: " + card2 + "\nCard 3: " + card3 + "\nCard 4: " + card4 + "\nScore: " + score);
  238.         checkScore();
  239.     }
  240.    
  241.     public void card5()
  242.     {
  243.         card5 = rand.nextInt(14);
  244.         if (card5 == 14)
  245.         {
  246.             if (score + 11 > 21)
  247.             {
  248.                 card5 = 1;
  249.                 score += 1;
  250.             }
  251.             else
  252.             {
  253.                 card5 = 11;
  254.                 score += 11;
  255.             }
  256.         }
  257.         else if (card5 >= 10)
  258.         {
  259.             card5 = 10;
  260.             score += 10;
  261.         }
  262.         else
  263.         {
  264.             score += card5;
  265.         }
  266.         System.out.println("Card 1: " + card1 + "\nCard 2: " + card2 + "\nCard 3: " + card3 + "\nCard 4: " + card4 + "\nCard 5: " + card5 + "\nScore: " + score);
  267.         checkScore();
  268.     }
  269.    
  270.     public static void main(String[] args)
  271.     {
  272.         new BlackJack();
  273.     }
  274. }