Android实现微信摇骰子游戏
程序员文章站
2023-12-19 23:07:34
过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。
使用java的random函数很容易实现,以骰子为例:
1.骰子摇动的动画,...
过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。
使用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微信摇骰子
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。