过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。
使用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 微信摇骰子和猜拳作弊器原理解析
# Android实现掷骰子效果
# 随机数
# 很容易
# 不高
# 可以使用
# 为例
# 三点
# 下载链接
# 六点
# 大家多多
# 二点
# 性要求
# 但是在
# View
相关文章:
建站主机与虚拟主机有何区别?如何选择最优方案?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
如何快速完成中国万网建站详细流程?
如何通过虚拟机搭建网站?详细步骤解析
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
郑州企业网站制作公司,郑州招聘网站有哪些?
h5在线制作网站电脑版下载,h5网页制作软件?
建站上传速度慢?如何优化加速网站加载效率?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
建站之星如何优化SEO以实现高效排名?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
名字制作网站免费,所有小说网站的名字?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
建站主机选哪种环境更利于SEO优化?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
,如何利用word制作宣传手册?
无锡营销型网站制作公司,无锡网选车牌流程?
婚礼视频制作网站,学习*后期制作的网站有哪些?
为什么Go需要go mod文件_Go go mod文件作用说明
如何在阿里云ECS服务器部署织梦CMS网站?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
宝塔建站后网页无法访问如何解决?
重庆市网站制作公司,重庆招聘网站哪个好?
如何在Windows环境下新建FTP站点并设置权限?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
设计网站制作公司有哪些,制作网页教程?
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何用花生壳三步快速搭建专属网站?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
建站主机解析:虚拟主机配置与服务器选择指南
高防服务器租用如何选择配置与防御等级?
定制建站方案优化指南:企业官网开发与建站费用解析
如何在IIS管理器中快速创建并配置网站?
广平建站公司哪家专业可靠?如何选择?
如何在景安云服务器上绑定域名并配置虚拟主机?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
测试制作网站有哪些,测试性取向的权威测试或者网站?
如何快速搭建支持数据库操作的智能建站平台?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
制作农业网站的软件,比较好的农业网站推荐一下?
宁波自助建站系统如何快速打造专业企业网站?
c# 在ASP.NET Core中管理和取消后台任务
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
如何快速搭建虚拟主机网站?新手必看指南
建站之星导航配置指南:自助建站与SEO优化全解析
建站之星如何实现五合一智能建站与营销推广?
建站之星在线客服如何快速接入解答?
如何快速辨别茅台真假?关键步骤解析
*请认真填写需求信息,我们会在24小时内与您取得联系。