Android 微信摇骰子
来源:互联网 发布:域名查询和注册 编辑:程序博客网 时间:2024/05/16 12:11
过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。
使用Java的Random函数很容易实现,以骰子为例:
1.骰子摇动的动画,使用animation-list帧动画实现
2.生成1~6的随机数,1 + new Random().nextInt(6)
以下是代码实现,文末提供图片资源下载:
package com.zms.dicedemo;import java.util.Random;import android.app.Activity;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends Activity {private ImageView imageDice;private Button btnGo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initialLayout();}private void initialLayout() {imageDice = (ImageView) findViewById(R.id.imageDice);btnGo = (Button) findViewById(R.id.btnGo);btnGo.setOnClickListener(new MyOnClickListener());}class MyOnClickListener implements View.OnClickListener {@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btnGo:imageDice.setImageDrawable(getResources().getDrawable(R.drawable.anim_dice));new Thread(new DiceThread()).start();break;default:break;}}}public class DiceThread implements Runnable {@Overridepublic void run() {try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}Message messageDice = new Message();messageDice.what = 1;diceHandler.sendMessage(messageDice);}}private void resetDiceImage() {int randomInt = 1 + new Random().nextInt(6); // 1~6Toast.makeText(MainActivity.this, getChineseByNumber(randomInt),Toast.LENGTH_SHORT).show();imageDice.setImageDrawable(getResources().getDrawable(getResources().getIdentifier("dice_" + randomInt, "drawable",getPackageName())));}private String getChineseByNumber(int number) {switch (number) {case 1:return "一点小";case 2:return "二点小";case 3:return "三点小";case 4:return "四点大";case 5:return "五点大";case 6:return "六点大";default:return "";}}final Handler diceHandler = new Handler() {public void handleMessage(android.os.Message msg) {switch (msg.what) {case 1:resetDiceImage();break;default:break;}}};}
Random生成的虽然是伪随机数,但是在娱乐对安全性要求不高,还是可以使用的。
实现方式比较简单,以下是工程下载链接:
点击下载
1 0
- Android 微信摇骰子
- Android骰子游戏案例
- 骰子
- Android"挂逼"修炼之行---微信摇骰子和猜拳作弊器原理解析
- Android"挂逼"修炼之行---微信摇骰子和猜拳作弊器原理解析
- Android"挂逼"修炼之行---微信摇骰子和猜拳作弊器原理解析
- Android"挂逼"修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)
- Android"挂逼"修炼之行---微信摇骰子和猜拳作弊器原理解析
- 微信摇骰子100%必胜的方法
- 微信摇骰子和猜拳作弊器制作流程(一)
- 微信摇骰子和猜拳作弊器制作流程(二)
- 微信摇骰子和猜拳作弊器制作流程(终)
- 掷骰子
- 投掷骰子
- 骰子 C++
- pogodak 骰子
- 掷骰子
- 掷骰子
- OpenCV学习01
- phoenix hbase 安装 eclipse 测试
- linux 线程 线程同步
- 一个tomcat配置多个端口
- git submodule常用的几个命令
- Android 微信摇骰子
- spring定时器
- 新人报道
- 1057. Stack (30)
- Info.plist Utility Error: “Info.plist couldn't be opened because there is no such file”
- 新网某处设计缺陷可任意用户密码重置及手机号密码密文泄漏(大众点评网为例)
- 切除边缘
- Matlab学习01-Mupad画图
- JAVA 写Excel附件 每天定时发送邮件