色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

android實現(xiàn)打地鼠游戲

瀏覽:3日期:2022-09-24 16:37:42

今天上課老師用Java實現(xiàn)了打地鼠游戲的界面和具體邏輯,那么我也嘗試使用Android語言實現(xiàn)其功能。

首先是打地鼠游戲的玩法

1.每隔1秒或者0.5秒地鼠會出現(xiàn)在九宮格中的任一位置2.點擊界面,如果地鼠出現(xiàn)的位置與點擊位置相同,則認(rèn)為打中地鼠。否則游戲繼續(xù)。3.打中地鼠后,游戲立即停止。

先上兩張效果圖

android實現(xiàn)打地鼠游戲

android實現(xiàn)打地鼠游戲

布局實現(xiàn)

<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' > <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal' > <Button android:layout_width='0dp' android:layout_height='wrap_content' android:layout_weight='1' android:onClick='start' android:text='開始' /> <Button android:layout_width='0dp' android:layout_height='wrap_content' android:layout_weight='1' android:onClick='end' android:text='暫停' /> </LinearLayout> <TableLayout android:layout_width='match_parent' android:layout_height='0dp' android:layout_weight='1' > <TableRow android:layout_weight='1' > <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> </TableRow> <TableRow android:layout_weight='1' > <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> </TableRow> <TableRow android:layout_weight='1' > <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> <TextView android: android:layout_width='wrap_content' android:layout_height='match_parent' android:layout_margin='3dp' android:layout_weight='1' android:background='#d2b48c' android:gravity='center' /> </TableRow> </TableLayout></LinearLayout>

邏輯代碼

需要實現(xiàn)每隔1秒繪制一次界面,且得確定更新地鼠的位置(這里我用的handler來發(fā)送循環(huán)消息實現(xiàn)的)

ArrayList<TextView>texts;//用來存放九個TextViewHandler handler = new Handler(new Callback() { @Override public boolean handleMessage(Message msg) { number = (int) (Math.random() * 8); System.out.println(number); for (int i = 0; i < arrays.length; i++) { if (i==number) { texts.get(i).setText('地鼠'); }else { texts.get(i).setText(''); } } handler.sendEmptyMessageDelayed(0, 500); return false; } });

這里單獨寫一個TextView的點擊事件(一共九個),這里需要注意的是,我給每個textview都賦給了一個值a,從0-8,當(dāng)點擊的textview值 a=(地鼠出現(xiàn)的位置)時,我們就可以認(rèn)為打中了地鼠。

public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.text11: if (number==0) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; } }

最后貼上全部代碼。

package com.example.dadishu;import java.io.IOException;import java.util.ArrayList;import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.media.MediaPlayer;import android.os.Bundle;import android.os.Handler;import android.os.Handler.Callback;import android.os.Message;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { private int number; private TextView text11; private TextView text12; private TextView text13; private TextView text21; private TextView text22; private TextView text23; private TextView text31; private TextView text32; private TextView text33; private int[] arrays = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; ArrayList<TextView> texts; Handler handler = new Handler(new Callback() { @Override public boolean handleMessage(Message msg) { number = (int) (Math.random() * 8); System.out.println(number); for (int i = 0; i < arrays.length; i++) { if (i == number) { texts.get(i).setText('地鼠'); } else { texts.get(i).setText(''); } } handler.sendEmptyMessageDelayed(0, 500); return false; } }); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); text11 = (TextView) findViewById(R.id.text11); text12 = (TextView) findViewById(R.id.text12); text13 = (TextView) findViewById(R.id.text13); text21 = (TextView) findViewById(R.id.text21); text22 = (TextView) findViewById(R.id.text22); text23 = (TextView) findViewById(R.id.text23); text31 = (TextView) findViewById(R.id.text31); text32 = (TextView) findViewById(R.id.text32); text33 = (TextView) findViewById(R.id.text33); texts = new ArrayList<TextView>(); for (int i = 0; i < arrays.length; i++) { texts.add(text11); texts.add(text12); texts.add(text13); texts.add(text21); texts.add(text22); texts.add(text23); texts.add(text31); texts.add(text32); texts.add(text33); } for (TextView text : texts) { text.setOnClickListener(this); } } public void start(View v) { TimerTask task = new TimerTask() { @Override public void run() { handler.sendEmptyMessage(0); } }; Timer timer = new Timer(); timer.schedule(task, 500); } public void end(View v) { handler.removeMessages(0); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.text11: if (number == 0) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; case R.id.text12: if (number == 1) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; case R.id.text13: if (number == 2) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; case R.id.text21: if (number == 3) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; case R.id.text22: if (number == 4) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; case R.id.text23: if (number == 5) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; case R.id.text31: if (number == 6) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; case R.id.text32: if (number == 7) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; case R.id.text33: if (number == 8) { Toast.makeText(this, '打中地鼠了!。。。', 1).show(); handler.removeMessages(0); } break; default: break; } } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); player.release(); }}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 国产美女一区二区在线观看 | 国产精品国产三级在线高清观看 | 在线三级网址 | 欧美刺激午夜性久久久久久久 | 成人男女啪啪免费观看网站 | 永久免费看毛片 | 久久精品视频网站 | 国产一区曰韩二区欧美三区 | 91香蕉国产在线观看免费永久 | 日韩一级片视频 | 午夜免费福利网站 | 亚洲天堂伊人 | 99久久久精品免费观看国产 | 日韩精品免费一区二区三区 | 国产高清一区二区三区视频 | 欧美一级在线看 | 日本一级在线播放线观看免 | 国产精品免费观看视频 | 天堂一区二区三区在线观看 | 特黄aa级毛片免费视频播放 | 欧美一级v片 | 成人亚洲国产 | 亚洲理论片在线中文字幕 | 国产女主播91| 亚洲国产精品成人午夜在线观看 | 国产成人福利视频在线观看 | 日本韩国一级片 | 精品欧美一区二区在线观看 | 午夜日韩精品 | 国产一级不卡毛片 | 国产dvd毛片在线视频 | 成 人 动漫在线观看网站网站 | 97视频免费播放观看在线视频 | 日韩区在线观看 | 免费观看一级特黄三大片视频 | 久草视频在线观 | 日本暖暖视频在线播放 | 亚洲成人在线视频播放 | 欧美片欧美日韩国产综合片 | 久久99久久精品视频 | 色天使色婷婷在线影院亚洲 |