开心打地鼠,Android休闲益智游戏开发

A. 项目描述

"开心打地鼠"是一款非常有趣的游戏,它能够帮助人们放松身心,同时也能够锻炼人们的智力。

"开心打地鼠"这款游戏的玩法非常简单,玩家需要在规定的时间内点击屏幕上出现的地鼠,每次点击都可以得到一定的分数。但是,玩家需要小心,因为如果没有点击中,地鼠逃过的话,就会失去分数。游戏的难度会随着时间的推移而逐渐增加,需要玩家不断提高自己的反应能力和准确性。

B. 开发工具

  • Android Studio Dolphin | 2021.3.1 Patch 1
  • Java , JDK 11.0.13
  • Gradle , gradle-7.4

C. 代码设计

GameSurfaceView 类定义了游戏的主要界面,它继承自 SurfaceView,采用这样的设计可以方便游戏画面在子线程中进行更新。

  • surfaceCreated方法中,初始化图片、声音等资源,同时开启了游戏线程
java 复制代码
public void surfaceCreated(SurfaceHolder holder) {
        GameSize.setView(this);
        SCREEN_W = this.getWidth();
        SCREEN_H = this.getHeight();
        // 初始化,图片、声音等
        initializeGameX();
        // 游戏线程
        Thread main_thread = new Thread(this);
        main_thread.start();
        game_th_on = true;

    }
  • 游戏线程当中,定时执行一系列的操作:游戏画面的绘制、执行游戏逻辑、游戏音乐的播放控制
java 复制代码
   @Override
   public void run() {
       while (game_th_on) {
           long starttime = System.currentTimeMillis();
           gameDraw();  // 游戏画面的绘制
           gameLogic(); // 游戏逻辑
           gamePlay();  // 游戏音乐的播放控制
           long endtime = System.currentTimeMillis();
           long delta = endtime - starttime;
           if (delta < thread_time) {
               try {
                   Thread.sleep(delta);
               } catch (InterruptedException e) {
                   e.printStackTrace();
               }
           }
       }
   }

D. 项目演示

  1. 开始界面
  1. 游戏进行中
  1. 游戏结束,展示得分

🎬演示视频

E. 项目源码

关注公众号『数字森林』,后台发送:打地鼠,获取源码。

相关推荐
小乖写代码1 小时前
49款开源Android小游戏
android·游戏
松树戈1 小时前
godot项目【宝石捕手】03~宝石刷新、游戏结束脚本逻辑
游戏·godot
三少爷的鞋1 小时前
小团队的最优解:单 Module + 包内 Clean 架构
android
爱和冰阔落2 小时前
【Linux】两个毫无关系的进程怎么通信?命名管道 FIFO 从原理到 Server/Client 实战
android·linux·数据库·c++·vim
年小个大11 小时前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
Android-Flutter12 小时前
为什么说ActivityThread是主线程?
android·kotlin
余额瞒着我当琳14 小时前
C++模板初阶与STL初探
android·java·c++
智塑未来15 小时前
鸿蒙游戏体验手册:四种能力从性能到玩法逐一解锁
游戏·华为·harmonyos
知行合一。。。17 小时前
DeepAgents--01--Agent和OpenClaw的相关概念
android·数据库
汪海游龙18 小时前
告别 Play Console 手动上传:从模拟器截图到自动发版的完整流水线
android·ci/cd·github