2 * Quoridor server and related libraries
3 * Copyright (C) 2009-2010 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. Look for COPYING file in the top folder.
16 * If not, see http://www.gnu.org/licenses/.
19 package cz.xelfi.quoridor.webidor;
21 import cz.xelfi.quoridor.Board;
23 /** Possible states of the game.
25 * @author Jaroslav Tulach <jtulach@netbeans.org>
27 public enum GameStatus {
34 /** Creates appropriate status of the game based on the state
37 * @param board the board
38 * @return status describing the situation on the board
40 public static GameStatus valueOf(Board board) {
41 if (board.getWinner() != null) {
42 return board.getWinner() == board.getPlayers().get(0) ? GameStatus.whiteWon : GameStatus.blackWon;
44 return board.getCurrentPlayer() == board.getPlayers().get(0) ? GameStatus.whiteMove : GameStatus.blackMove;
48 /** @return true if the game is in progress
50 public boolean isInProgress() {
51 return this == whiteMove || this == blackMove;