溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android如何實(shí)現(xiàn)微信搖骰子游戲

發(fā)布時(shí)間:2020-07-23 09:46:17 來(lái)源:億速云 閱讀:502 作者:小豬 欄目:移動(dòng)開發(fā)

這篇文章主要講解了Android如何實(shí)現(xiàn)微信搖骰子游戲,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

過(guò)年怎么可以不玩紅包娛樂一下呢,微信里的搖骰子大小和石頭剪刀布就是不錯(cuò)的游戲方式。

Android如何實(shí)現(xiàn)微信搖骰子游戲

使用Java的Random函數(shù)很容易實(shí)現(xiàn),以骰子為例:

1.骰子搖動(dòng)的動(dòng)畫,使用animation-list幀動(dòng)畫實(shí)現(xiàn)
2.生成1~6的隨機(jī)數(shù),1 + new Random().nextInt(6)

以下是代碼實(shí)現(xiàn),文末提供圖片資源下載:

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 "一點(diǎn)小"; 
 
 case 2: 
  return "二點(diǎn)小"; 
 
 case 3: 
  return "三點(diǎn)小"; 
 
 case 4: 
  return "四點(diǎn)大"; 
 
 case 5: 
  return "五點(diǎn)大"; 
 
 case 6: 
  return "六點(diǎn)大"; 
 
 default: 
  return ""; 
 } 
 } 
 
 final Handler diceHandler = new Handler() { 
 
 public void handleMessage(android.os.Message msg) { 
  switch (msg.what) { 
  case 1: 
  resetDiceImage(); 
  break; 
 
  default: 
  break; 
  } 
 } 
 
 }; 
} 

看完上述內(nèi)容,是不是對(duì)Android如何實(shí)現(xiàn)微信搖骰子游戲有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI