1 // START LICENSE 2 // JSet - a Java JSet card board game implementation 3 // Copyright (C) 2004 Jerome Lacoste 4 // 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 2 of the License, or (at 8 // your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful, but 11 // WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 // General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with this program; if not, write to the Free Software 17 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 // END LICENSE 19 20 package org.cb.jset.client; 21 22 import org.cb.jset.CardSet; 23 import org.cb.jset.MatchingException; 24 import org.cb.jset.SetGameBoardListener; 25 26 /*** 27 * Interface to a game seen from a client. 28 * <p> 29 * In the design of the game, this interface effectively hides the locality 30 * (game can be local or remote) and the {@link org.cb.jset.SetGameConnection} artifacts, used to 31 * identify clients moves. 32 * 33 * @author jerome@coffeebreaks.org - last modified by $LastChangedBy: jerome $ 34 * @version $Id: SetGame.java 122 2004-04-14 23:29:10Z jerome $ 35 */ 36 public interface SetGame 37 { 38 void start(); 39 void stop(); 40 void endTurn(); 41 void removeSet(CardSet set) throws MatchingException; 42 // void addPlayersListener(PlayersListenerIF) 43 // void removePlayersListener(PlayersListenerIF) 44 void addBoardListener(SetGameBoardListener listener); 45 void removeBoardListener(SetGameBoardListener listener); 46 // void addScoreListener(ScoreListenerIF listener); 47 // void removeScoreListener(ScoreListenerIF listener); 48 void addGameListener(SetGameListener listener); 49 void removeGameListener(SetGameListener listener); 50 }