Revision: 31128
Updated Code
at August 30, 2010 16:27 by Sverri
Updated Code
import java.util.Random; import java.util.Scanner; public class Nim { public static int total; public static Random generator = new Random(); public static void main(String args[]) { // Yada yada yada... System.out.println("This is the game of matches. As long as there are mathes left we alternate"); System.out.println("between taking 1, 2 or 3 matches from the table. The one who takes the last"); System.out.println("match looses. First, however, we need to know how many matches we will play with.\n"); System.out.print("Please enter a number from 25 to 100: "); // Get answer Scanner input = new Scanner(System.in); int num = input.nextInt(); total = (num<25||num>100) ? 25 : num; // And boom goes the dynamite... System.out.println("\nOkay. You may start.\n"); do { System.out.print("Your turn: "); int response = input.nextInt(); if (response < 1 || response > 3) System.out.print("Not valid. You may only pick 1, 2 or 3 matches!\n"); else { total -= response; System.out.println("\nMatches left: " + total); } myTurn(); } while (total > 1); if (total == 1) System.out.println("Oh oh, you have to take the last match!. You loose, muhahaha."); else System.out.println("PC lost..."); } public static void myTurn() { int take; // Nim algorithm goes here... // ... // No algorithm... take = generator.nextInt(3) + 1; // Subtract taken matches total -= take; // Report back System.out.println("PC's turn: " + take + "\n"); System.out.println("Total matches: " + total); } }
Revision: 31127
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 30, 2010 16:25 by Sverri
Initial Code
import java.util.Random; import java.util.Scanner; public class Matches { public static int total; public static Random generator = new Random(); public static void main(String args[]) { // Yada yada yada... System.out.println("This is the game of matches. As long as there are mathes left we alternate"); System.out.println("between taking 1, 2 or 3 matches from the table. The one who takes the last"); System.out.println("match looses. First, however, we need to know how many matches we will play with.\n"); System.out.print("Please enter a number from 25 to 100: "); // Get answer Scanner input = new Scanner(System.in); int num = input.nextInt(); total = (num<25||num>100) ? 25 : num; // And boom goes the dynamite... System.out.println("\nOkay. You may start.\n"); do { System.out.print("Your turn: "); int response = input.nextInt(); if (response < 1 || response > 3) System.out.print("Not valid. You may only pick 1, 2 or 3 matches!\n"); else { total -= response; System.out.println("\nMatches left: " + total); } myTurn(); } while (total > 1); if (total == 1) System.out.println("Oh oh, you have to take the last match!. You loose, muhahaha."); else System.out.println("PC lost..."); } public static void myTurn() { int take; // Nim algorithm goes here... // ... // No algorithm... take = generator.nextInt(3) + 1; // Subtract taken matches total -= take; // Report back System.out.println("PC's turn: " + take + "\n"); System.out.println("Total matches: " + total); } }
Initial URL
Initial Description
nim
Initial Title
Nim (play against PC, without winning algorithm)
Initial Tags
Initial Language
Java