public boolean play( int i, int j, int val ){
        if( values[i][j] != 0 ) return false;
        boolean flag1 = l_play(i, j, val);
        boolean flag2 = u_play(i, j, val);
        boolean flag3 = r_play(i, j, val);
        boolean flag4 = d_play(i, j, val);
        boolean flag5 = lu_play(i, j, val);
        boolean flag6 = ld_play(i, j, val);
        boolean flag7 = ru_play(i, j, val);
        boolean flag8 = rd_play(i, j, val);
        boolean flag = flag1 || flag2 || flag3 || flag4 || flag5 || flag6 || flag7 || flag8;
        if( flag ){
            values[i][j] = val;
        }
        return flag;
    }