android簡單小遊戲之《猜猜雞蛋在哪隻鞋裡》
這是一個比較簡單的android小遊戲,實現的思路比較簡單。
實現效果圖:
下面是來看看具體實現的過程原始碼:
佈局檔案程式碼如下:package com.example.administrator.mygame; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private TextView text; private ImageView pic0; private ImageView pic1; private ImageView pic2; int[] imageIds = new int[]{R.drawable.shoe_ok, R.drawable.shoe_sorry, R.drawable.shoe_sorry}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); pic0 = (ImageView) findViewById(R.id.pic0); pic1 = (ImageView) findViewById(R.id.pic1); pic2 = (ImageView) findViewById(R.id.pic2); Button butplay = (Button) findViewById(R.id.butplay); text = (TextView) findViewById(R.id.text); pic0.setOnClickListener(this); pic1.setOnClickListener(this); pic2.setOnClickListener(this); butplay.setOnClickListener(this); replay();//開局先將鞋子順序打亂 } @Override public void onClick(View view) { switch (view.getId()) { case R.id.pic0: //設定已打亂順序的鞋子圖片 pic0.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[0])); pic1.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[1])); pic2.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[2])); if (imageIds[0] == R.drawable.shoe_ok) { //判斷是否猜中有雞蛋的鞋子 text.setText("恭喜你,猜對了,祝你幸福!"); } else text.setText("很抱歉,猜錯了,要不要再試一次?"); break; case R.id.pic1: pic0.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[0])); pic1.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[1])); pic2.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[2])); if (imageIds[1] == R.drawable.shoe_ok) { text.setText("恭喜你,猜對了,祝你幸福!"); } else text.setText("很抱歉,猜錯了,要不要再試一次?"); break; case R.id.pic2: pic0.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[0])); pic1.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[1])); pic2.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, imageIds[2])); if (imageIds[2] == R.drawable.shoe_ok) { text.setText("恭喜你,猜對了,祝你幸福!"); } else text.setText("很抱歉,猜錯了,要不要再試一次?"); break; case R.id.butplay: replay(); default: break; } } public void replay() { //點選再玩一次,恢復原有標題和鞋子圖片 text.setText("猜猜雞蛋在哪隻鞋子裡?"); pic0.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, R.drawable.shoe_default)); pic1.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, R.drawable.shoe_default)); pic2.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, R.drawable.shoe_default)); for (int i = 0; i < 3; i++) { int temp = imageIds[i]; // 將陣列元素i儲存到臨時變數中 int index = (int) (Math.random() * 2); // 生成一個隨機數 imageIds[i] = imageIds[index]; // 將隨機數指定的陣列元素的內容賦給陣列元素i imageIds[index] = temp; // 將臨時變數的值賦值給隨機陣列指定的那個陣列元素 } } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/background"> <LinearLayout android:layout_width="match_parent" android:layout_height="255dp" > <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="猜猜雞蛋在哪隻鞋子裡?" android:textSize="45dp" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="120dp" android:orientation="horizontal" > <ImageView android:layout_width="50dp" android:layout_height="wrap_content" android:layout_marginLeft="15dp" android:id="@+id/pic0" android:src="@drawable/shoe_default" android:layout_weight="1"/> <ImageView android:layout_width="50dp" android:layout_height="wrap_content" android:layout_marginLeft="15dp" android:id="@+id/pic1" android:src="@drawable/shoe_default" android:layout_weight="1"/> <ImageView android:layout_width="50dp" android:layout_height="wrap_content" android:layout_marginLeft="15dp" android:id="@+id/pic2" android:src="@drawable/shoe_default" android:layout_marginRight="15dp" android:layout_weight="1"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="135dp" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/butplay" android:text="再玩一次" android:layout_gravity="center_vertical" android:layout_marginLeft="145dp"/> </LinearLayout> </LinearLayout>
相關推薦
android簡單小遊戲之《猜猜雞蛋在哪隻鞋裡》
這是一個比較簡單的android小遊戲,實現的思路比較簡單。 實現效果圖: 下面是來看看具體實現的過程原始碼: package com.example.administrator.mygame; import android.support.v4.content.C
Python學習之easygui實現簡單小遊戲
import random, easyguisecret = random.randint(1, 99)guess = 0tries = 0easygui.msgbox("""Hi! I'm the Dread Pirate Roberts, and I have a secret!It is a numbe
[知了堂學習筆記]_JS小遊戲之打飛機(3)-飛機之間的互相撞擊,boss的出現,以及控制boss死亡
時間 i++ score console function sss 間隔 app tint 我的小飛機和敵軍小飛機撞擊的效果的實現: 1 /** 2 * 定義我的飛機與敵機碰撞的方法: 3 */ 4 function destoryMyPlane(){ 5
Python小遊戲之 - 飛機大戰美女 !
TP 飛機大戰 inf info ima com 圖片 大戰 .com 用Python寫的"飛機大戰美女"小遊戲 Python小遊戲之 - 飛機大戰美女 !
android簡訊小程式之CursorAdapter繫結ListView
同步查詢繫結: mListView = findViewById(R.id.id_containers); //定義uri mALL_conversation_uri = Telephony.Threads.CONTENT_URI.buildUpon().appendQueryParame
JavaScript前端開發小遊戲之智慧拼圖
HTML部分 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /
用python玩轉微信小遊戲 大小猜猜看
用python玩轉微信小遊戲 大小猜猜看 遊戲模式 在微信小程式裡搜尋“大小猜猜看”,即可找到該遊戲。 遊戲的目標比拼計算能力,找出誰大誰小,一共有40題,全部答對即挑戰成功。 一開始答題時間充足,數字也比較簡單,後面就需要特別快的計算速度。 專案地址 本專案地址
Android開發小工具之:Chrome Custom Tabs
參考文章 官方文件 官方原始碼 http://qq157755587.github.io/2016/08/12/custom-tabs-best-practices/ https://juejin.im/entry/586f089c61ff4b006d29f9c0 一
python的一個小遊戲之五子棋
原始碼如下: from tkinter import * root = Tk() canvas = Canvas(root,width = 400,height = 300) ###global clounm curwho= 1 ##1 yellow -1 blue o
C++小遊戲之2048
#include<iostream> #include<ctime> using namespace std; int map[4][4] = { 0 }; //因為2048是一個4X4的小方塊集合,所以定義一個二維陣列與之對應 void print(); //列印數組裡的數字
Java小遊戲之小迷宮遊戲
遊戲規則 按照位置為0的路線移動,上下左右方向鍵依次為 8、2、4、6 遊戲編碼 編碼思路: 定義一個二維陣列,七個一維陣列,每個一維陣列七個元素,並且按照遊戲規則設定0,1,初始值位置列印陣列,
微信HTML5小遊戲之推箱子
經典的推箱子是一個來自日本的古老遊戲,目的是在訓練你的邏輯思考能力。在一個狹小的倉庫中,要求把木箱放到指定的位置,稍不小心就會出現箱子無法移動或者通道被堵住的情況,所以需要巧妙的利用有限的空間和通道,合理安排移動的次序和位置,才能順利的完成任務。推箱子游戲是一種老少皆宜的益
android studio 小技巧之 圖片預覽
直接上圖 android studio 進過幾個小版本的更新 大版本已近來到了2.0 總體來說越來越好了,熟悉以後還是非常好用 , 比eclipse 好用的不是一點兩點 這次帶來 圖片預覽 右擊 drawable資料夾
HTML5小遊戲之見縫插針
今天給大家帶來的就是一款叫做《見縫插針》的遊戲。有空你就往裡插,直到你無處可插!看你能過多少關! 簡潔大氣 黑白搭配遊戲畫面非常的簡潔,米白色的背景中央,放置著一個不斷旋轉的太陽狀的球體,周邊網狀似的放射連線著許多小球,又有點宇宙中星球的感覺,所有球體均以黑色為主,與米白色的背景產生出了鮮明的對比,在一定程
Java小遊戲之鬥地主遊戲例項Map集合
Map的特點是什麼? 1、Map物件是一個雙列的容器 2、兩列分別對應key和value,二者一一對應,是對映關係 3、Map中的資料以鍵值對的形式儲存 4、鍵值是唯一的,不能重複的 HashSet()和HashMap()之間的關係? HashSet()底層是HashMap
Android 常用小知識之break/continue語句
使用break語句可以終止switch語句和終止迴圈的子語句塊,甚至是普通的程式塊。 1.break語句 在迴圈中,經常需要在某種條件出現時,強行終止迴圈的執行,而不是等到迴圈的判斷條件為false
android 拼圖小遊戲
拼圖雖是比較小的一個遊戲,但涉及到的邏輯和程式碼也沒那麼簡單,這裡參考慕課網上的教程,採用一個二維陣列來儲存拼圖的小方格,並將拼圖的資料GameData(包括x,y座標和正確的擺放位置)和檢視(Bitmap)分離,並編寫相應的遊戲邏輯控制方法(控制層contro
C++ 小遊戲之推箱子
做完C的貪吃蛇遊戲後,感覺還不錯,剛好記得在HDU上做過一道關於推箱子游戲的演算法題目,即雙BFS。 所以我決定來做做C++的小遊戲推箱子,由於剛學C++,對C++還是不很熟練,但是思路還是很清楚的, 編寫程式碼還是很舒服的。! 現在晒晒我的程式碼和詳細解釋,希望多交流~
HTML5 經典小遊戲之坦克(二)
上次寫到坦克只能發出子彈 今天讓坦克連續發射子彈 並擊中敵人的坦克 那麼問題來了?如何讓子彈飛起來呢? 思路: 1.動起來 --- 必然會用到定時器 2.在那用?按空格發子彈後 3.子彈動起來的思路:按鈕的時候,先每隔50毫秒改變子彈的參考點的座標,再重新整理畫布,每隔10
你可能不知道的 Android Studio 小技巧之「多行編輯」
Android Studio 大家應該都很熟悉了,但是可能很多人都僅限基本的功能使用,而 Android Studio 非常強大,有很多非常實用卻又鮮為人知的小技巧,熟練掌握這些小技巧將能極大的提高你的工作效率,今天就來給大家介紹一個很實用的小技巧「多行編輯」。