package com.example.day02; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.os.CountDownTimer; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; public class day_02 extends AppCompatActivity implements View.OnClickListener{ private TextView z1,z2; private EditText z3; private Button k1,k2; private boolean flage = true; private int count = 0; //分数统计 private ImageView[] imgs = new ImageView[12]; private int[] imgIds= {R.id.d1,R.id.d2,R.id.d3,R.id.d4,R.id.d5,R.id.d6,R.id.d7, R.id.d8,R.id.d9,R.id.d10,R.id.d11,R.id.d12,}; // 原来的洞的位置 private int oldIndex = (int) (Math.random()*12); // 新的洞的位置 private int newIndex = (int) (Math.random()*12); Handler handler = new Handler(){ @Override public void handleMessage(@NonNull Message msg) { imgs[oldIndex].setBackgroundResource(R.drawable.yinhe); // 随机数的范围:0~15 (目的:地鼠下一次出现的位置) newIndex = (int) (Math.random()*12); imgs[newIndex].setBackgroundResource(R.drawable.dishu); oldIndex = newIndex; } }; Runnable runnable = new Runnable() { @Override public void run() { while (flage){ try { Thread.sleep(1000); Message message = Message.obtain(); handler.sendMessage(message); } catch (InterruptedException e) { e.printStackTrace(); } } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.day02); init(); for (int i=0;i<imgs.length;i++){ imgs[i].setOnClickListener(this); } k1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { flage=true; new day_02.yoo(10*1000,1000).start(); Thread thread = new Thread(runnable); thread.start(); } }); k2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { flage=true; new day_02.yoo(10*1000,1000).start(); Thread thread = new Thread(runnable); thread.start(); } }); } public void init(){ z3 = findViewById(R.id.z3); z2 = findViewById(R.id.z2); k2 = findViewById(R.id.k2); k1 = findViewById(R.id.k1); for (int i=0;i<12;i++){ imgs[i] = this.findViewById(imgIds[i]); } } @Override public void onClick(View v) { switch (v.getId()){ case R.id.k1: // 游戏时间如果不想固定,可以自定义 // long time = Long.parseLong(ed_time.getText().toString())*1000; new yoo(10*1000,1000).start(); flage = true; Thread thread1 = new Thread(runnable); thread1.start(); break; case R.id.k2: flage = true; new yoo(10*1000,1000).start(); Thread thread2 = new Thread(runnable); thread2.start(); // 分数为0 count = 0; break; default: if (imgs[oldIndex].getId() == v.getId()){ count++; z2.setText(""+count); } } } private class yoo extends CountDownTimer { public yoo(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onTick(long l) { long h = (l/1000/60/60); long m = l/1000%3600/60; long s = l/1000%3600%60; z3.setText("倒计时:"+h+":"+m+":"+s); } @Override public void onFinish() { flage = false; z3.setText("结束"); } } }
打地鼠案例
最新推荐文章于 2023-02-16 15:02:27 发布