过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。
使用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实现微信摇骰子游戏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)