Как проверить, завершена ли головоломка или нет?

Я готовлю одну маленькую игру, такую как головоломка, для этого я использую 9 изображений с 9 различными изображениями в макете. установите изображения для просмотра изображений во время запуска, это фактические изображения, после того, как пользователь shuffle выполнит скольжение изображений для завершения головоломки, я хочу проверить измененное изображение с фактическим изображением, оно равно или нет, если они равны, всплывающее сообщение , как геймплей.

я пытался так

1. используя оператор AND между изображениями (Drawables), но не повезло.

2. Используя setLevel () для изображений, сравните эти значения setLevel со значениями getLevel для изображений после скольжения. Не повезло ... здесь проблема в том, если я нажимаю один раз на imageview, getLevel () дает правильное значение, если я нажимаю более одного раза дает нулевое значение. Почему так происходит ..

Пожалуйста, помогите мне, если вы обнаружите какую-либо ошибку в моем коде, иначе направьте меня с хорошей техникой ..

Xml code like this
<RelativeLayout
   //9 imageview's  

в коде jave, как это, если пользователь нажмет на изображение, он поменяет изображение

 img_View11.setOnClickListener(new View.OnClickListener()  {            
    public void onClick(View v)  { 

        if(img_View21.getDrawable() == default_img || 
                                    img_View12.getDrawable() == default_img) {

            System.out.println("yes");
            ++click;
            Noof_moves.setText("Moves: " +click);
            ImageView iv = (ImageView)v;                 
            d11 = iv.getDrawable();   
            prev_img = prev_imgView.getDrawable();

            la11 = d11.getLevel();
            System.out.println("d11 value is " +la11);                  

            prev_imgView.setImageDrawable(d11);                 

            img_View11.setImageDrawable(prev_img);                
            prev_imgView = img_View11;

            check();
            }
        else { System.out.println("no");  }
        }
    });

void check(){

    System.out.println("in checking condition");
    if((lb11==la11) && (lb12==la12) && (lb13==la13) && (lb21==la21) && (lb22==la22)
        && (lb23==la23) && (lb31==la31) && (lb32==la32) && (lb33==la33)) {
            Context c = getBaseContext();
            System.out.println("gameover");
            Toast.makeText(c, " GameOver ", Toast.LENGTH_SHORT).show();
    }else{ System.out.println(" codition not checked "); }
} 
//here lb=level before sliding
//     la=level after sliding..

Ответы на вопрос(4)

Ваш ответ на вопрос