마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

랜덤으로 이미지 변경(두더지게임)

0 추천

두더지 게임을 만들고있습니다.

그런데 3x3으로 9개의 이미지가 있으면 9개중에 하나가 랜덤으로 뒤집어졌다가 다시 뒤집혀야 하는 부분을 구현해야 하는데 여기서 막히고 있습니다..

핸들러 이용해서 해보려고 하는데 반응이 없네요 어디를 수정해야 할까요 ㅜ

package com.example.doodege;

import java.util.Random;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageButton;
import android.widget.TextView;

 public class GameActivity extends MainActivity {
  int value = 60;
  
  Handler Ttimer = new Handler();
  Handler Ctimer = new Handler();
  Handler Btimer = new Handler();
  
  boolean bool1 = false;
  boolean bool2 = false;
  boolean bool3 = false;
  boolean bool4 = false;
  boolean bool5 = false;
  boolean bool6 = false;
  boolean bool7 = false;
  boolean bool8 = false;
  boolean bool9 = false;
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_game);
  
  
  Random ran = new Random();
  int x = ran.nextInt(5000);
  int y = ran.nextInt(9);

  final ImageButton doo1 =(ImageButton)findViewById(R.id.ImageButton1);
  final ImageButton doo2 =(ImageButton)findViewById(R.id.ImageButton2);
  final ImageButton doo3 =(ImageButton)findViewById(R.id.ImageButton3);
  final ImageButton doo4 =(ImageButton)findViewById(R.id.ImageButton4);
  final ImageButton doo5 =(ImageButton)findViewById(R.id.ImageButton5);
  final ImageButton doo6 =(ImageButton)findViewById(R.id.ImageButton6);
  final ImageButton doo7 =(ImageButton)findViewById(R.id.ImageButton7);
  final ImageButton doo8 =(ImageButton)findViewById(R.id.ImageButton8);
  final ImageButton doo9 =(ImageButton)findViewById(R.id.ImageButton9);
  
  final TextView time = (TextView)findViewById(R.id.Time);
  
  if(start==true){
  /*Ctimer.postDelayed(new Runnable(){
   public void run(){
    doo1.setImageResource(R.drawable.doodegi);
   }
   }, x);*/
  
  Ctimer = new Handler(){
   public void handleMessage(Message msg){
    if(bool1=false)
    bool1 = true;
    doo1.setImageResource(R.drawable.doodegi);
    Ctimer.sendEmptyMessageDelayed(0, 3000);
   }
  };
  Ctimer.sendEmptyMessage(0);
  
  Btimer = new Handler(){
   public void handleMessage(Message msg){
    if(bool1 == true)
     bool1 = false;
    doo1.setImageResource(R.drawable.cardback);
    Btimer.sendEmptyMessageDelayed(0, 3000);
   }
  };
  Btimer.sendEmptyMessage(0);
  
   Ttimer = new Handler(){
   public void handleMessage(Message msg){
    value--;
    time.setText("시간: "+ value);
    Ttimer.sendEmptyMessageDelayed(0, 1000);
    if(value == 0){
     finish();
    }
   }
  };
  Ttimer.sendEmptyMessage(0);
 
 }
 }
}

 

취미 (890 포인트) 님이 2014년 5월 6일 질문
start 선언 초기화는 어디에 있어용?
그리고 반응이없다는 건 초기화면 그대로 쭉~ 아무 움직임이 없다는 건가요?

로그를 찍어서 절차를 한단계씩 체크해보세요 '-'
각각의 핸들러가 제대로 실행되는지

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...