过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。

使用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;

@Override

protected 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 {

@Override

public 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 {

@Override

public 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~6

Toast.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生成的虽然是伪随机数,但是在娱乐对安全性要求不高,还是可以使用的。

实现方式比较简单,以下是工程下载链接:Android微信摇骰子

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是编程之家为你收集整理的Android实现微信摇骰子游戏全部内容,希望文章能够帮你解决Android实现微信摇骰子游戏所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

android开发骰子动画,Android实现微信摇骰子游戏相关推荐

  1. Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析

    一.前言 在之前的一篇文章中我们已经详细介绍了Android中Hook工作的一款神器Xposed工具:Xposed框架原理解析和使用案例分析 在那一篇文章中我们介绍了如何安装Xposed框架,以及如何 ...

  2. Android”挂逼”修炼之行—微信摇骰子和猜拳作弊器原理解析

    .猜想假设 本文就借助之前的Xposed框架来介绍如何编写微信的一个外挂功能,这个功能就是微信摇色子和剪刀石头布的作弊器,我们用过微信这个功能都知道,是一个比较常用的功能,因为在一个群聊中会很无聊就来 ...

  3. Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)

    该文章是我觉得当中的逆向方式以及使用工具的方式非常值得学习,转载只为记录下来,若侵则删. 一.前言 在之前的一篇文章中我们已经详细介绍了Android中Hook工作的一款神器Xposed工具:Xpos ...

  4. android摇骰子源代码,Android实现微信摇骰子游戏

    过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式. 使用Java的Random函数很容易实现,以骰子为例: 1.骰子摇动的动画,使用animation-list帧动画实 ...

  5. 全网最全Android开发工具,Android开发框架大全

    涵盖Android方方面面的技术, 目前保持更新. 时刻与Android开发流行前沿同步. 目录 一.工具 Android开发工具 在线工具宝典大全 二.框架 *缓存框架* DiskLruCache ...

  6. Android 开发工具集合 - (Android Dev Tools)

    收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具. ...

  7. 老罗Android开发视频教程( android解析json数据 )4集集合

    老罗Android开发视频教程( android解析json数据 )4集集合 老罗Android开发视频教程( android解析json数据 ) 第一集android解析json数据 http:// ...

  8. [android开发必备]Android开发者社区汇总

    [android开发必备]Android开发者社区汇总 经常收到很多人问做android开发去哪个社区,每次都回答的零零碎碎的很比系统,今天统一整理下,把截至目前为止有价值的android开发社区汇总 ...

  9. android打地鼠设计报告,android开发中利用handler制作一个打地鼠小游戏

    android开发中利用handler制作一个打地鼠小游戏 发布时间:2020-11-25 15:21:11 来源:亿速云 阅读:136 作者:Leah 这期内容当中小编将会给大家带来有关androi ...

  10. 视频教程-快速入门Android开发 视频 教程 android studio-Android

    快速入门Android开发 视频 教程 android studio 任苹蜻,爱学啊创始人 & CEO,曾就职于某二车手公司担任Android工程师后离职创办爱学啊,我们的宗旨是:人生苦短,我 ...

最新文章

  1. jquery easyui 弹出对话框被activex控件遮挡问题
  2. 本地化ASPXPivotGrid控件
  3. AndroidStudio中调试时一直显示waiting for debugger
  4. 面试题,说说你理解的中台
  5. 任正非就“注册姚安娜商标”事件道歉:为防恶意抢注,第一次公权私用
  6. wireshark linux版本_Wireshark大法-WiFi6无线抓包
  7. php清除输出缓冲,php如何清除缓冲区
  8. 【电脑帮助】解决Wind10系统修改电脑默认用户名Administrator的问题
  9. chrome 长截屏插件
  10. 时间序列分析-MA模型
  11. 微信小程序文字语音转换/中英文自动翻译
  12. 搭建多节点以太坊私链 10分钟搞定(超简洁)
  13. Mac删除文件时显示“不能完成此操作,因为项目‘xxxx’正在使用中”(添加/删除新用户引发的问题)
  14. ml-agents与tensorflow结合的先关操作文档
  15. stm32命名规范总结
  16. 20 - Slider组件案例 相亲APP
  17. 华为云存储空间图库占比太大_华为手机照片太多?放这里既安全又不占内存,瞬间腾出50G空间...
  18. re管理器修改音量_[教程] 自己手动修改音量键和开机键的功能方法(小更新)
  19. python 函数 求绝对值 abs()
  20. java遍历一个map集合_Java遍历Map集合的四种方式

热门文章

  1. IOC容器构造之资源文件定位源码分析
  2. Git学习笔记:版本回滚
  3. j2cache多级缓存
  4. 如何在html页面跳转的时候携带数据(页面跳转时参数传递问题)?
  5. 硬盘保修期网上轻松查询
  6. python攻击校园网_python爬虫 模拟登陆校园网-初级
  7. css居中对齐的几种方法
  8. wincc控件包下载_Simatic HMI WinCC V7.4 SP1 组态软件下载
  9. PDF怎么把两个合并成一个?PDF怎么合并?
  10. imdisk虚拟光驱安装linux,ImDisk Virtual Disk Driver(虚拟光驱)