Advertisement
Guest User

ClueGame

a guest
Apr 24th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.17 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. /*-----------------------------------------------------\
  4. | |
  5. | Names: Luca Gancie & India Bhalla-Ladd |
  6. | Date Due: 11/18/16 |
  7. | Purpose: To simulate a couple moves of the board |
  8. | game Clue in the object-oriented paradigm |
  9. | |
  10. | |
  11. | |
  12. | |
  13. | |
  14. \------------------------------------------------------*/
  15.  
  16. public class Clue {
  17. public static void main (String args[])
  18. {
  19. // S E T U P
  20. //_______________________________________________________________________________________________________
  21.  
  22. //declares arrays for the suspect, weapon, and room objects (analogous to the cards)
  23. Suspect[] suspects = new Suspect[5];
  24. Weapon[] weapons = new Weapon[5];
  25. Room[] rooms = new Room[8];
  26.  
  27. //instantiates suspect and weapon arrays, and assigns each card a name
  28. for(int i = 0; i < suspects.length; i++) //weapons[] and suspects[] have the same length so it can be the same loop
  29. {
  30. suspects[i] = new Suspect();
  31. suspects[i].nameOfChar = suspects[i].names[i];
  32. weapons[i] = new Weapon();
  33. weapons[i].nameOfWeapon = weapons[i].names[i];
  34. }
  35.  
  36. //instantiates room array, and assigns each card a name
  37. for(int i = 0; i < rooms.length; i++)
  38. {
  39. rooms[i] = new Room();
  40. rooms[i].nameOfRoom = rooms[i].names[i];
  41. }
  42.  
  43. System.out.println("Enter an integer number of players from 3-6");
  44. Scanner kbReader = new Scanner(System.in);
  45. int numPlayers = 1;
  46. numPlayers = checkValidityForScanner(3, 6, numPlayers);
  47.  
  48. Player[] players = new Player[numPlayers]; //creates a Player array
  49.  
  50. for(int i = 0; i < players.length; i++) //loops through players to assign avatarNames, closest rooms
  51. { //instantiates knownSuspects/Weapons/Rooms and location array
  52. players[i] = new Player();
  53. players[i].knownSuspects[i] = new Suspect();
  54. players[i].knownWeapons[i] = new Weapon();
  55. players[i].knownRooms[i] = new Room();
  56. players[i].location[i] = i;
  57.  
  58. if(i < 5) //assigns an avatar character to each player
  59. {
  60. players[i].avatarName = suspects[i].nameOfChar;
  61. }
  62. else //Colonel Mustard is dealt with separately because he is the guiltySuspect
  63. {
  64. players[i].avatarName = "Colonel Mustard";
  65. }
  66.  
  67. if(players[i].avatarName == "Professor Plum")
  68. {
  69. players[i].nearestRoom = rooms[7];
  70. }
  71. if(players[i].avatarName == "Mr. John Green")
  72. {
  73. players[i].nearestRoom = rooms[6];
  74. }
  75. if(players[i].avatarName == "Mrs. Peacock")
  76. {
  77. players[i].nearestRoom = rooms[4];
  78. }
  79. if(players[i].avatarName == "Miss Scarlet")
  80. {
  81. players[i].nearestRoom = rooms[1];
  82. }
  83. if(players[i].avatarName == "Mrs. White")
  84. {
  85. players[i].nearestRoom = rooms[6];
  86. }
  87. if(players[i].avatarName == "Colonel Mustard")
  88. {
  89. players[i].nearestRoom = rooms[2];
  90. }
  91. }
  92.  
  93. int numSuspectsPerPlayer = Math.floorDiv(suspects.length, numPlayers); //calculates how many suspect cards each player receives (ignoring extra for now)
  94. int numWeaponsPerPlayer = Math.floorDiv(weapons.length, numPlayers); //calculates how many weapon cards each player receives (ignoring extra for now)
  95. int numRoomsPerPlayer = Math.floorDiv(rooms.length, numPlayers); //calculates how many room cards each player receives (ignoring extra for now)
  96.  
  97. int suspectsLeftOver = (suspects.length)%numPlayers;
  98. int weaponsLeftOver = (weapons.length )%numPlayers;
  99. int roomsLeftOver = (rooms.length)%numPlayers;
  100.  
  101. int tempA = 0, tempB = 0, tempC = 0;
  102.  
  103. if(numSuspectsPerPlayer == 0) //if statement to specify what the program should do if not every player will get a card (6 players)
  104. {
  105. for(int i = 0; i < (numPlayers - 1); i++)
  106. {
  107. for(int j = 0; j < 1; j++) //cycles through every knownSuspect and knownWeapon of every player (not the last one)
  108. {
  109. players[i].knownSuspects[j] = suspects[j + tempA];
  110. players[i].knownWeapons[j] = weapons[j + tempB];
  111. }
  112. tempA = tempA + 1; //temp variable ensures that each player will have different cards
  113. tempB = tempB + 1;
  114. }
  115. for(int m = 0; m < numPlayers; m ++)
  116. {
  117. for(int k = 0; k < 1; k++)
  118. {
  119. players[m].knownRooms[k] = rooms[k + tempC]; //does same thing as above but for rooms instead
  120. }
  121. }
  122. players[0].knownRooms[1] = rooms[6]; //overflow case
  123. players[1].knownRooms[1] = rooms[7]; //overflow case
  124. }
  125. else
  126. {
  127. for(int m = 0; m < numPlayers; m++) //loops through each player
  128. {
  129. for(int k = 0; k < numRoomsPerPlayer; k++) //loops so that each player has the minimum number of Rooms
  130. {
  131. players[m].knownRooms[k] = rooms[k + tempC];
  132. }
  133. if(roomsLeftOver == 1) //overflow case if one room card left over
  134. {
  135. players[0].knownRooms[numRoomsPerPlayer] = rooms[7];
  136. }
  137. else if(roomsLeftOver == 2) //overflow case if two room cards left over
  138. {
  139. players[0].knownRooms[numRoomsPerPlayer] = rooms[6];
  140. players[1].knownRooms[numRoomsPerPlayer] = rooms[7];
  141. }
  142. else if(roomsLeftOver == 3) //overflow case if three room cards left over
  143. {
  144. players[0].knownRooms[numRoomsPerPlayer] = rooms[5];
  145. players[1].knownRooms[numRoomsPerPlayer] = rooms[6];
  146. players[2].knownRooms[numRoomsPerPlayer] = rooms[7];
  147. }
  148. tempC = tempC + numRoomsPerPlayer;
  149. }
  150.  
  151. for(int j = 0; j < numPlayers; j++)
  152. {
  153. for(int i = 0; i < numSuspectsPerPlayer; i++) //loops through every knownSuspect of every player to assign
  154. { // suspect and weapon cards to each player
  155. players[j].knownSuspects[i] = suspects[i + tempA];
  156. players[j].knownWeapons[i] = weapons[i + tempB];
  157. if(suspectsLeftOver == 2) //overflow case
  158. {
  159. players[0].knownSuspects[1] = suspects[3];
  160. players[0].knownWeapons[1] = weapons[3];
  161.  
  162. players[1].knownSuspects[1] = suspects[4];
  163. players[1].knownWeapons[1] = weapons[4];
  164. }
  165. else if(suspectsLeftOver == 1) //overflow case
  166. {
  167. players[0].knownSuspects[1] = suspects[4];
  168. players[0].knownWeapons[1] = weapons[4];
  169. }
  170. }
  171. tempA = tempA + numSuspectsPerPlayer; //temp variable ensures players have different cards
  172. tempB = tempB + numWeaponsPerPlayer;
  173. }
  174.  
  175. }
  176. System.out.println(" ");
  177. System.out.println("<< CURRENT CARDS FOR EACH PLAYER >>");
  178. System.out.println(" ");
  179.  
  180. for(int i = 0; i < numPlayers; i++)
  181. {
  182. System.out.println("<< PLAYER " + i + " >>");
  183. System.out.println("\tSuspect Cards: ");
  184. for(int j = 0; j < Player.getLogicalSizeSuspect(players[i].knownSuspects); j++)
  185. //Uses the logical size of the array find and print the knownSuspects
  186. {
  187. System.out.print("\t\t"+ players[i].knownSuspects[j].nameOfChar + ", ");
  188. System.out.println("");
  189. }
  190. System.out.println("\tWeapon Cards: ");
  191. for(int j = 0; j < Player.getLogicalSizeWeapon(players[i].knownWeapons); j++)
  192. //Uses the logical size of the array find and print the knownWeapons
  193. {
  194. System.out.print("\t\t"+ players[i].knownWeapons[j].nameOfWeapon + ", ");
  195. System.out.println("");
  196. }
  197. System.out.println("\tRoom Cards: ");
  198. for(int j = 0; j < Player.getLogicalSizeRoom(players[i].knownRooms); j++)
  199. //Uses the logical size of the array find and print the knownRooms
  200. {
  201. System.out.print("\t\t"+ players[i].knownRooms[j].nameOfRoom + ", ");
  202. System.out.println("");
  203. }
  204. System.out.println(" ");
  205.  
  206. }
  207.  
  208.  
  209. Suspect guiltySuspect = new Suspect();
  210. guiltySuspect.nameOfChar = "Colonel Mustard";
  211. guiltySuspect.guilty = true; //creates a guiltySuspect card (simulated Confidential Card)
  212.  
  213. Weapon guiltyWeapon = new Weapon();
  214. guiltyWeapon.nameOfWeapon = "lead pipe";
  215. guiltyWeapon.guilty = true; //creates a guiltyWeapon card (simulated Confidential Card)
  216.  
  217. Room guiltyRoom = new Room();
  218. guiltyRoom.nameOfRoom = "Hall";
  219. guiltyRoom.guilty = true; //creates a guiltyRoom card (simulated Confidential Card)
  220.  
  221.  
  222. // G A M E P L A Y
  223. //___________________________________________________________________________________________________
  224.  
  225.  
  226. System.out.println(" ");
  227. System.out.println(" ");
  228. System.out.println("Player 0 Will Now Roll");
  229.  
  230. final int DIE_ROLL = 10;
  231. players[0].rollDice(DIE_ROLL);
  232.  
  233. System.out.println("Player 0 rolled a " + DIE_ROLL);
  234. System.out.println("player 0 current location is " + players[0].nearestRoom.nameOfRoom);
  235.  
  236. if(players[0].currentLocation == 10) //test to see if player 0 is in a Room
  237. {
  238. players[0].inRoom = true;
  239. }
  240. else
  241. {
  242. players[0].inRoom = false;
  243. }
  244.  
  245. if(players[0].inRoom)
  246. {
  247. System.out.println(" ");
  248. System.out.println(" ");
  249.  
  250. System.out.println("Please make a suggestion...");
  251. System.out.println("Please enter an integer to select a suspect to suggest");
  252. printSuspectsMenu();
  253. int chosenSuspect = 0;
  254. chosenSuspect = checkValidityForScanner(1, 6, chosenSuspect);
  255.  
  256. switch(chosenSuspect) //menu format so that user can select what suspect to suggest
  257. {
  258. case 1:
  259. players[0].suggestSuspect(suspects[0]);
  260. //chosenSuspect = 0;
  261. break;
  262. case 2:
  263. players[0].suggestSuspect(suspects[1]);
  264. //chosenSuspect = 1;
  265. break;
  266. case 3:
  267. players[0].suggestSuspect(suspects[2]);
  268. break;
  269. case 4:
  270. players[0].suggestSuspect(suspects[3]);
  271. break;
  272. case 5:
  273. players[0].suggestSuspect(suspects[4]);
  274. break;
  275. case 6:
  276. players[0].suggestSuspect(guiltySuspect);
  277. break;
  278. default:
  279. System.out.println("Please enter an integer");
  280. }
  281.  
  282. System.out.println("Please enter an integer 1-6 to select a weapon to suggest");
  283. printWeaponsMenu();
  284.  
  285. int chosenWeapon = 0;
  286. chosenWeapon = checkValidityForScanner(1, 6, chosenWeapon);
  287. switch(chosenWeapon) //menu format so that user can select what weapon to suggest
  288. {
  289. case 1:
  290. players[0].suggestWeapon(weapons[0]);
  291. break;
  292. case 2:
  293. players[0].suggestWeapon(weapons[1]);
  294. break;
  295. case 3:
  296. players[0].suggestWeapon(weapons[2]);
  297. break;
  298. case 4:
  299. players[0].suggestWeapon(weapons[3]);
  300. break;
  301. case 5:
  302. players[0].suggestWeapon(weapons[4]);
  303. break;
  304. case 6:
  305. players[0].suggestWeapon(guiltyWeapon);
  306. break;
  307. default:
  308. System.out.println("Please enter an integer");
  309. }
  310. System.out.println("Player 0 has suggested " + players[0].suggestedSuspect.nameOfChar + " with the " + players[0].suggestedWeapon.nameOfWeapon + " in the " + players[0].nearestRoom.nameOfRoom);
  311.  
  312. for(int i = 1; i < players.length; i++) //loops through each player
  313. {
  314. players[i].respond(players[0].suggestedSuspect, players[0].suggestedWeapon, players[0].nearestRoom);
  315. if(players[i].haveWeapon && players[i].haveRoom && players[i].haveSuspect)
  316. { //gives player the chance to choose what card to show player 0 if they have more than one
  317. System.out.println("Player " + i + ", which card would you like to show Player 0?");
  318. System.out.println("1. " + players[i].respondedWeapon.nameOfWeapon);
  319. System.out.println("2. " + players[i].respondedRoom.nameOfRoom);
  320. System.out.println("3. " + players[i].respondedSuspect.nameOfChar);
  321. int chosenB = kbReader.nextInt();
  322. switch(chosenB)
  323. {
  324. case 1:
  325. System.out.println("Player " + i + " has " + players[i].respondedWeapon.nameOfWeapon);
  326. players[0].knownWeapons[Player.getLogicalSizeWeapon(players[0].knownWeapons)] = players[i].respondedWeapon;
  327. //^automatically adds the respondedWeapon to player 0's knownWeapons array
  328. break;
  329. case 2:
  330. System.out.println("Player " + i + " has " + players[i].respondedRoom.nameOfRoom);
  331. players[0].knownRooms[Player.getLogicalSizeRoom(players[0].knownRooms)] = players[i].respondedRoom;
  332. break;
  333. case 3:
  334. System.out.println("Player " + i + " has " + players[i].respondedSuspect.nameOfChar);
  335. players[0].knownSuspects[Player.getLogicalSizeSuspect(players[0].knownSuspects)] = players[i].respondedSuspect;
  336. break;
  337. }
  338. break;
  339. }
  340. else if(players[i].haveSuspect && players[i].haveWeapon)
  341. { //gives player the chance to choose what card to show player 0 if they have more than one
  342.  
  343. System.out.println("Player " + i + ", which card would you like to show Player 0?");
  344. System.out.println("1. " + players[i].respondedSuspect.nameOfChar);
  345. System.out.println("2. " + players[i].respondedWeapon.nameOfWeapon);
  346. int chosenA = kbReader.nextInt();
  347. switch(chosenA)
  348. {
  349. case 1:
  350. System.out.println("Player " + i + " has " + players[i].respondedSuspect.nameOfChar);
  351. players[0].knownSuspects[Player.getLogicalSizeSuspect(players[0].knownSuspects)] = players[i].respondedSuspect;
  352. break;
  353. case 2:
  354. System.out.println("Player " + i + " has " + players[i].respondedWeapon.nameOfWeapon);
  355. players[0].knownWeapons[Player.getLogicalSizeWeapon(players[0].knownWeapons)] = players[i].respondedWeapon;
  356. break;
  357. }
  358. break;
  359. }
  360. else if(players[i].haveSuspect && players[i].haveRoom) //NEED A CASE IF ALL 3 ARE TRUE
  361. { //gives player the chance to choose what card to show player 0 if they have more than one
  362. System.out.println("Player " + i + ", which card would you like to show Player 0?");
  363. System.out.println("1. " + players[i].respondedSuspect.nameOfChar);
  364. System.out.println("2. " + players[i].respondedRoom.nameOfRoom);
  365. int chosenB = kbReader.nextInt();
  366. switch(chosenB)
  367. {
  368. case 1:
  369. System.out.println("Player " + i + " has " + players[i].respondedSuspect.nameOfChar);
  370. players[0].knownSuspects[Player.getLogicalSizeSuspect(players[0].knownSuspects)] = players[i].respondedSuspect;
  371. break;
  372. case 2:
  373. System.out.println("Player " + i + " has " + players[i].respondedRoom.nameOfRoom);
  374. players[0].knownRooms[Player.getLogicalSizeRoom(players[0].knownRooms)] = players[i].respondedRoom;
  375. break;
  376. }
  377. break;
  378. }
  379. else if(players[i].haveWeapon && players[i].haveRoom)
  380. { //gives player the chance to choose what card to show player 0 if they have more than one
  381. System.out.println("Player " + i + ", which card would you like to show Player 0?");
  382. System.out.println("1. " + players[i].respondedWeapon.nameOfWeapon);
  383. System.out.println("2. " + players[i].respondedRoom.nameOfRoom);
  384. int chosenB = kbReader.nextInt();
  385. switch(chosenB)
  386. {
  387. case 1:
  388. System.out.println("Player " + i + " has " + players[i].respondedWeapon.nameOfWeapon);
  389. players[0].knownWeapons[Player.getLogicalSizeWeapon(players[0].knownWeapons)] = players[i].respondedWeapon;
  390. break;
  391. case 2:
  392. System.out.println("Player " + i + " has " + players[i].respondedRoom.nameOfRoom);
  393. players[0].knownRooms[Player.getLogicalSizeRoom(players[0].knownRooms)] = players[i].respondedRoom;
  394. break;
  395. }
  396. break;
  397. }
  398.  
  399. else if(players[i].haveSuspect) //automatically responds if player i only has one known card
  400. {
  401. System.out.println("Player " + i + " has " + players[i].respondedSuspect.nameOfChar);
  402. players[0].knownSuspects[Player.getLogicalSizeSuspect(players[0].knownSuspects)] = players[i].respondedSuspect;
  403. break;
  404. }
  405. else if(players[i].haveWeapon) //automatically responds if player i only has one known card
  406. {
  407.  
  408. System.out.println("Player " + i + " has " + players[i].respondedWeapon.nameOfWeapon);
  409. players[0].knownWeapons[Player.getLogicalSizeWeapon(players[0].knownWeapons)] = players[i].respondedWeapon;
  410. break;
  411. }
  412. else if(players[i].haveRoom) //automatically responds if player i only has one known card
  413. {
  414. System.out.println("Player " + i + " has " + players[i].respondedRoom.nameOfRoom);
  415. players[0].knownRooms[Player.getLogicalSizeRoom(players[0].knownRooms)] = players[i].respondedRoom;
  416. break;
  417. }
  418. else //if player i has nothing, prints and moves onto the next player
  419. {
  420. System.out.println("Player " + i + " does not have any of the suggested cards");
  421. break;
  422. }
  423. }
  424. }
  425.  
  426. //prints each players Cards after the suggestion has been made
  427. System.out.println(" ");
  428. System.out.println("<< CURRENT CARDS FOR EACH PLAYER >>");
  429. System.out.println(" ");
  430.  
  431. for(int i = 0; i < numPlayers; i++)
  432. {
  433. System.out.println("<< PLAYER " + i + " >>");
  434. System.out.println("\tSuspect Cards: ");
  435. for(int j = 0; j < Player.getLogicalSizeSuspect(players[i].knownSuspects); j++) //uses the logical size of the array find and print the knownSuspects
  436. {
  437. System.out.print("\t\t"+ players[i].knownSuspects[j].nameOfChar + ", ");
  438. System.out.println("");
  439. }
  440. System.out.println("\tWeapon Cards: ");
  441. for(int j = 0; j < Player.getLogicalSizeWeapon(players[i].knownWeapons); j++) //uses the logical size of the array find and print the knownWeapons
  442. {
  443. System.out.print("\t\t"+ players[i].knownWeapons[j].nameOfWeapon + ", ");
  444. System.out.println("");
  445. }
  446. System.out.println("\tRoom Cards: ");
  447. for(int j = 0; j < Player.getLogicalSizeRoom(players[i].knownRooms); j++) ////uses the logical size of the array find and print the knownRooms
  448. {
  449. System.out.print("\t\t"+ players[i].knownRooms[j].nameOfRoom + ", ");
  450. System.out.println("");
  451. }
  452. System.out.println(" ");
  453.  
  454. }
  455.  
  456. System.out.println("Player 0 will now accuse...");
  457. System.out.println("Please enter an integer to select a suspect to accuse");
  458. printSuspectsMenu();
  459.  
  460. int selectionVarA = 0;
  461. selectionVarA = checkValidityForScanner(1, 6, selectionVarA);
  462.  
  463. //instantiates new Suspect, Weapon, and Room objects for the accusation
  464. Suspect accusedSuspect = new Suspect();
  465. Weapon accusedWeapon = new Weapon();
  466. Room accusedRoom = new Room();
  467.  
  468. switch(selectionVarA) //uses a menu format so user can select what Suspect to accuse
  469. {
  470. case 1:
  471. accusedSuspect = suspects[0];
  472. break;
  473. case 2:
  474. accusedSuspect = suspects[1];
  475. break;
  476. case 3:
  477. accusedSuspect = suspects[2];
  478. break;
  479. case 4:
  480. accusedSuspect = suspects[3];
  481. break;
  482. case 5:
  483. accusedSuspect = suspects[4];
  484. break;
  485. case 6:
  486. accusedSuspect = guiltySuspect;
  487. break;
  488. }
  489.  
  490. System.out.println("Please enter an integer to select a weapon to accuse");
  491. printWeaponsMenu();
  492. int selectionVarB = 0;
  493. selectionVarB = checkValidityForScanner(1, 6, selectionVarB);
  494. switch(selectionVarB) //uses a menu format so user can select what Weapon to accuse
  495. {
  496. case 1:
  497. accusedWeapon = weapons[0];
  498. break;
  499. case 2:
  500. accusedWeapon = weapons[1];
  501. break;
  502. case 3:
  503. accusedWeapon = weapons[2];
  504. break;
  505. case 4:
  506. accusedWeapon = weapons[3];
  507. break;
  508. case 5:
  509. accusedWeapon = weapons[4];
  510. break;
  511. case 6:
  512. accusedWeapon = guiltyWeapon;
  513. System.out.println("Selected 6");
  514. break;
  515. }
  516.  
  517. System.out.println("Please enter an integer to select a room to accuse");
  518. printRoomsMenu();
  519.  
  520. int selectionVarC = 0;
  521. selectionVarC = checkValidityForScanner(1, 9, selectionVarC);
  522. switch(selectionVarC) //uses a menu format so user can select what Room to accuse
  523. {
  524. case 1:
  525. accusedRoom = rooms[0];
  526. break;
  527. case 2:
  528. accusedRoom = rooms[1];
  529. break;
  530. case 3:
  531. accusedRoom = rooms[2];
  532. break;
  533. case 4:
  534. accusedRoom = rooms[3];
  535. break;
  536. case 5:
  537. accusedRoom = rooms[4];
  538. break;
  539. case 6:
  540. accusedRoom = rooms[5];
  541. break;
  542. case 7:
  543. accusedRoom = rooms[6];
  544. break;
  545. case 8:
  546. accusedRoom = rooms[7];
  547. break;
  548. case 9:
  549. accusedRoom = guiltyRoom;
  550. break;
  551. }
  552. players[0].accuse(accusedSuspect, accusedWeapon, accusedRoom);
  553.  
  554. System.out.println("Player 0 accused: " + accusedSuspect.nameOfChar + " with the " + accusedWeapon.nameOfWeapon + " in the " + accusedRoom.nameOfRoom);
  555. if(accusedSuspect == guiltySuspect && accusedWeapon == guiltyWeapon && accusedRoom == guiltyRoom)
  556. //checks equivalence of accused cards and guilty cards to determine if the player has won or lost
  557. {
  558. System.out.println("<<< Congratulations! Player 0 has won Clue! >>>");
  559. }
  560. else
  561. {
  562. System.out.println("Sorry, Player 0's accusation was incorrect");
  563. System.out.println("The correct answer was: " + guiltySuspect.nameOfChar + " with the " + guiltyWeapon.nameOfWeapon + " in the " + guiltyRoom.nameOfRoom);
  564. System.out.println("<<< GAME OVER >>>");
  565. }
  566.  
  567. }
  568.  
  569. public static int checkValidityForScanner(int lowerBound, int upperBound, int unknown)
  570. {
  571. Scanner kbReader = new Scanner(System.in);
  572. while(!kbReader.hasNextInt() ) //checks to see if input is a number
  573. {
  574. kbReader.next();
  575. System.out.println("Invalid: Please enter a number between " + lowerBound + "-" + upperBound);
  576. }
  577. unknown = kbReader.nextInt();
  578. //NOTE: we did not have enough time to perfect this method, it works most of the time but throws an error
  579. //if you enter an out of bounds input and then a NaN input immediately after
  580. while(unknown > upperBound || unknown < lowerBound) //checks to see if input is out of bounds
  581. {
  582. System.out.println("Invalid: Please enter a number between " + lowerBound + "-" + upperBound);
  583. unknown = kbReader.nextInt();
  584. }
  585. return unknown;
  586. }
  587.  
  588.  
  589. public static void printSuspectsMenu()
  590. {
  591. System.out.println("SUSPECTS");
  592. System.out.println("1. Professor Plum");
  593. System.out.println("2. Mr. John Green");
  594. System.out.println("3. Mrs. Peacock");
  595. System.out.println("4. Miss Scarlet");
  596. System.out.println("5. Mrs. White");
  597. System.out.println("6. Colonel Mustard");
  598. }
  599. public static void printWeaponsMenu()
  600. {
  601. System.out.println("WEAPONS");
  602. System.out.println("1. candlestick");
  603. System.out.println("2. pistol");
  604. System.out.println("3. knife");
  605. System.out.println("4. wrench");
  606. System.out.println("5. rope");
  607. System.out.println("6. lead pipe");
  608. }
  609. public static void printRoomsMenu()
  610. {
  611. System.out.println("ROOMS");
  612. System.out.println("1. Billiard Room");
  613. System.out.println("2. Lounge");
  614. System.out.println("3. Dining Room");
  615. System.out.println("4. Library");
  616. System.out.println("5. Conservatory");
  617. System.out.println("6. Kitchen");
  618. System.out.println("7. Ballroom");
  619. System.out.println("8. Study");
  620. System.out.println("9. Hall");
  621. }
  622.  
  623. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement