Android学习 游戏开发之打地鼠(三,打地鼠设计实现)

上篇文章中对开始打地鼠游戏的思路做了简单的介绍,现在来具体的说一说开始打地鼠游戏的实现,先说说布局,用LinearLayout或TableLyout都可以。上面一行是4个TextView下面的地洞是ImageButton。游戏中打中或没打中地鼠都更新会对应按钮背景图。打中地鼠的效果图(图1)和没打中的效果图(图2)。

游戏中需要开启一个线程来控制游戏时间,更新显示剩余时间时,游戏0.5s更新一次,游戏时间为30s,因此更新次数是游戏时间的二倍。当游戏时间为0s时游戏停止关闭游戏界面并开启记录玩家信息的窗口。该线程同时产生一个随机数(1-12)来指定地鼠出现位置,由于子线程不能更新UI,需要通过handler发送消息来更新UI。更新界面时将每一个按钮背景都有重置为地洞,再更新地鼠出现位置的图片,这样会清除由于点击出现的锤子和上一次地鼠出现位置设置的图片。当用户点击屏幕是,如果打中地鼠,效果如图1,没打中效果如图2,并且如果开启了音效,会播放不同的打击声音。最后在游戏界面不可见是关闭线程。

代码如下:

package cn.com.cyj.mouse.services;

import java.util.HashMap;
import java.util.Random;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import cn.com.cyj.mouse.R;
import cn.com.cyj.mouse.ui.BaseActivity;
import cn.com.cyj.mouse.ui.MouseStart;

/**
 * 游戏开始的界面:游戏中有12个ImageButton,每个ImageButton背景设置成地鼠洞,游戏中开启一个线程控制游戏时间
 * 
 * @author cyj
 * 
 */
public class GameRun extends BaseActivity {
	/**
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值