public boolean move (int direction, Client c) {
        // All moves are of one square, lets make sure
        // that the target square is fre
        if (c == null) return false;
        if (c.current == null) return false;
        Coordinate newLoc = null;
        switch (direction) {
            case Coordinate.NORTH:
                newLoc = new Coordinate(c.current.x+1, c.current.y);
                break;
            case Coordinate.EAST:
                newLoc = new Coordinate(c.current.x, c.current.y+1);
                break;
            case Coordinate.WEST:
                newLoc = new Coordinate(c.current.x, c.current.y-1);
                break;
            case Coordinate.SOUTH:
                newLoc = new Coordinate(c.current.x-1, c.current.y);
                break;
            default:
                break;
        }
        if (newLoc == null) return false;
        Coordinate placed = placePlayer(newLoc, c.current, c.uid, false);
        if (placed != null) {
            c.setLocation(placed);
            return true;
        }
        return false;
        
    }