SHARE
TWEET

Untitled

a guest Feb 27th, 2020 91 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package dicegames;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class CrapsPlay {
  6.     private Die die1, die2;
  7.     private Scanner scan;
  8.     private boolean won;
  9.     private boolean finished = false;
  10.     private int rolls;
  11.     private int firstRoll;
  12.     private int sumOfRoll;
  13.     private int wonGames;
  14.     private int gamesPlayed;
  15.  
  16.     public CrapsPlay() {
  17.         die1 = new Die();
  18.         die2 = new Die();
  19.         scan = new Scanner(System.in);
  20.     }
  21.  
  22.     /**
  23.      * Print out a neat welcome message to the player.
  24.      */
  25.     private void welcomeToGame() {
  26.         System.out.println("Velkommen til spillet Craps.");
  27.         System.out.println("Spillets gang");
  28.         System.out.println("Spillet består af en række kast med to terninger. " + "Spilleren kaster to terninger. "
  29.                 + "Det første kast kaldes ‘come out roll’. "
  30.                 + "Spilleren vinder med det samme, hvis det første kast er 7 eller 11 og "
  31.                 + "taber med det samme, hvis han opnår 2, 3 eller 12. "
  32.                 + "Hvis spillerens første kast er 4, 5, 6, 8, 9 eller 10, " + "etableres dette tal som hans ‘point’. "
  33.                 + "Spilleren bliver derefter ved med at kaste, indtil han opnår sit ‘point’ igen. "
  34.                 + "Opnår han 7 før han opnår sit ‘point’, har han tabt.");
  35.  
  36.     }
  37.  
  38.     public void gameOver() {
  39.         if (won) {
  40.             System.out.println("Tillykke du har vundet.");
  41.             wonGames++;
  42.         }
  43.         else
  44.             System.out.println("Du har tabt.");
  45.         gamesPlayed++;
  46. //      scan.close();
  47.     }
  48.    
  49.     public void endGame() {
  50.         System.out.println("Tak for denne gang.");
  51.         System.out.println("Du vandt " + wonGames + " spil.");
  52.         System.out.println("Du tabte " + (gamesPlayed-wonGames) + " spil.");
  53.         scan.close();
  54.     }
  55.  
  56.     public void takeTurn() {
  57.         die1.roll();
  58.         die2.roll();
  59.         sumOfRoll = die1.getFaceValue() + die2.getFaceValue();
  60.         checkWin();
  61.         checkLoss();
  62.         if (rolls == 0)
  63.             firstRoll = sumOfRoll;
  64.         rolls++;
  65.         System.out.println("Du har kastet: " + sumOfRoll);
  66.     }
  67.  
  68.     public void checkWin() {
  69.         if (rolls == 0 && sumOfRoll == 7 || rolls == 0 && sumOfRoll == 11) {
  70.             won = true;
  71.             finished = true;
  72.         } else if (sumOfRoll == firstRoll) {
  73.             won = true;
  74.             finished = true;
  75.         }
  76.  
  77.     }
  78.  
  79.     public void checkLoss() {
  80.         if (rolls == 0 && sumOfRoll == 2 || rolls == 0 && sumOfRoll == 3 || rolls == 0 && sumOfRoll == 12) {
  81.             won = false;
  82.             finished = true;
  83.         } else if (sumOfRoll == 7 && rolls > 0) {
  84.             won = false;
  85.             finished = true;
  86.         }
  87.     }
  88.  
  89.     public void startGame() {
  90.        
  91.         if (gamesPlayed == 0) {
  92.             welcomeToGame();
  93.         }
  94.        
  95.         finished = false;
  96.         firstRoll = 0;
  97.         rolls = 0;
  98.        
  99.         while (!finished) {
  100.             System.out.println("Vil du kaste en terning? Angiv Ja eller Nej: ");
  101.             String goOn = scan.nextLine();
  102.             if (goOn.equalsIgnoreCase("Nej")) {
  103.                 finished = true;
  104.             } else {
  105.                 takeTurn();
  106.             }
  107.         }
  108.         gameOver();
  109.     }
  110. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top