Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Nim {
- public static boolean isValidEntry(int amountOfStones, int userInput) {
- return userInput <= 3 && amountOfStones <= amountOfStones;
- }
- public static int drawStones() {
- int computerMove = (int) (3 * Math.random() + 1);
- return computerMove;
- }
- public static int humansTurn(int amountOfStones, Scanner input) {
- int userInput;
- do {
- System.out.print("\tThere are " + amountOfStones + " Stones. How many would you like?: ");
- userInput = Integer.parseInt(input.nextLine());
- } while (!isValidEntry(amountOfStones, userInput) && userInput != 0);
- amountOfStones -= userInput;
- System.out.println("\tThere are " + amountOfStones + " Stones Left.");
- if (amountOfStones == 1) {
- System.out.println("\tYou Win!");
- }
- return amountOfStones;
- }
- public static int computersTurn(int amountOfStones) {
- int newDraw = drawStones();
- int newDraw1 = drawStones();
- if (isValidEntry(amountOfStones, newDraw)) {
- System.out.println("\tThe computer takes " + newDraw + " Stones.");
- amountOfStones -= newDraw;
- System.out.println("\tThere are now " + +amountOfStones + " Stones.");
- } while (!isValidEntry(amountOfStones, newDraw));
- if (amountOfStones == 1) {
- System.out.println("\tComputer wins!");
- } else {
- newDraw1 = drawStones();
- } while (newDraw1 <= 3 && newDraw1 > amountOfStones) {
- }
- return amountOfStones;
- }
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- int bothTurns = (int) (16 * Math.random() + 15);
- do {
- bothTurns = humansTurn(bothTurns, input);
- bothTurns = computersTurn(bothTurns);
- } while (bothTurns != 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement