Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.dvorkin;
- import java.util.Random;
- public class NimModel {
- private int[] piles;
- private boolean move;
- public NimModel() {
- move = true;
- Random random = new Random();
- piles = new int[5];
- for (int i = 0; i < piles.length; i++) {
- piles[i] = random.nextInt(10) + 1;
- }
- }
- public int[] getField() {
- return piles.clone();
- }
- /**
- * @return true if first player is to move
- */
- public boolean whoMoves() {
- return move;
- }
- public boolean isOver() {
- for (int i : piles) {
- if (i != 0) {
- return false;
- }
- }
- return true;
- }
- public boolean update(int index, int amount) {
- if (index < 0 || index >= piles.length) {
- return false;
- }
- if (amount <= 0 || amount > piles[index]) {
- return false;
- }
- piles[index] -= amount;
- move ^= true;
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement