安卓实现简单砸地鼠游戏

效果

布局 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:id="@+id/scoreTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="得分:0"android:textSize="18sp" /><GridLayoutandroid:id="@+id/gridLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:columnCount="3"android:rowCount="3"><ImageViewandroid:id="@+id/imageView1"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView2"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView3"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView4"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView5"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView6"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView7"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView8"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView9"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /></GridLayout></LinearLayout>

实现代码,

public class AttentionQuestionsActivity extends AppCompatActivity {private ImageView[] imageViews; // 地鼠图片数组private ImageView currentImageView; // 当前显示的地鼠图片private int score = 0; // 得分private TextView scoreTextView; // 显示得分的文本视图@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_attention_questions);initImageViews(); // 初始化地鼠图片数组scoreTextView = findViewById(R.id.scoreTextView);showNextImageView(); // 显示第一个地鼠}// 初始化地鼠图片数组private void initImageViews() {imageViews = new ImageView[9];for (int i = 0; i < imageViews.length; i++) {imageViews[i] = findViewById(getResources().getIdentifier("imageView" + (i + 1), "id", getPackageName()));imageViews[i].setVisibility(View.INVISIBLE); // 初始设置地鼠图片为不可见imageViews[i].setOnClickListener(onClickListener);}}// 点击事件监听器private View.OnClickListener onClickListener = new View.OnClickListener() {@Overridepublic void onClick(View v) {if (v == currentImageView) { // 如果点击的是地鼠increaseScore(); // 增加得分hideCurrentImageView(); // 隐藏当前地鼠showNextImageView(); // 显示下一个地鼠}}};// 增加得分private void increaseScore() {score++;scoreTextView.setText("得分:" + score); // 更新得分显示}// 隐藏当前显示的地鼠private void hideCurrentImageView() {if (currentImageView != null) {currentImageView.setVisibility(View.INVISIBLE);currentImageView = null;}}// 显示下一个地鼠private void showNextImageView() {hideCurrentImageView();SecureRandom random = new SecureRandom();int nextIndex;do {nextIndex = random.nextInt(imageViews.length);} while (imageViews[nextIndex].getVisibility() == View.VISIBLE);currentImageView = imageViews[nextIndex];currentImageView.setVisibility(View.VISIBLE);}
}

备注 以上只是简单把功能实现出来,大家有需要可以拿来改为自己想要的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/474105.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录day24--回溯的应用3

LeetCode93.修复IP地址 题目描述&#xff1a; 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是…

Transformer面试十问

1 Scaled Dot-Product Attention中为什么要除以 d k \sqrt{d_k} dk​ ​? 1. 从纯数学上考虑&#xff1a;对于输入均值为0,方差为1的分布&#xff0c;点乘后结果其方差为dk&#xff0c;所以需要缩放一下。下图为原论文注释。 2. 从神经网络上考虑&#xff1a;防止在计算点积…

HTTPS网络通信协议基础

目录 前言&#xff1a; 1.HTTPS协议理论 1.1协议概念 1.2加密 2.两类加密 2.1对称加密 2.2非对称加密 3.引入“证书” 3.1证书概念 3.2数据证书内容 3.3数据签名 4.总结 前言&#xff1a; 了解完HTTP协议后&#xff0c;HTTPS协议是HTTP协议的升级加强版&#xff0c…

HarmonyOS—状态管理概述

在前文的描述中&#xff0c;我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面&#xff0c;就需要引入“状态”的概念。 图1 效果图 上面的示例中&#xff0c;用户与应用程序的交互触发了文本状态变更&#xff0c;状态变更引起了UI渲染&#xff0c;UI从“He…

LeetCode刷题计划

LeetCode刷题计划 推荐 代码随想录&#xff1a;https://github.com/youngyangyang04/leetcode-master 卡码网 练习ACM模式 https://kamacoder.com/ 01 #include <iostream> using namespace std;int main() {int a ,b;while(cin>>a>>b){cout<<ab<…

每日五道java面试题之java基础篇(十二)

目录: 第一题 谈谈你对AQS的理解&#xff0c;AQS如何实现可重⼊锁&#xff1f;第二题. Sychronized的偏向锁、轻量级锁、重量级锁第三题 CountDownLatch和Semaphore的区别和底层原理第四题 线程池中阻塞队列的作⽤&#xff1f;为什么是先添加列队⽽不是先创建最⼤线程&#xff…

【数据结构之排序算法】

数据结构学习笔记---010 数据结构之排序算法1、排序的基本概念及其运用1.1、常见排序算法的实现2、插入排序的实现2.1、直接插入排序2.1.1、直接插入排序的实现2.1.1.1、直接插入排序InsertSort.h2.1.1.2、直接插入排序InsertSort.c2.1.1.3、直接插入排序main.c2.1.2、直接插入…

【图论】2-SAT

参考资料&#xff1a;2-SAT学习笔记 什么是2-SAT问题呢&#xff1f; (a∨b∨c)∧(a∨b∨c)∧(a∨b∨c)&#xff0c;给出一个类似于这样的式子&#xff0c;让你找出满足条件的一个解&#xff0c;这样的问题就是SAT问题&#xff0c;因为每一个括号内都有三个被限制的变量&#…

004 - Hugo, 分类

004 - Hugo, 分类content文件夹 004 - Hugo, 分类 content文件夹 ├─.obsidian ├─categories │ ├─Python │ └─Test ├─page │ ├─about │ ├─archives │ ├─links │ └─search └─post├─chinese-test├─emoji-support├─Git教程├─Hugo分类├─…

LabVIEW智能监测系统

LabVIEW智能监测系统 设计与实现一个基于LabVIEW的智能监测系统&#xff0c;通过高效的数据采集和处理能力&#xff0c;提高监测精度和响应速度。系统通过集成传感器技术与虚拟仪器软件&#xff0c;实现对环境参数的实时监测与分析&#xff0c;进而优化监控过程&#xff0c;提…

飞天使-k8s知识点21-kubernetes实操6-daemonset

文章目录 daemonsetservice endpoint pod 之间的关系service基于Service访问外部服务 daemonset DaemonSet 是 Kubernetes 中的一种资源对象&#xff0c;它确保在集群中的每个节点上都运行一个 Pod 的副本。这对于运行集群级别的守护进程&#xff08;例如日志收集器、监控代理…

Stable Diffusion教程——常用插件安装与测试(一)

前言 随着Stable Diffusion不断演进&#xff0c;越来越多的开发者开始涉足插件开发。尽管网络上存在大量教程&#xff0c;但它们通常零散分布&#xff0c;逐个学习和查找非常耗时&#xff0c;使人感觉每天都在劳累思考。这里总结了Stable Diffusion常用的插件安装与测试方法。…