/** * Metodo che viene eseguito non appena viene rilevato un cambiamento nello stato del subject * osservato. */ @Override public void update() { switch (p.getEvent()) { case FOE_MOVED: receiveMove(); break; case MATCH_STARTED: setGame(p.getGame()); break; } state = p.getEvent(); sendNotification(); }
/** Consente di ricevere la mossa effettuata dall'avversario nella partita corrente. */ public void receiveMove() { int m = p.getFoeSelectedMove(); grid[m / Game.GRID_DIMENSION][m % Game.GRID_DIMENSION] = Game.P2_CELL; }
/** * Consente a un player di registrarsi presso il server. Il nickname deve essere univoco nel * sistema fino alla deregistrazione del player. * * @param nickname nome con cui registrarsi. * @return true se la registrazione e' andata a buon fine, false altrimenti * @throws RemoteException */ public boolean registerPlayer(String nickname) throws RemoteException { p = new PlayerImpl(); p.setName(nickname); p.add(this); // mi aggiungo come osservatore di p return server.register(p, nickname); }