Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.33 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3. import java.util.Arrays;
  4.  
  5. public class Bingo
  6. {
  7. public static final int ROWS = 5;
  8. public static final int COLS = 5;
  9. public static final int VERTICAL = 1;
  10. public static final int DIAGONAL = 2;
  11. public static final int HORIZONTAL = 3;
  12. public static int winFound;
  13. public static int currPick = 0;
  14. public static int randomPick = 0;
  15. public static int WinFound;
  16.  
  17. public static void main(String[] args)
  18. {
  19. int Totcards;
  20. int[][] card = new int[ROWS][COLS];
  21. int[] picks = new int[25];
  22.  
  23. fillCard (card);
  24. printCard(card);
  25. playGame(card);
  26. printCard(card);
  27. finalCard(card);
  28.  
  29. }
  30.  
  31. private static void fillCard (int[][] card)
  32. {
  33. // FileReader fileIn = new FileReader("Bingo.in");
  34. // Bufferreader in = new Bufferreader(fileIn);
  35.  
  36. try {
  37. Scanner scan = new Scanner(new File("bingo.in"));
  38. for (int i=0; i<card.length; i++){
  39. for (int j=0; j<card[0].length; j++){
  40. card[i][j] = scan.nextInt();
  41. }
  42. }
  43. } catch(FileNotFoundException fnfe) {
  44. System.out.println(fnfe.getMessage());
  45. }
  46.  
  47. }
  48.  
  49. private static void printCard (int[][] card)
  50. {
  51. System.out.println("ntYOUR BINGO CARD : ");
  52. System.out.println("ntB I N G O");
  53. System.out.println("t----------------------");
  54.  
  55. for (int i=0; i<card.length; i++){
  56. for (int j=0; j<card[0].length; j++){
  57. System.out.print("t" + card[i][j]);
  58. }
  59. System.out.print("n");
  60. }
  61. }
  62.  
  63. private static void playGame (int[][] card)
  64. {
  65.  
  66. int numPicks = 0;
  67.  
  68. System.out.println("ntBINGO NUMBERS PICKED AT RANDOM FROM BIN: ");
  69. while (true)
  70. {
  71. markCard (card); // Generate a random num & zero-it out
  72. winFound = checkForWin(card); // Look for zero sums
  73. numPicks++;
  74.  
  75. if (winFound != 0)
  76. {
  77. if (winFound == 1)
  78. {
  79. System.out.print("nntYOU WIN WITH A VERTICAL WIN AFTER " + numPicks + " PICKSn");
  80. }
  81. else if (winFound == 2){
  82. System.out.print("nntYOU WIN WITH A DIAGONAL WIN AFTER " + numPicks + " PICKSn");
  83. }
  84. else if (winFound == 3){
  85. System.out.print("nntYOU WIN WITH A HORIZONTAL WIN AFTER " + numPicks + " PICKSn");
  86. }
  87.  
  88. announceWin (numPicks);
  89. return;
  90. }
  91. }
  92.  
  93.  
  94. }
  95. private static void markCard (int[][] card)
  96. {
  97. int randomPick = (int) (Math.random() * 74) + 1;
  98.  
  99.  
  100. for (int j = 0; j < ROWS; j++){
  101. for (int k = 0; k < COLS; k++){
  102. if (card[j][k]==randomPick)
  103. card[j][k] = 0;}
  104. }
  105. System.out.print("t " + randomPick + " ");
  106. System.out.print("");
  107. }
  108.  
  109. private static int checkForWin(int[][] card)
  110. {
  111. int sum=0;
  112.  
  113. for (int i = 0; i < ROWS; i++)
  114. {
  115. sum = 0;
  116. for (int j = 0; j < COLS; j++)
  117. sum += card[i][j];
  118.  
  119. if (sum == 0)
  120. return HORIZONTAL;
  121. }
  122.  
  123. for (int j = 0; j < COLS; j++)
  124. {
  125. sum = 0;
  126. for (int i = 0; i < ROWS; i++)
  127. sum += card[i][j];
  128.  
  129. if (sum == 0)
  130. return VERTICAL;
  131. }
  132.  
  133. sum = 0;
  134. for (int i = 0; i < ROWS; i++)
  135. sum += card[i][ROWS-i-1];
  136. if (sum == 0)
  137. return DIAGONAL;
  138.  
  139. sum = 0;
  140. for (int i = 0; i < ROWS; i++)
  141. sum += card[i][i];
  142.  
  143. if (sum == 0)
  144. return DIAGONAL;
  145.  
  146. return WinFound;
  147. }
  148.  
  149. private static void makeCard(int[][] card, int[] picks)
  150. {
  151. int count = 100;
  152. int currPick = 0;
  153. for (int i=0; i<count; i++){
  154. currPick = (int)(Math.random() * 74) + 1;
  155. System.out.print(" " + currPick + "n");
  156. picks[i] = currPick;
  157. }
  158. }
  159.  
  160. private static void announceWin(int numPicks)
  161. {
  162.  
  163. }
  164.  
  165. private static boolean duplicate (int currPick, int[] picks, int numPicks)
  166. {
  167. for (int i = 0; i < numPicks; i++){
  168. if (picks[i] == currPick){
  169. return true;}
  170. }
  171. return false;
  172.  
  173. }
  174.  
  175. private static void finalCard (int[][] card)
  176. {
  177. Arrays.sort(card);
  178. final String stringRep = Arrays.toString(card);
  179. final String[] out =
  180. stringRep.substring(1, stringRep.length() - 1).split("\s*,\s*");
  181.  
  182. System.out.println(Arrays.toString(out));
  183. }
  184. }
  185.  
  186. System.out.print("t" + (card[i][j] == 0 ? "X" : card[i][j]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement