/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
package nim;
public class Nim {
private static int [] _piles;
return "Pile 0 has: " + getPile(0) + " bricks left. | Pile 1 has: " + getPile(1) + " bricks left | Pile 2 has: " + getPile(2) + " bricks left.";
}
//Sette antall brikker
public Nim(){
_piles = new int [3];
_piles[0] = 10;
_piles[1] = 10;
_piles[2] = 10;
}
public Nim(int pileSize){
_piles = new int [3];
_piles[0] = pileSize;
_piles[1] = pileSize;
_piles[2] = pileSize;
}
public static boolean isValidPile(int pile){
if ((pile!=0||pile!=1||pile!=2)){
return false;
}else
return true;
}
void removePieces(int number, int targetPile){
if (!(isValidMove(number,targetPile))){
}else{
_piles[targetPile] -= number;
}
}
boolean isValidMove(int number, int targetPile){
if ((number >= 1) && (!isValidPile(targetPile))){
return true;
}else{
throw new IllegalArgumentException("Number has to be 1 or higher or target pile was not viable: num = " + number
+ "targetPile = " + targetPile
); }
}
static boolean isGameOver(){
for(int i=0; i < 3; i++){
if (getPile(i) != 0){
return false;
}
}
return true;
}
static int getPile(int targetPile){
if (isValidPile(targetPile)){
}else{
return _piles[targetPile];
}
}
}
}
}
package nim;
import java.util.Scanner;
public class NimProgram extends Nim {
private Nim nim;
public static void main
(String[] args
){
/deklarer variabler*/
int targetPile = 0;/hvilken haug å velge/
int number = 0;/** hvor mange brikker å fjerne/
Scanner input = new Scanner(System.in);
Nim game = new Nim();
while (!isGameOver()){
System.out.println(game.toString());
System.out.print("Choose the pile you would like yo remove from(0,1,2): ");
targetPile = input.nextInt();
System.out.print("Choose the amount you would like to remove: ");
number = input.nextInt();
game.removePieces(number, targetPile);
}
}
}