文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android如何实现微信摇骰子游戏

2023-05-31 12:19

关注

这篇文章主要讲解了Android如何实现微信摇骰子游戏,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

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

Android如何实现微信摇骰子游戏

使用Java的Random函数很容易实现,以骰子为例:

骰子摇动的动画,使用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;   }  }   }; } 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯