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