中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android如何實現簡易版打地鼠

發布時間:2020-08-01 09:39:25 來源:億速云 閱讀:159 作者:小豬 欄目:移動開發

這篇文章主要為大家展示了Android如何實現簡易版打地鼠,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

目標效果:

Android如何實現簡易版打地鼠

1.activity_main.xml頁面:

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 tools:context="com.example.weixu.eclipsemole.MainActivity">
 
 <LinearLayout
 android:orientation="horizontal"
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1">
 <ImageView
 android:id="@+id/ivZeroZero"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivZeroOne"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivZeroTwo"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivZeroThree"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 
 
 </LinearLayout>
 <LinearLayout
 android:orientation="horizontal"
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1">
 <ImageView
 android:id="@+id/ivOneZero"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivOneOne"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivOneTwo"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivOneThree"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 
 
 </LinearLayout>
 <LinearLayout
 android:orientation="horizontal"
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1">
 <ImageView
 android:id="@+id/ivTwoZero"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivTwoOne"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivTwoTwo"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivTwoThree"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 
 
 </LinearLayout>
 <LinearLayout
 android:orientation="horizontal"
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1">
 <ImageView
 android:id="@+id/ivThreeZero"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivThreeOne"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivThreeTwo"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 <ImageView
 android:id="@+id/ivThreeThree"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:onClick="whackAMole"
 android:clickable="false"
 android:background="@drawable/emptyhole"
 android:layout_height="match_parent" />
 
 
 </LinearLayout>
 
 <LinearLayout
 android:orientation="horizontal"
 android:layout_width="match_parent"
 android:layout_height="60dp">
 <Button
 android:id="@+id/btStartWhackAMole"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:layout_height="match_parent"
 android:onClick="btnClick"
 android:text="開始"/>
 <TextView
 android:id="@+id/tvWhackAMoleScore"
 android:gravity="center"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:layout_height="match_parent"
 android:text="分數"/>
 <Button
 android:id="@+id/btStopWhackAMole"
 android:layout_width="0dp"
 android:layout_weight="1"
 android:layout_height="match_parent"
 android:onClick="btnClick"
 android:text="結束"/>
 </LinearLayout>
 
</LinearLayout>

2.MainActivity.java頁面;

package com.example.weixu.eclipsemole;
 
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends AppCompatActivity {
 
 private ImageView[][] view=new ImageView[4][4];
 private Button btStartWhackAMole,btStopWhackAMole;
 private TextView tvWhackAMoleScore;
 
 private int time_s=1000; //難度的時間
 private int time=time_s; //地鼠出來時間
 private int score=0; //成績,打地鼠個數
 private int num=0; //地鼠出來個數
 private int temp_i=0,temp_j=0; //記錄上一次出現的地鼠在數組view中的下標
 private int flag=1; //默認為停止狀態,0開始,1結束,2運行
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 init();
 }
 
 private void init() {
 view[0][0]= (ImageView) findViewById(R.id.ivZeroZero);
 view[0][1]= (ImageView) findViewById(R.id.ivZeroOne);
 view[0][2]= (ImageView) findViewById(R.id.ivZeroTwo);
 view[0][3]= (ImageView) findViewById(R.id.ivZeroThree);
 view[1][0]= (ImageView) findViewById(R.id.ivOneZero);
 view[1][1]= (ImageView) findViewById(R.id.ivOneOne);
 view[1][2]= (ImageView) findViewById(R.id.ivOneTwo);
 view[1][3]= (ImageView) findViewById(R.id.ivOneThree);
 view[2][0]= (ImageView) findViewById(R.id.ivTwoZero);
 view[2][1]= (ImageView) findViewById(R.id.ivTwoOne);
 view[2][2]= (ImageView) findViewById(R.id.ivTwoTwo);
 view[2][3]= (ImageView) findViewById(R.id.ivTwoThree);
 view[3][0]= (ImageView) findViewById(R.id.ivThreeZero);
 view[3][1]= (ImageView) findViewById(R.id.ivThreeOne);
 view[3][2]= (ImageView) findViewById(R.id.ivThreeTwo);
 view[3][3]= (ImageView) findViewById(R.id.ivThreeThree);
 btStartWhackAMole= (Button) findViewById(R.id.btStartWhackAMole);
 btStopWhackAMole= (Button) findViewById(R.id.btStopWhackAMole);
 tvWhackAMoleScore= (TextView) findViewById(R.id.tvWhackAMoleScore);
 btStartWhackAMole.setClickable(true);
 btStopWhackAMole.setClickable(false);
 }
 
 public void whackAMole(View view){
 view.setBackgroundResource(R.drawable.hit);
 view.setClickable(false);
 score++;
 time=time_s-score*10;
 tvWhackAMoleScore.setText("分數:"+score);
 }
 public void btnClick(View view){
 switch (view.getId()){
 case R.id.btStartWhackAMole:
 btStartWhackAMole.setClickable(false);
 btStopWhackAMole.setClickable(true);
 num=0;
 score=0;
 flag=0; //開始
 tvWhackAMoleScore.setText("分數:0");
 new MyAsyncTask().execute();
 break;
 case R.id.btStopWhackAMole:
 btStartWhackAMole.setClickable(true);
 btStopWhackAMole.setClickable(false);
 score=0;
 flag=1; //停止
 new MyAsyncTask().execute();
 break;
 }
 }
 class MyAsyncTask extends AsyncTask<String,Integer,String>{
 
 @Override
 protected String doInBackground(String... strings) {
 //進入運行狀態
 while(flag!=1){
 flag=2;
 double r=Math.random();
 int i=((int)(r*10))%4;
 r=Math.random();
 int j=((int)(r*10))%4;
 try {
 Thread.sleep(time);
 }catch (InterruptedException e){
 e.printStackTrace();;
 }
 publishProgress(i,j);
 }
 return null;
 }
 
 @Override
 protected void onProgressUpdate(Integer... values) { //主線程
 if(flag==0){ //開始
 view[values[0]][values[1]].setBackgroundResource(R.drawable.emptyhole);
 }else if(flag==2){ //運行
 view[temp_i][temp_j].setBackgroundResource(R.drawable.emptyhole);
 view[temp_i][temp_j].setClickable(false); //上一次出現的設置為不能點擊
 view[values[0]][values[1]].setBackgroundResource(R.drawable.show6);
 view[values[0]][values[1]].setClickable(true);
 num++;
 if((num-score)==5){
 flag=1;
 btStartWhackAMole.setClickable(true);
 Toast.makeText(MainActivity.this,"游戲結束",Toast.LENGTH_SHORT).show();
 }
 temp_i=values[0];
 temp_j=values[1];
 }else if(flag==1){
 view[values[0]][values[1]].setBackgroundResource(R.drawable.emptyhole);
 view[values[0]][values[1]].setClickable(false);
 }
 }
 }
}

是將四行四列的ImageView定義為一個二維數組,然后生成隨機坐標進行改變圖片。

以上就是關于Android如何實現簡易版打地鼠的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

同心县| 东至县| 宁蒗| 眉山市| 塘沽区| 枣阳市| 巴青县| 大渡口区| 政和县| 永仁县| 五河县| 临西县| 北海市| 平和县| 独山县| 聂拉木县| 富川| 商丘市| 昌宁县| 基隆市| 图木舒克市| 读书| 定州市| 鄂尔多斯市| 枣强县| 楚雄市| 藁城市| 扎赉特旗| 双江| 河源市| 延吉市| 邻水| 新宁县| 洞口县| 武平县| 彝良县| 新昌县| 阜康市| 芜湖县| 武鸣县| 秀山|