全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android实现微信摇骰子游戏

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

使用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小时内与您取得联系。