public void update()
	{
		switch (Controler.getState())
		{
			case Controler.INIT :
				for(String s : Controler.getJoueurs()){ gamers.add(new Gamer(s)); }
				board.update();
				gamers.getData().getRack().update();
				Controler.setCurrentPlayer(gamers.getData().getNom());
				Controler.setOk();
			break;
			case Controler.PLAY : 
				board.update();
				gamers.getData().getRack().update();
				Controler.setCurrentPlayer(gamers.getData().getNom());
				Controler.setTilesleft(BagLetter.tilesLeft());
			break;
			case Controler.PLAY_PUT_TILE :
				Tile t = gamers.getData().getRack().getTile(Controler.getTileChar());
				if(board.putTile(Controler.getTileX(), Controler.getTileY(), t) == false)
				{ gamers.getData().getRack().addTileToRack(t); }
				board.update();
				gamers.getData().getRack().update();
				Controler.setOk();
			break;
			case Controler.PLAY_END_TURN :
				ArrayList<Tile> tempRack = new ArrayList<Tile>();
				gamers.getData().addToScore(board.endTurn(tempRack));
				if(tempRack.size() == 0)
				{
					gamers.getData().getRack().addTileToRack(BagLetter.drawLetters(gamers.getData().getRack().nombreTileToReDraw()));
					Controler.setPreviousPlayerScore(gamers.getData().getScore());
					Controler.setPreviousPlayer(gamers.getData().getNom());
					gamers = gamers.getNext();
					gamers.getData().getRack().update();
				}
				else
				{
					gamers.getData().getRack().addTileToRack(tempRack);
					tempRack = null;
				}
				board.update();
				gamers.getData().getRack().update();
				Controler.setCurrentPlayer(gamers.getData().getNom());
				Controler.setTilesleft(BagLetter.tilesLeft());

				Controler.setOk();
			break;
			case Controler.PLAY_PASS :
				Controler.setPreviousPlayerScore(gamers.getData().getScore());
				Controler.setPreviousPlayer(gamers.getData().getNom());
				gamers = gamers.getNext();
				gamers.getData().getRack().update();
				board.update();
				Controler.setCurrentPlayer(gamers.getData().getNom());
				Controler.setTilesleft(BagLetter.tilesLeft());
				Controler.setOk();
			break;
			 case Controler.PLAY_ABORT :

				 ArrayList<Tile> tempRack1 = new ArrayList<Tile>();
				 board.removeTempTiles(tempRack1);
				 gamers.getData().getRack().addTileToRack(tempRack1);
				 Controler.setOk();

				 break;


		}
	}