Advertisement
Guest User

Black Jack Game

a guest
Jan 25th, 2022
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 37.64 KB | None | 0 0
  1. package BlackJackGame;
  2.  
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. import java.util.ArrayList;
  9. import java.util.Collections;
  10. import java.util.ListIterator;
  11. import java.util.Timer;
  12. import java.util.TimerTask;
  13. import java.util.concurrent.TimeUnit;
  14.  
  15. import javax.sound.sampled.AudioSystem;
  16. import javax.sound.sampled.Clip;
  17. import javax.sound.sampled.LineUnavailableException;
  18. import javax.sound.sampled.UnsupportedAudioFileException;
  19.  
  20. import javafx.application.Application;
  21. import javafx.scene.Group;
  22. import javafx.scene.Scene;
  23. import javafx.scene.control.Button;
  24. import javafx.scene.control.Label;
  25. import javafx.scene.image.Image;
  26. import javafx.scene.image.ImageView;
  27. import javafx.scene.paint.Color;
  28. import javafx.scene.paint.ImagePattern;
  29. import javafx.scene.text.Font;
  30. import javafx.scene.text.FontPosture;
  31. import javafx.scene.text.FontWeight;
  32. import javafx.stage.Stage;
  33.  
  34. public class Game extends Application{
  35.     Label userCardHit1Label = new Label("");
  36.     Label userCardHit2Label = new Label("");
  37.     Label userCardHit3Label = new Label("");
  38.     Label userCardHit4Label = new Label("");
  39.     Label resultsLabel = new Label("");
  40.     Label dealerCardHit1Label = new Label("");
  41.     Label dealerCardHit2Label = new Label("");
  42.     Label dealerCardHit3Label = new Label("");
  43.     Label dealerCardHit4Label = new Label("");
  44.     Button btHit = new Button("Hit");
  45.     Button btRetry = new Button("Retry");
  46.     Button btStand = new Button("Stand");
  47.     int resetCounter=0;
  48.    
  49.    
  50.    
  51.  
  52.    
  53.     @Override
  54.     public void start(Stage primaryStage) throws Exception {
  55.        
  56.        
  57.        
  58.         //Initializing the home/start screen
  59.         Image background= new Image(getClass().getResourceAsStream("PokerTable.jpeg"));
  60.         ImagePattern bgImage= new ImagePattern(background);
  61.         Image openImage = new Image(getClass().getResourceAsStream("IntroPic.jpeg"));
  62.         ImageView imgOpen =new ImageView(openImage);
  63.         imgOpen.setFitWidth(300);
  64.         imgOpen.setFitHeight(200);
  65.         imgOpen.setLayoutX(110);
  66.         imgOpen.setLayoutY(50);
  67.        
  68.         //Button to start the game
  69.         Button btPlay = new Button("Play");
  70.         btPlay.setLayoutX(230);
  71.         btPlay.setLayoutY(350);
  72.        
  73.          
  74.         Group rootOpen= new Group(imgOpen,btPlay);
  75.         Scene scene = new Scene(rootOpen, 535,500);
  76.         scene.setFill(bgImage);
  77.         primaryStage.setScene(scene);
  78.         primaryStage.show();
  79.          
  80.          //Listens for click on button play
  81.            btPlay.setOnAction(e -> {
  82.             try {
  83.                 mainGame(primaryStage);
  84.             } catch (FileNotFoundException e1) {
  85.                 // TODO Auto-generated catch block
  86.                 e1.printStackTrace();
  87.             }
  88.         });
  89.        
  90.     }
  91.     //mainGame method essentially allows for restarting the game without going back to the home screen
  92.         void mainGame(Stage primaryStage) throws FileNotFoundException{
  93.            
  94.             //dec shuffle sound effect
  95.             File file = new File("Shuffle.wav");
  96.             Clip shuffle = null;
  97.             try {
  98.                 shuffle = AudioSystem.getClip();
  99.             } catch (LineUnavailableException e) {
  100.                 // TODO Auto-generated catch block
  101.                 e.printStackTrace();
  102.             }  
  103.             try {
  104.                 shuffle.open(AudioSystem.getAudioInputStream(file));
  105.             } catch (LineUnavailableException e) {
  106.                 // TODO Auto-generated catch block
  107.                 e.printStackTrace();
  108.             } catch (IOException e) {
  109.                 // TODO Auto-generated catch block
  110.                 e.printStackTrace();
  111.             } catch (UnsupportedAudioFileException e) {
  112.                 // TODO Auto-generated catch block
  113.                 e.printStackTrace();
  114.             }
  115.             shuffle.start();
  116.        
  117.            
  118.         //Creates an image for the back of the card
  119.         InputStream imageBackStream = new FileInputStream("BackSide.png");
  120.         Image imageBack = new Image(imageBackStream);
  121.         //ImageView imageView4 = new ImageView(imageBack);
  122.        
  123.         //Creating card objects (spades) in chronological order
  124.         Card twoSpade = new Card(2, 0, "Spade", null, null, null);
  125.         InputStream twoSpadeStream = new FileInputStream("2Spade.png");
  126.         Image twoSpadeImage = new Image (twoSpadeStream);
  127.         twoSpade.image=twoSpadeImage;
  128.         twoSpade.imageBack=imageBack;
  129.        
  130.         Card threeSpade = new Card(3, 0, "Spade", null, null, null);
  131.         InputStream threeSpadeStream = new FileInputStream("3Spade.png");
  132.         Image threeSpadeImage = new Image (threeSpadeStream);
  133.         threeSpade.image=threeSpadeImage;
  134.         threeSpade.imageBack=imageBack;
  135.        
  136.         Card fourSpade = new Card(4, 0, "Spade", null, null,null);
  137.         InputStream fourSpadeStream = new FileInputStream("4Spade.png");
  138.         Image fourSpadeImage = new Image (fourSpadeStream);
  139.         fourSpade.image=fourSpadeImage;
  140.         fourSpade.imageBack=imageBack;
  141.        
  142.         Card fiveSpade = new Card(5, 0, "Spade", null, null,null);
  143.         InputStream fiveSpadeStream = new FileInputStream("Spade.png");
  144.         Image fiveSpadeImage = new Image (fiveSpadeStream);
  145.         fiveSpade.image=fiveSpadeImage;
  146.         fiveSpade.imageBack=imageBack;
  147.        
  148.         Card sixSpade = new Card(6, 0, "Spade", null, null,null);
  149.         InputStream sixSpadeStream = new FileInputStream("6Spade.png");
  150.         Image sixSpadeImage = new Image (sixSpadeStream);
  151.         sixSpade.image=sixSpadeImage;
  152.         sixSpade.imageBack=imageBack;
  153.        
  154.         Card sevenSpade = new Card(7, 0, "Spade", null, null,null);
  155.         InputStream sevenSpadeStream = new FileInputStream("7Spade.png");
  156.         Image sevenSpadeImage = new Image (sevenSpadeStream);
  157.         sevenSpade.image=sevenSpadeImage;
  158.         sevenSpade.imageBack=imageBack;
  159.        
  160.         Card eightSpade = new Card(8, 0, "Spade", null, null,null);
  161.         InputStream eightSpadeStream = new FileInputStream("8Spade.png");
  162.         Image eightSpadeImage = new Image (eightSpadeStream);
  163.         eightSpade.image=eightSpadeImage;
  164.         eightSpade.imageBack=imageBack;
  165.        
  166.         Card nineSpade = new Card(9, 0, "Spade", null, null,null);
  167.         InputStream nineSpadeStream = new FileInputStream("9Spade.png");
  168.         Image nineSpadeImage = new Image (nineSpadeStream);
  169.         nineSpade.image=nineSpadeImage;
  170.         nineSpade.imageBack=imageBack;
  171.        
  172.         Card tenSpade = new Card(10, 0, "Spade", null, null,null);
  173.         InputStream tenSpadeStream = new FileInputStream("10Spade.png");
  174.         Image tenSpadeImage = new Image (tenSpadeStream);
  175.         tenSpade.image=tenSpadeImage;
  176.         tenSpade.imageBack=imageBack;
  177.        
  178.         Card jackSpade = new Card(10, 0, "Spade","Jack", null, null);
  179.         InputStream jackSpadeStream = new FileInputStream("JackSpade.png");
  180.         Image jackSpadeImage = new Image (jackSpadeStream);
  181.         jackSpade.image=jackSpadeImage;
  182.         jackSpade.imageBack=imageBack;
  183.        
  184.         Card queenSpade = new Card(10, 0, "Spade","Queen", null, null);
  185.         InputStream queenSpadeStream = new FileInputStream("QueenSpade.png");
  186.         Image queenSpadeImage = new Image (queenSpadeStream);
  187.         queenSpade.image=queenSpadeImage;
  188.         queenSpade.imageBack=imageBack;
  189.        
  190.         Card kingSpade = new Card(10, 0, "Spade", "King", null, null);
  191.         InputStream kingSpadeStream = new FileInputStream("KingSpade.png");
  192.         Image kingSpadeImage = new Image (kingSpadeStream);
  193.         kingSpade.image=kingSpadeImage;
  194.         kingSpade.imageBack=imageBack;
  195.        
  196.         Card aceSpade = new Card(11, 1, "Spade", "Ace", null, null);
  197.         InputStream aceSpadeStream = new FileInputStream("AceSpade.png");
  198.         Image aceSpadeImage = new Image (aceSpadeStream);
  199.         aceSpade.image=aceSpadeImage;
  200.         aceSpade.imageBack=imageBack;
  201.        
  202.         //Creating clubs in chronological order
  203.        
  204.         Card twoClub = new Card(2, 0, "Club", null, null, null);
  205.         InputStream twoClubStream = new FileInputStream("2Club.png");
  206.         Image twoClubImage = new Image (twoClubStream);
  207.         twoClub.image=twoClubImage;
  208.         twoClub.imageBack=imageBack;
  209.        
  210.         Card threeClub = new Card(3, 0, "Club", null, null, null);
  211.         InputStream threeClubStream = new FileInputStream("3Club.png");
  212.         Image threeClubImage = new Image (threeClubStream);
  213.         threeClub.image=threeClubImage;
  214.         threeClub.imageBack=imageBack;
  215.        
  216.         Card fourClub = new Card(4, 0, "Club", null, null,null);
  217.         InputStream fourClubStream = new FileInputStream("4Club.png");
  218.         Image fourClubImage = new Image (fourClubStream);
  219.         fourClub.image=fourClubImage;
  220.         fourClub.imageBack=imageBack;
  221.        
  222.         Card fiveClub = new Card(5, 0, "Club", null, null,null);
  223.         InputStream fiveClubStream = new FileInputStream("5Club.png");
  224.         Image fiveClubImage = new Image (fiveClubStream);
  225.         fiveClub.image=fiveClubImage;
  226.         fiveClub.imageBack=imageBack;
  227.        
  228.         Card sixClub = new Card(6, 0, "Club", null, null,null);
  229.         InputStream sixClubStream = new FileInputStream("6Club.png");
  230.         Image sixClubImage = new Image (sixClubStream);
  231.         sixClub.image=sixClubImage;
  232.         sixClub.imageBack=imageBack;
  233.        
  234.         Card sevenClub = new Card(7, 0, "Club", null, null,null);
  235.         InputStream sevenClubStream = new FileInputStream("7Club.png");
  236.         Image sevenClubImage = new Image (sevenClubStream);
  237.         sevenClub.image=sevenClubImage;
  238.         sevenClub.imageBack=imageBack;
  239.        
  240.         Card eightClub = new Card(8, 0, "Club", null, null,null);
  241.         InputStream eightClubStream = new FileInputStream("8Club.png");
  242.         Image eightClubImage = new Image (eightClubStream);
  243.         eightClub.image=eightClubImage;
  244.         eightClub.imageBack=imageBack;
  245.        
  246.         Card nineClub = new Card(9, 0, "Club", null, null,null);
  247.         InputStream nineClubStream = new FileInputStream("9Club.png");
  248.         Image nineClubImage = new Image (nineClubStream);
  249.         nineClub.image=nineClubImage;
  250.         nineClub.imageBack=imageBack;
  251.        
  252.         Card tenClub = new Card(10, 0, "Club", null, null,null);
  253.         InputStream tenClubStream = new FileInputStream("10Club.png");
  254.         Image tenClubImage = new Image (tenClubStream);
  255.         tenClub.image=tenClubImage;
  256.         tenClub.imageBack=imageBack;
  257.        
  258.         Card jackClub = new Card(10, 0, "Club","Jack", null, null);
  259.         InputStream jackClubStream = new FileInputStream("JackClub.png");
  260.         Image jackClubImage = new Image (jackClubStream);
  261.         jackClub.image=jackClubImage;
  262.         jackClub.imageBack=imageBack;
  263.        
  264.         Card queenClub = new Card(10, 0, "Club","Queen", null, null);
  265.         InputStream queenClubStream = new FileInputStream("QueenClub.png");
  266.         Image queenClubImage = new Image (queenClubStream);
  267.         queenClub.image=queenClubImage;
  268.         queenClub.imageBack=imageBack;
  269.        
  270.         Card kingClub = new Card(10, 0, "Club", "King", null, null);
  271.         InputStream kingClubStream = new FileInputStream("KingClub.png");
  272.         Image kingClubImage = new Image (kingClubStream);
  273.         kingClub.image=kingClubImage;
  274.         kingClub.imageBack=imageBack;
  275.        
  276.         Card aceClub = new Card(11, 1, "Club", "Ace", null, null);
  277.         InputStream aceClubStream = new FileInputStream("AceClub.png");
  278.         Image aceClubImage = new Image (aceClubStream);
  279.         aceClub.image=aceClubImage;
  280.         aceClub.imageBack=imageBack;
  281.        
  282.        
  283.         //Creating cards in hearts
  284.        
  285.         Card twoHeart = new Card(2, 0, "Heart", null, null, null);
  286.         InputStream twoHeartStream = new FileInputStream("2Heart.png");
  287.         Image twoHeartImage = new Image (twoHeartStream);
  288.         twoHeart.image=twoHeartImage;
  289.         twoHeart.imageBack=imageBack;
  290.        
  291.         Card threeHeart = new Card(3, 0, "Heart", null, null, null);
  292.         InputStream threeHeartStream = new FileInputStream("3Heart.png");
  293.         Image threeHeartImage = new Image (threeHeartStream);
  294.         threeHeart.image=threeHeartImage;
  295.         threeHeart.imageBack=imageBack;
  296.        
  297.         Card fourHeart = new Card(4, 0, "Heart", null, null,null);
  298.         InputStream fourHeartStream = new FileInputStream("4Heart.png");
  299.         Image fourHeartImage = new Image (fourHeartStream);
  300.         fourHeart.image=fourHeartImage;
  301.         fourHeart.imageBack=imageBack;
  302.        
  303.         Card fiveHeart = new Card(5, 0, "Heart", null, null,null);
  304.         InputStream fiveHeartStream = new FileInputStream("5Heart.png");
  305.         Image fiveHeartImage = new Image (fiveHeartStream);
  306.         fiveHeart.image=fiveHeartImage;
  307.         fiveHeart.imageBack=imageBack;
  308.        
  309.         Card sixHeart = new Card(6, 0, "Heart", null, null,null);
  310.         InputStream sixHeartStream = new FileInputStream("6Heart.png");
  311.         Image sixHeartImage = new Image (sixHeartStream);
  312.         sixHeart.image=sixHeartImage;
  313.         sixHeart.imageBack=imageBack;
  314.        
  315.         Card sevenHeart = new Card(7, 0, "Heart", null, null,null);
  316.         InputStream sevenHeartStream = new FileInputStream("7Heart.png");
  317.         Image sevenHeartImage = new Image (sevenHeartStream);
  318.         sevenHeart.image=sevenHeartImage;
  319.         sevenHeart.imageBack=imageBack;
  320.        
  321.         Card eightHeart = new Card(8, 0, "Heart", null, null,null);
  322.         InputStream eightHeartStream = new FileInputStream("8Heart.png");
  323.         Image eightHeartImage = new Image (eightHeartStream);
  324.         eightHeart.image=eightHeartImage;
  325.         eightHeart.imageBack=imageBack;
  326.        
  327.         Card nineHeart = new Card(9, 0, "Heart", null, null,null);
  328.         InputStream nineHeartStream = new FileInputStream("9Heart.png");
  329.         Image nineHeartImage = new Image (nineHeartStream);
  330.         nineHeart.image=nineHeartImage;
  331.         nineHeart.imageBack=imageBack;
  332.        
  333.         Card tenHeart = new Card(10, 0, "Heart", null, null,null);
  334.         InputStream tenHeartStream = new FileInputStream("10Heart.png");
  335.         Image tenHeartImage = new Image (tenHeartStream);
  336.         tenHeart.image=tenHeartImage;
  337.         tenHeart.imageBack=imageBack;
  338.        
  339.         Card jackHeart = new Card(10, 0, "Heart","Jack", null, null);
  340.         InputStream jackHeartStream = new FileInputStream("JackHeart.png");
  341.         Image jackHeartImage = new Image (jackHeartStream);
  342.         jackHeart.image=jackHeartImage;
  343.         jackHeart.imageBack=imageBack;
  344.        
  345.         Card queenHeart = new Card(10, 0, "Heart","Queen", null, null);
  346.         InputStream queenHeartStream = new FileInputStream("QueenHeart.png");
  347.         Image queenHeartImage = new Image (queenHeartStream);
  348.         queenHeart.image=queenHeartImage;
  349.         queenHeart.imageBack=imageBack;
  350.        
  351.         Card kingHeart = new Card(10, 0, "Heart", "King", null, null);
  352.         InputStream kingHeartStream = new FileInputStream("KingHeart.png");
  353.         Image kingHeartImage = new Image (kingHeartStream);
  354.         kingHeart.image=kingHeartImage;
  355.         kingHeart.imageBack=imageBack;
  356.        
  357.         Card aceHeart = new Card(11, 1, "Heart", "Ace", null, null);
  358.         InputStream aceHeartStream = new FileInputStream("AceHeart.png");
  359.         Image aceHeartImage = new Image (aceHeartStream);
  360.         aceHeart.image=aceHeartImage;
  361.         aceHeart.imageBack=imageBack;
  362.        
  363.        
  364.        
  365.         //Creating cards in diamonds
  366.         Card twoDiamond = new Card(2, 0, "Diamond ", null, null, null);
  367.         InputStream twoDiamondStream = new FileInputStream("2Diamond.png");
  368.         Image twoDiamondImage = new Image (twoDiamondStream);
  369.         twoDiamond.image=twoDiamondImage;
  370.         twoDiamond.imageBack=imageBack;
  371.        
  372.         Card threeDiamond = new Card(3, 0, "Diamond", null, null, null);
  373.         InputStream threeDiamondStream = new FileInputStream("3Diamond.png");
  374.         Image threeDiamondImage = new Image (threeDiamondStream);
  375.         threeDiamond.image=threeDiamondImage;
  376.         threeDiamond.imageBack=imageBack;
  377.        
  378.         Card fourDiamond = new Card(4, 0, "Diamond", null, null,null);
  379.         InputStream fourDiamondStream = new FileInputStream("4Diamond.png");
  380.         Image fourDiamondImage = new Image (fourDiamondStream);
  381.         fourDiamond.image=fourDiamondImage;
  382.         fourDiamond.imageBack=imageBack;
  383.        
  384.         Card fiveDiamond = new Card(5, 0, "Diamond", null, null,null);
  385.         InputStream fiveDiamondStream = new FileInputStream("5Diamond.png");
  386.         Image fiveDiamondImage = new Image (fiveDiamondStream);
  387.         fiveDiamond.image=fiveDiamondImage;
  388.         fiveDiamond.imageBack=imageBack;
  389.        
  390.         Card sixDiamond = new Card(6, 0, "Diamond", null, null,null);
  391.         InputStream sixDiamondStream = new FileInputStream("6Diamond.png");
  392.         Image sixDiamondImage = new Image (sixDiamondStream);
  393.         sixDiamond.image=sixDiamondImage;
  394.         sixDiamond.imageBack=imageBack;
  395.        
  396.         Card sevenDiamond = new Card(7, 0, "Diamond", null, null,null);
  397.         InputStream sevenDiamondStream = new FileInputStream("7Diamond.png");
  398.         Image sevenDiamondImage = new Image (sevenDiamondStream);
  399.         sevenDiamond.image=sevenDiamondImage;
  400.         sevenDiamond.imageBack=imageBack;
  401.        
  402.         Card eightDiamond = new Card(8, 0, "Diamond", null, null,null);
  403.         InputStream eightDiamondStream = new FileInputStream("8Diamond.png");
  404.         Image eightDiamondImage = new Image (eightDiamondStream);
  405.         eightDiamond.image=eightDiamondImage;
  406.         eightDiamond.imageBack=imageBack;
  407.        
  408.         Card nineDiamond = new Card(9, 0, "Diamond", null, null,null);
  409.         InputStream nineDiamondStream = new FileInputStream("9Diamond.png");
  410.         Image nineDiamondImage = new Image (nineDiamondStream);
  411.         nineDiamond.image=nineDiamondImage;
  412.         nineDiamond.imageBack=imageBack;
  413.        
  414.         Card tenDiamond = new Card(10, 0, "Diamond", null, null,null);
  415.         InputStream tenDiamondStream = new FileInputStream("10Diamond.png");
  416.         Image tenDiamondImage = new Image (tenDiamondStream);
  417.         tenDiamond.image=tenDiamondImage;
  418.         tenDiamond.imageBack=imageBack;
  419.        
  420.         Card jackDiamond = new Card(10, 0, "Diamond","Jack", null, null);
  421.         InputStream jackDiamondStream = new FileInputStream("JackDiamond.png");
  422.         Image jackDiamondImage = new Image (jackDiamondStream);
  423.         jackDiamond.image=jackDiamondImage;
  424.         jackDiamond.imageBack=imageBack;
  425.        
  426.         Card queenDiamond = new Card(10, 0, "Diamond","Queen", null, null);
  427.         InputStream queenDiamondStream = new FileInputStream("QueenDiamond.png");
  428.         Image queenDiamondImage = new Image (queenDiamondStream);
  429.         queenDiamond.image=queenDiamondImage;
  430.         queenDiamond.imageBack=imageBack;
  431.        
  432.         Card kingDiamond = new Card(10, 0, "Diamond", "King", null, null);
  433.         InputStream kingDiamondStream = new FileInputStream("KingDiamond.png");
  434.         Image kingDiamondImage = new Image (kingDiamondStream);
  435.         kingDiamond.image=kingDiamondImage;
  436.         kingDiamond.imageBack=imageBack;
  437.        
  438.         Card aceDiamond = new Card(11, 1, "Diamond", "Ace", null, null);
  439.         InputStream aceDiamondStream = new FileInputStream("AceDiamond.png");
  440.         Image aceDiamondImage = new Image (aceDiamondStream);
  441.         aceDiamond.image=aceDiamondImage;
  442.         aceDiamond.imageBack=imageBack;
  443.        
  444.         //Creating an array list for the cards
  445.         ArrayList<Card> deckArray = new ArrayList<Card>();
  446.         Collections.addAll(deckArray, twoSpade, threeSpade, fourSpade, fiveSpade, sixSpade, sevenSpade, eightSpade, nineSpade, tenSpade,
  447.                 jackSpade, queenSpade, kingSpade, aceSpade,
  448.                 twoClub, threeClub, fourClub, fiveClub, sixClub, sevenClub, eightClub, nineClub, tenClub,
  449.                 jackClub, queenClub, kingClub, aceClub,
  450.                 twoHeart, threeHeart, fourHeart, fiveHeart, sixHeart, sevenHeart, eightHeart, nineHeart, tenHeart,
  451.                 jackHeart, queenHeart, kingHeart, aceHeart,
  452.                 twoDiamond, threeDiamond, fourDiamond, fiveDiamond, sixDiamond, sevenDiamond, eightDiamond, nineDiamond, tenDiamond,
  453.                 jackDiamond, queenDiamond, kingDiamond, aceDiamond);
  454.        
  455.         Collections.shuffle(deckArray);
  456.        
  457.         //Creates an iterator to go through the deck
  458.         ListIterator<Card> iterator= deckArray.listIterator();
  459.        
  460.         //Creates arraylists for the hand of the user and dealer
  461.         ArrayList<Card>userHandArray= new ArrayList<Card>();
  462.         ArrayList<Card>dealerHandArray= new ArrayList<Card>();
  463.        
  464.        
  465.         userHandArray.add(iterator.next());
  466.         iterator.next();
  467.         dealerHandArray.add(iterator.next());
  468.         userHandArray.add(iterator.next());
  469.         iterator.next();
  470.         dealerHandArray.add(iterator.next());
  471.        
  472.         //Creats an object to hold the cards and points of the dealer and user
  473.         Hand userHand = new Hand(0, null);
  474.         Hand dealerHand = new Hand(0, null);
  475.        
  476.         //initaliaztes array
  477.         //userHand.points = 0;
  478.         userHand.handArray=userHandArray;
  479.         dealerHand.handArray=dealerHandArray;
  480.        
  481.        
  482.        
  483.         //Creates image view
  484.         ImageView imageView = new ImageView(userHand.handArray.get(0).image);
  485.         ImageView imageView2 = new ImageView(userHand.handArray.get(1).image);
  486.         ImageView imageView3 = new ImageView(dealerHand.handArray.get(0).image);
  487.         ImageView imageView4 = new ImageView(dealerHand.handArray.get(1).imageBack);
  488.         //ImageView bgImage = new ImageView(backgroundImage);
  489.        
  490.        
  491.        
  492.        
  493.         //Layouts for images and buttons
  494.         imageView.setPreserveRatio(true);
  495.         imageView.setFitWidth(100);
  496.         imageView.setFitHeight(100);      
  497.         imageView.setX(200);
  498.         imageView.setY(300);
  499.         imageView.setVisible(false);
  500.        
  501.         imageView2.setX(225);
  502.         imageView2.setY(300);
  503.         imageView2.setPreserveRatio(true);
  504.         imageView2.setFitWidth(100);
  505.         imageView2.setFitHeight(100);
  506.         imageView2.setVisible(false);
  507.  
  508.        
  509.         imageView3.setX(200);
  510.         imageView3.setY(100);
  511.         imageView3.setPreserveRatio(true);
  512.         imageView3.setFitWidth(100);
  513.         imageView3.setFitHeight(100);
  514.         imageView3.setVisible(false);
  515.  
  516.  
  517.         imageView4.setX(225);
  518.         imageView4.setY(100);
  519.         imageView4.setPreserveRatio(true);
  520.         imageView4.setFitWidth(100);
  521.         imageView4.setFitHeight(100);
  522.         imageView4.setVisible(false);
  523.  
  524.        
  525.         //button layouts
  526.         btHit.setVisible(false);
  527.         btHit.setLayoutX(10);
  528.         btHit.setLayoutY(450);
  529.        
  530.         btRetry.setVisible(false);
  531.         btRetry.setLayoutX(100);
  532.         btRetry.setLayoutY(450);
  533.        
  534.         btStand.setVisible(false);
  535.         btStand.setLayoutX(190);
  536.         btStand.setLayoutY(450);
  537.        
  538.         resultsLabel.setLayoutX(350);
  539.         resultsLabel.setLayoutY(450);
  540.         resultsLabel.setFont(Font.font("Times New Roman", FontWeight.BOLD, FontPosture.REGULAR, 20));
  541.         resultsLabel.setTextFill(Color.BEIGE);
  542.        
  543.         //hit cards labels layout
  544.         userCardHit1Label.setLayoutX(147);
  545.         userCardHit1Label.setLayoutY(25);
  546.         userCardHit2Label.setLayoutX(162);
  547.         userCardHit2Label.setLayoutY(25);
  548.         userCardHit3Label.setLayoutX(177);
  549.         userCardHit3Label.setLayoutY(25);
  550.         userCardHit4Label.setLayoutX(192);
  551.         userCardHit4Label.setLayoutY(25);
  552.         dealerCardHit1Label.setLayoutX(147);
  553.         dealerCardHit1Label.setLayoutY(25);
  554.         dealerCardHit2Label.setLayoutX(162);
  555.         dealerCardHit2Label.setLayoutY(25);
  556.         dealerCardHit3Label.setLayoutX(177);
  557.         dealerCardHit3Label.setLayoutY(25);
  558.         dealerCardHit4Label.setLayoutX(192);
  559.         dealerCardHit4Label.setLayoutY(25);
  560.        
  561.        //Sets up background image
  562.        
  563.  
  564.         Image background= new Image(getClass().getResourceAsStream("PokerTable.jpeg"));
  565.           ImagePattern bgImage= new ImagePattern(background);
  566.         //Creating main part
  567.         //adding elements to window  
  568.         Group root = new Group (imageView, imageView2,imageView3,imageView4,btHit,btRetry,userCardHit1Label,
  569.                 userCardHit2Label,userCardHit3Label,userCardHit4Label,btStand,dealerCardHit1Label,dealerCardHit2Label,
  570.                 dealerCardHit3Label,dealerCardHit4Label,resultsLabel);
  571.        
  572.          //root.getChildren().add(cardHit1Label);
  573.         Scene scene1 = new Scene(root, 535,500);
  574.         scene1.setFill(bgImage);
  575.         primaryStage.setScene(scene1);
  576.         primaryStage.show();
  577.        
  578.         Timer timer = new Timer();
  579.            timer.schedule(new TimerTask() {
  580.                //first loop keeps any card from being dealt
  581.             @Override
  582.             public void run() {
  583.                 hitSound();
  584.                 imageView.setVisible(true);
  585.                 timer.schedule(new TimerTask() {
  586.  
  587.                 @Override
  588.                     public void run() {
  589.                         hitSound();
  590.                         imageView3.setVisible(true);
  591.                         timer.schedule(new TimerTask() {
  592.  
  593.                 @Override
  594.                         public void run() {
  595.                             hitSound();
  596.                             imageView2.setVisible(true);
  597.                             timer.schedule(new TimerTask() {
  598.  
  599.                 @Override
  600.                             public void run() {
  601.                                 hitSound();
  602.                                 imageView4.setVisible(true);
  603.                                 timer.schedule(new TimerTask() {
  604.  
  605.                     @Override
  606.                                 public void run() {
  607.                                     btStand.setVisible(true);
  608.                                     btHit.setVisible(true);
  609.                                    
  610.                                 }
  611.                        
  612.                                 }, 500);
  613.                                
  614.                             }
  615.                    
  616.                             }, 500);
  617.                            
  618.                         }
  619.                    
  620.                         }, 500);
  621.          
  622.                     }
  623.                    
  624.                     }, 500);
  625.            
  626.             }
  627.                
  628.            }, 500);
  629.  
  630.        
  631.         // sets a delay its"
  632.        
  633.        
  634.        
  635.        
  636.         //Checks for user and dealer Black Jack
  637.         if ((userHand.handArray.get(0).type==("Ace")&&userHand.handArray.get(1).value==10)||
  638.                 (userHand.handArray.get(1).type==("Ace")&&userHand.handArray.get(0).value==10)) {
  639.             if((dealerHand.handArray.get(0).type==("Ace")&&dealerHand.handArray.get(1).value==10)||
  640.                     (dealerHand.handArray.get(1).type==("Ace")&&dealerHand.handArray.get(0).value==10)) {
  641.                 String firstHalf = "Dealer and user";
  642.                 String secondHalf = "Black Jack! Tie!";
  643.                 resultsLabel.setText("Dealer and user" +'\n' + "Black Jack. Tie!");
  644.                 imageView4.setImage(dealerHand.handArray.get(1).image);
  645.                 btStand.setDisable(true);
  646.                 btHit.setDisable(true);
  647.                 btRetry.setVisible(true);
  648.             }else {
  649.                 resultsLabel.setText("User Black Jack!");
  650.                 imageView4.setImage(dealerHand.handArray.get(1).image);
  651.                 btStand.setDisable(true);
  652.                 btHit.setDisable(true);
  653.                 btRetry.setVisible(true);
  654.             }
  655.        
  656.                
  657.             //Checks for dealer Black Jack for win
  658.         }else if ((dealerHand.handArray.get(0).type==("Ace")&&dealerHand.handArray.get(1).value==10)||
  659.                 (dealerHand.handArray.get(1).type==("Ace")&&dealerHand.handArray.get(0).value==10)){
  660.         resultsLabel.setText("Dealer Black Jack!" +'\n' + "You lose!");
  661.         imageView4.setImage(dealerHand.handArray.get(1).image);
  662.         btHit.setDisable(true);
  663.         btRetry.setVisible(true);
  664.         btStand.setDisable(true);
  665.         imageView4.setImage(dealerHand.handArray.get(1).image);
  666.    
  667.         }
  668.        
  669.      
  670.        
  671.         //methdod and hit button action to hit hand
  672.         btHit.setOnAction(e -> userHit(iterator,userHand,dealerHand,imageView4));
  673.         btStand.setOnAction(e -> stand(iterator,userHand,dealerHand,imageView4));
  674.        
  675.         //Resets game
  676.         btRetry.setOnAction(e -> {
  677.             count = 0;
  678.             try {
  679.                 userCardHit1Label.setGraphic(null);
  680.                 userCardHit2Label.setGraphic(null);
  681.                 userCardHit3Label.setGraphic(null);
  682.                 userCardHit4Label.setGraphic(null);
  683.                 dealerCardHit1Label.setGraphic(null);
  684.                 dealerCardHit2Label.setGraphic(null);
  685.                 dealerCardHit3Label.setGraphic(null);
  686.                 dealerCardHit4Label.setGraphic(null);
  687.                 resultsLabel.setText("");
  688.                 btHit.setDisable(false);
  689.                 btStand.setDisable(false);
  690.                 btRetry.setVisible(false);
  691.                 userHand.points=0;
  692.                 userHand.handArray.removeAll(userHand.handArray);
  693.                 dealerHand.points=0;
  694.                 dealerHand.handArray.removeAll(userHand.handArray);
  695.                 dealerCount =2;
  696.                 count =2;
  697.                 mainGame(primaryStage);
  698.             } catch (Exception e1) {
  699.                 // TODO Auto-generated catch block
  700.                 e1.printStackTrace();
  701.             }
  702.         });
  703.    
  704.         }
  705.  
  706.    
  707.    
  708.     private void stand(ListIterator<Card> iterator, Hand userHand, Hand dealerHand,
  709.             ImageView imageView4) {
  710.        
  711.         //In case the user's first move was to stand, is user's hand is calculated again
  712.         userHand.points= 0;
  713.         boolean ace = false;
  714.         for(int i = 0; i < userHand.handArray.size(); i++) {
  715.             //System.out.println(userHand.handArray.get(0).type +userHand.handArray.get(1).type );
  716.            
  717.            
  718.            
  719.             if(userHand.handArray.get(i).type=="Ace") {
  720.                 ace = true;
  721.                 System.out.println("You have an ace"); 
  722.             }
  723.        
  724.             userHand.points += userHand.handArray.get(i).value;;
  725.            
  726.             //if the hand breaks 21 and has an ace, the ace value is reassigned to one and the
  727.             //hand points value is recalculated
  728.             if (userHand.points>21 && ace==true) {
  729.                 userHand.points = 0;
  730.                 for( i = 0; i < userHand.handArray.size(); i++) {
  731.                     if(userHand.handArray.get(i).type=="Ace") {
  732.                         userHand.handArray.get(i).value=userHand.handArray.get(i).otherValue;
  733.                         System.out.println("Ace new value "+userHand.handArray.get(i).value);
  734.                        
  735.                        
  736.                     }userHand.points += userHand.handArray.get(i).value;
  737.                     System.out.println("New hand points value "+userHand.points);
  738.                 }
  739.            
  740.             }
  741.            
  742.             System.out.println(userHand.points);
  743.        
  744.             if (userHand.points>21) {
  745.                 imageView4.setImage(dealerHand.handArray.get(1).image);
  746.                 resultsLabel.setText("Bust");
  747.                 btHit.setDisable(true);
  748.                 btRetry.setVisible(true);
  749.                 userHand.handArray.removeAll(userHand.handArray);
  750.                 btStand.setDisable(true);
  751.                 btHit.setDisable(true);
  752.                 btRetry.setVisible(true);
  753.             }
  754.        
  755.         }
  756.        
  757.         //calls the hit sound sound effect
  758.         hitSound();
  759.         //btHit.setDisable(true);
  760.         System.out.println("You stand");
  761.         System.out.println("User points after stand " +userHand.points);
  762.         imageView4.setImage(dealerHand.handArray.get(1).image);
  763.            
  764.         dealerHand.points = 0;
  765.         for(int i = 0; i < dealerHand.handArray.size(); i++) {
  766.             //Tells the dealer what to do and it's resulting consequences ie hitting
  767.             dealerHand.points+=dealerHand.handArray.get(i).value;
  768.             System.out.println("Dealer pounts before hit"+dealerHand.points);
  769.             }
  770.             //Determines if the dealer needs a hit or not  
  771.         imageView4.setImage(dealerHand.handArray.get(1).image);
  772.         while (dealerHand.points<17 ||dealerHand.points<userHand.points) {
  773.                
  774.            
  775.             dealerHit(dealerHand,iterator, userHand,imageView4);
  776.            
  777.                
  778.             }
  779.         imageView4.setImage(dealerHand.handArray.get(1).image);
  780.         //This line of codes determines if the dealer wins with just their two initial cards
  781.         if(dealerHand.handArray.size()==2 && userHand.points<dealerHand.points) {
  782.             System.out.println("Dealer wins with two cards " +dealerHand.points);
  783.             resultsLabel.setText("Dealer wins");
  784.             btHit.setDisable(true);
  785.             btRetry.setVisible(true);
  786.             btStand.setDisable(true);
  787.         }else if(dealerHand.handArray.size()==2 && userHand.points>dealerHand.points) {
  788.                 System.out.println("Dealer loses with two cards " +dealerHand.points);
  789.                 resultsLabel.setText("Player wins");
  790.                 btHit.setDisable(true);
  791.                 btRetry.setVisible(true);
  792.                 btStand.setDisable(true);
  793.            
  794.         }else if(dealerHand.handArray.size()==2 && dealerHand.points==userHand.points) {
  795.             imageView4.setImage(dealerHand.handArray.get(1).image);
  796.             resultsLabel.setText("Tie");
  797.             btHit.setDisable(true);
  798.             btRetry.setVisible(true);
  799.             btStand.setDisable(true);
  800.        
  801.            
  802.         }
  803.         imageView4.setImage(dealerHand.handArray.get(1).image);
  804.     }      
  805.  
  806.  
  807.                    
  808.  
  809. int dealerCount=2;
  810.     //Determines the consequences of a dealer hit
  811.     private int dealerHit(Hand dealerHand, ListIterator<Card> iterator, Hand userHand, ImageView imageView4) {
  812.         imageView4.setImage(dealerHand.handArray.get(1).image);
  813.    
  814.         System.out.println("Method works");
  815.         System.out.println("User hand after dealer hit" + userHand.points);
  816.         //adds card to userhand
  817.         dealerHand.handArray.add(iterator.next());
  818.         hitSound();
  819.    
  820.         imageView4.setImage(dealerHand.handArray.get(1).image);                
  821.     //adds dealer hit cards
  822.     if (dealerCount==2) {
  823.          
  824.            
  825.         ImageView dealerCardHit1 =new ImageView(dealerHand.handArray.get(dealerCount).image);
  826.          
  827.         System.out.println("Should add card "+ (dealerCount-1));
  828.        
  829.         dealerCardHit1Label.setGraphic(dealerCardHit1);
  830.         dealerCardHit1Label.setLayoutX(105);
  831.         dealerCardHit1Label.setLayoutY(-114);
  832.         dealerCardHit1Label.setScaleX(.2);
  833.         dealerCardHit1Label.setScaleY(.19);
  834.         dealerCount++; 
  835.        
  836.  
  837.     }else if(dealerCount == 3) {
  838.        
  839.         ImageView dealerCardHit2 =new ImageView(dealerHand.handArray.get(dealerCount).image);
  840.  
  841.         dealerCardHit2Label.setGraphic(dealerCardHit2);
  842.         dealerCardHit2Label.setTranslateX(-35);
  843.         dealerCardHit2Label.setTranslateY(-140);
  844.         dealerCardHit2Label.setScaleX(.2);
  845.         dealerCardHit2Label.setScaleY(.19);
  846.         dealerCount++;                         
  847.                
  848.                    
  849.            
  850.        
  851.     }else if(dealerCount == 4) {
  852.        
  853.         hitSound();
  854.         ImageView dealerCardHit3 =new ImageView(dealerHand.handArray.get(dealerCount).image);
  855.  
  856.         dealerCardHit3Label.setGraphic(dealerCardHit3);
  857.         dealerCardHit3Label.setTranslateX(-25);
  858.         dealerCardHit3Label.setTranslateY(-140);
  859.         dealerCardHit3Label.setScaleX(.2);
  860.         dealerCardHit3Label.setScaleY(.19);
  861.         dealerCount++; 
  862.                    
  863.        
  864.        
  865.    
  866.     }else if (dealerCount ==5) {
  867.        
  868.         ImageView dealerCardHit4 =new ImageView(dealerHand.handArray.get(dealerCount).image);
  869.  
  870.         dealerCardHit4Label.setGraphic(dealerCardHit4);
  871.         dealerCardHit4Label.setTranslateX(-35);
  872.         dealerCardHit4Label.setTranslateY(-140);
  873.         dealerCardHit4Label.setScaleX(.2);
  874.         dealerCardHit4Label.setScaleY(.19);
  875.         dealerCount++; 
  876.                    
  877.             }
  878.                        
  879.            
  880.             //Adds up the userHand points
  881.             dealerHand.points= 0;
  882.             boolean ace = false;
  883.             for(int i = 0; i < dealerHand.handArray.size(); i++) {
  884.                
  885.                
  886.                 //Checks dealer hand for an ace
  887.                 if(dealerHand.handArray.get(i).type=="Ace") {
  888.                     ace = true;
  889.                     System.out.println("You have an ace"); 
  890.                 }
  891.            
  892.                 dealerHand.points += dealerHand.handArray.get(i).value;
  893.                
  894.                 //if the hand breaks 21 and has an ace, the ace value is reassigned to one and the
  895.                 //hand points value is recalculated
  896.                 if (dealerHand.points>21 && ace==true) {
  897.                     dealerHand.points = 0;
  898.                     for( i = 0; i < dealerHand.handArray.size(); i++) {
  899.                         if(dealerHand.handArray.get(i).type=="Ace") {
  900.                             dealerHand.handArray.get(i).value=dealerHand.handArray.get(i).otherValue;
  901.                             System.out.println("Dealer Ace new value "+dealerHand.handArray.get(i).value);
  902.                            
  903.                            
  904.                         }dealerHand.points += dealerHand.handArray.get(i).value;
  905.                         System.out.println("New dealer hand points value "+dealerHand.points);
  906.                     }
  907.                
  908.                 }
  909.                
  910.                 System.out.println(dealerHand.points);
  911.            
  912.                 if (dealerHand.points>21) {
  913.                     imageView4.setImage(dealerHand.handArray.get(1).image);
  914.                     resultsLabel.setText("Dealer Bust");
  915.                     btHit.setDisable(true);
  916.                     btRetry.setVisible(true);
  917.                    
  918.                    
  919.                 }else if (dealerHand.points>userHand.points) {
  920.                     imageView4.setImage(dealerHand.handArray.get(1).image);
  921.                     resultsLabel.setText("Dealer wins" );
  922.                     btHit.setDisable(true);
  923.                     btRetry.setVisible(true);
  924.                     btStand.setDisable(true);
  925.                    
  926.                 }else if(dealerHand.points<userHand.points) {
  927.                     imageView4.setImage(dealerHand.handArray.get(1).image);
  928.                     resultsLabel.setText("You win");
  929.                     btHit.setDisable(true);
  930.                     btRetry.setVisible(true);
  931.                     btStand.setDisable(true);
  932.                        
  933.                 }else if(dealerHand.points==userHand.points) {
  934.                     imageView4.setImage(dealerHand.handArray.get(1).image);
  935.                     resultsLabel.setText("Tie");
  936.                     btHit.setDisable(true);
  937.                     btRetry.setVisible(true);
  938.                     btStand.setDisable(true);
  939.                     ImageView dealerCardHitFront = new ImageView(dealerHand.handArray.get(2).image);
  940.                     dealerCardHit1Label.setGraphic(dealerCardHitFront);
  941.                
  942.                    
  943.                 }
  944.              
  945.             }
  946.                
  947.             return dealerHand.points;  
  948.            
  949.                
  950.                 }
  951.            
  952.    
  953.  
  954.     //counter adds cards to userHand
  955.     int count=2;
  956.     @SuppressWarnings("unchecked")
  957.     public int userHit( ListIterator<Card> iterator, Hand userHand,Hand dealerHand, ImageView imageView4) {
  958.        
  959.         //adds card to userhand
  960.         userHand.handArray.add(iterator.next());
  961.         //calls the hit sound effect method
  962.         hitSound();
  963.    
  964.        
  965.         if (count==2) {
  966.             ImageView userCardHit1 =new ImageView(userHand.handArray.get(count).image);
  967.        
  968.             userCardHit1Label.setGraphic(userCardHit1);
  969.             userCardHit1Label.setTranslateX(-35);
  970.             userCardHit1Label.setTranslateY(61);
  971.             userCardHit1Label.setScaleX(.2);
  972.             userCardHit1Label.setScaleY(.19);
  973.             count++;
  974.         }else if(count == 3) {
  975.             ImageView userCardHit2 =new ImageView(userHand.handArray.get(count).image);
  976.            
  977.             userCardHit2Label.setGraphic(userCardHit2);
  978.             userCardHit2Label.setTranslateX(-25);
  979.             userCardHit2Label.setTranslateY(61);
  980.             userCardHit2Label.setScaleX(.2);
  981.             userCardHit2Label.setScaleY(.19);
  982.             count++;
  983.         }else if(count == 4) {
  984.             ImageView userCardHit3 =new ImageView(userHand.handArray.get(count).image);
  985.            
  986.             userCardHit3Label.setGraphic(userCardHit3);
  987.             userCardHit3Label.setTranslateX(-15);
  988.             userCardHit3Label.setTranslateY(61);
  989.             userCardHit3Label.setScaleX(.2);
  990.             userCardHit3Label.setScaleY(.19);
  991.             count++;
  992.        
  993.         }else if (count ==5) {
  994.             ImageView userCardHit4 =new ImageView(userHand.handArray.get(count).image);
  995.             userCardHit4Label.setGraphic(userCardHit4);
  996.             userCardHit4Label.setTranslateX(-5);
  997.             userCardHit4Label.setTranslateY(61);
  998.             userCardHit4Label.setScaleX(.2);
  999.             userCardHit4Label.setScaleY(.19);
  1000.             count++;
  1001.         }
  1002.         //Adds up the userHand points
  1003.         userHand.points= 0;
  1004.         boolean ace = false;
  1005.         for(int i = 0; i < userHand.handArray.size(); i++) {
  1006.             //System.out.println(userHand.handArray.get(0).type +userHand.handArray.get(1).type );
  1007.            
  1008.            
  1009.            
  1010.             if(userHand.handArray.get(i).type=="Ace") {
  1011.                 ace = true;
  1012.                 System.out.println("You have an ace"); 
  1013.             }
  1014.        
  1015.             userHand.points += userHand.handArray.get(i).value;;
  1016.            
  1017.             //if the hand breaks 21 and has an ace, the ace value is reassigned to one and the
  1018.             //hand points value is recalculated
  1019.             if (userHand.points>21 && ace==true) {
  1020.                 userHand.points = 0;
  1021.                 for( i = 0; i < userHand.handArray.size(); i++) {
  1022.                     if(userHand.handArray.get(i).type=="Ace") {
  1023.                         userHand.handArray.get(i).value=userHand.handArray.get(i).otherValue;
  1024.                         System.out.println("Ace new value "+userHand.handArray.get(i).value);
  1025.                        
  1026.                        
  1027.                     }userHand.points += userHand.handArray.get(i).value;
  1028.                     System.out.println("New hand points value "+userHand.points);
  1029.                 }
  1030.            
  1031.             }
  1032.            
  1033.             System.out.println(userHand.points);
  1034.        
  1035.             if (userHand.points>21) {
  1036.                 imageView4.setImage(dealerHand.handArray.get(1).image);
  1037.                 resultsLabel.setText("Bust");
  1038.                 btHit.setDisable(true);
  1039.                 btRetry.setVisible(true);
  1040.                 userHand.handArray.removeAll(userHand.handArray);
  1041.                 btStand.setDisable(true);
  1042.                 btHit.setDisable(true);
  1043.                 btRetry.setVisible(true);
  1044.             }
  1045.        
  1046.         }
  1047.         return userHand.points;                
  1048.            
  1049.     }
  1050.     //hit sound sound effect   
  1051.     private void hitSound() {
  1052.         File file = new File("CardHit.wav");
  1053.         Clip hit = null;
  1054.         try {
  1055.             hit = AudioSystem.getClip();
  1056.         } catch (LineUnavailableException e) {
  1057.             // TODO Auto-generated catch block
  1058.             e.printStackTrace();
  1059.         }  
  1060.         try {
  1061.             hit.open(AudioSystem.getAudioInputStream(file));
  1062.         } catch (LineUnavailableException e) {
  1063.             // TODO Auto-generated catch block
  1064.             e.printStackTrace();
  1065.         } catch (IOException e) {
  1066.             // TODO Auto-generated catch block
  1067.             e.printStackTrace();
  1068.         } catch (UnsupportedAudioFileException e) {
  1069.             // TODO Auto-generated catch block
  1070.             e.printStackTrace();
  1071.         }
  1072.         hit.start();
  1073.        
  1074.     }  
  1075.            
  1076.  
  1077.     public static void main(String[] args) {
  1078.        
  1079. //Background music
  1080. File file = new File("bensound-theelevatorbossanova.wav");
  1081. Clip song = null;
  1082. try {
  1083.     song = AudioSystem.getClip();
  1084. } catch (LineUnavailableException e) {
  1085.     // TODO Auto-generated catch block
  1086.     e.printStackTrace();
  1087. }  
  1088. try {
  1089.     song.open(AudioSystem.getAudioInputStream(file));
  1090. } catch (LineUnavailableException e) {
  1091.     // TODO Auto-generated catch block
  1092.     e.printStackTrace();
  1093. } catch (IOException e) {
  1094.     // TODO Auto-generated catch block
  1095.     e.printStackTrace();
  1096. } catch (UnsupportedAudioFileException e) {
  1097.     // TODO Auto-generated catch block
  1098.     e.printStackTrace();
  1099. }
  1100.  
  1101. song.loop(Clip.LOOP_CONTINUOUSLY);
  1102. Application.launch(args);
  1103.    
  1104.     }
  1105.  
  1106.    
  1107. }
  1108.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement