Я готовлю одну маленькую игру, такую как головоломка, для этого я использую 9 изображений с 9 различными изображениями в макете.установите изображения для просмотра изображений во время запуска, это фактические изображения, после того, как пользователь shuffle выполнит скольжение изображений для завершения головоломки, я хочу проверить измененное изображение с фактическим изображением, оно равно или нет, если они равны, всплывающее сообщение, как геймплей.
я пробовал вот так
1.по использованию оператора AND между изображениями (Drawables), но не повезло.
2.Использование setLevel () для изображений, сравните те setLevelзначения со значениями getLevel для изображений после скольжения все еще Не повезло .. здесь проблема в том, что если я нажимаю один раз на просмотр изображений, то 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..