返回顶部
首页 > 资讯 > 移动开发 >android实现打地鼠游戏
  • 484
分享到

android实现打地鼠游戏

Android 2022-06-06 15:06:29 484人浏览 泡泡鱼
摘要

今天上课老师用Java实现了打地鼠游戏的界面和具体逻辑,那么我也尝试使用Android语言实现其功能。 首先是打地鼠游戏的玩法 1.每隔1秒或者0.5秒地鼠会出现在九宫格中的任

今天上课老师用Java实现了打地鼠游戏的界面和具体逻辑,那么我也尝试使用Android语言实现其功能。

首先是打地鼠游戏的玩法

1.每隔1秒或者0.5秒地鼠会出现在九宫格中的任一位置
2.点击界面,如果地鼠出现的位置与点击位置相同,则认为打中地鼠。否则游戏继续。
3.打中地鼠后,游戏立即停止。

先上两张效果图

布局实现


<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:id="@+id/text11"
  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:id="@+id/text12"
  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:id="@+id/text13"
  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:id="@+id/text21"
  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:id="@+id/text22"
  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:id="@+id/text23"
  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:id="@+id/text31"
  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:id="@+id/text32"
  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:id="@+id/text33"
  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>

逻辑代码

需要实现每隔1秒绘制一次界面,且得确定更新地鼠的位置(这里我用的handler来发送循环消息实现的)


ArrayList<TextView>texts;//用来存放九个TextView
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;
 }
 });

这里单独写一个TextView的点击事件(一共九个),这里需要注意的是,我给每个textview都赋给了一个值a,从0-8,当点击的textview值 a=(地鼠出现的位置)时,我们就可以认为打中了地鼠。


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();
 }
}
您可能感兴趣的文章:Android实现打地鼠小游戏Android实现简易版打地鼠Android使用Handler实现打地鼠游戏


--结束END--

本文标题: android实现打地鼠游戏

本文链接: https://lsjlt.com/news/29882.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • android实现打地鼠游戏
    今天上课老师用Java实现了打地鼠游戏的界面和具体逻辑,那么我也尝试使用Android语言实现其功能。 首先是打地鼠游戏的玩法 1.每隔1秒或者0.5秒地鼠会出现在九宫格中的任...
    99+
    2022-06-06
    Android
  • Android实现打地鼠小游戏
    本文实例为大家分享了Android实现打地鼠小游戏的具体代码,供大家参考,具体内容如下 实现结果 代码实现 playmouse.java package com.examp...
    99+
    2022-06-06
    小游戏 Android
  • 【Android实例】打地鼠小游戏
    实现结果 代码实现 playmouse.java package com.example.playmouse; import android....
    99+
    2022-06-06
    小游戏 Android
  • JavaScript实现打地鼠游戏
    本文实例为大家分享了JavaScript实现打地鼠游戏的具体代码,供大家参考,具体内容如下 游戏说明: 点击"开始游戏"按钮,在图中随机产生老鼠,老鼠消失前单击老鼠进行击打,打中一次...
    99+
    2024-04-02
  • Python实现打地鼠游戏
    目录开发工具相关模块环境搭建原理简介主要代码开发工具 python版本:3.6.4 相关模块 pygame;以及一些python自带的模块。 环境搭建 安装python并添加到环境变...
    99+
    2024-04-02
  • JavaScript实现简单打地鼠游戏
    本文实例为大家分享了JavaScript实现打地鼠游戏的具体代码,供大家参考,具体内容如下 效果如下: html代码: <!DOCTYPE html> <ht...
    99+
    2024-04-02
  • Python如何实现打地鼠游戏
    这篇文章主要讲解了“Python如何实现打地鼠游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python如何实现打地鼠游戏”吧!开发工具python版本:3.6.4相关模块pygame;...
    99+
    2023-06-22
  • js实现如何打地鼠小游戏
    这篇文章将为大家详细讲解有关js实现如何打地鼠小游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。请看代码:<!doctype html> <...
    99+
    2024-04-02
  • PythonPygame实战之打地鼠小游戏
    目录前言开发工具环境搭建原理简介前言 今天给大家写一个个打地鼠小游戏,废话不多说直接开始~ 开发工具 Python版本: 3.6.4 相关模块: pygame模块; 以及一...
    99+
    2024-04-02
  • Qt实现打地鼠游戏的方法详解
    目录功能讲解1.确定地鼠数量2.定义游戏难易程序3.难度切换4.定时器处理总结今天与大家分享一个小游戏的实现:打地鼠 看一下实现效果吧~ 在指定的时间内打中一定数额的地鼠,否则失败...
    99+
    2022-11-13
    Qt打地鼠游戏 Qt 打地鼠 Qt 游戏
  • Python Pygame实战之欢乐打地鼠游戏
    目录导语​​​一、准备中二、环境安装​三、开始敲代码1)导入模块2)不同的图片设置3)界面头标、标题等。4)音乐设置5)右侧窗口控件不同的按钮设置四、效果展示导语 闲来无事: 铲屎...
    99+
    2024-04-02
  • Java编程实现打地鼠文字游戏实例代码
    控制台输入数字,与随机数匹配,匹配正确则返回“打中了!”匹配错误则返回“太遗憾!没打中!”package hitmouse; import java.util.Random; import java.util.Scanner; public...
    99+
    2023-05-30
    java 打地鼠代码 游戏
  • Python中怎么用Pygame实现欢乐打地鼠游戏
    这篇“Python中怎么用Pygame实现欢乐打地鼠游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中怎么用P...
    99+
    2023-06-29
  • 基于Python制作打地鼠小游戏
    效果展示 打地鼠小游戏 简介 打地鼠的游戏规则相信大家都知道,这里就不多介绍了,反正就是不停地拿锤子打洞里钻出来的地鼠呗~ 首先,让我们确定一下游戏中有哪些元素。打地鼠打地鼠,地鼠当...
    99+
    2024-04-02
  • 怎么用Python制作打地鼠小游戏
    本篇内容主要讲解“怎么用Python制作打地鼠小游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python制作打地鼠小游戏”吧!简介打地鼠的游戏规则相信大家都知道,这里就不多介绍了,反...
    99+
    2023-06-29
  • js实现鼠标跟随小游戏
    本文实例为大家分享了js实现鼠标跟随小游戏的具体代码,供大家参考,具体内容如下 在创建项目的时候,记得要引入jquery.min.js 的库,也可以引入别的版本的jquery库&nb...
    99+
    2024-04-02
  • Android实现拼图游戏
    本文实例为大家分享了Android实现拼图游戏的具体代码,供大家参考,具体内容如下 本人是用 android studio 完成的 源码 package packageName; ...
    99+
    2024-04-02
  • Android实现象棋游戏
    本文实例为大家分享了Android实现象棋游戏的具体代码,供大家参考,具体内容如下 主要是实现两人对战象棋,没有实现人机对战,主要不会判断下一步棋走那个好,或者对每下一步棋进行打分而...
    99+
    2024-04-02
  • Android实现井字游戏
    本文实例为大家分享了Android实现井字游戏的具体代码,供大家参考,具体内容如下 MainActivity.java package com.mohit.tictactoe;   ...
    99+
    2024-04-02
  • 打飞机游戏终极BOSS Android实战打飞机游戏完结篇
    本文实例为大家分享了打飞机游戏BOSS以及胜利失败页面设计的Android代码,具体内容如下 修改子弹类: public class Bullet { //子弹图片资源 ...
    99+
    2022-06-06
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作