上班劃水,給男朋友做個數字炸彈游戲
上班劃水的時候無意中看到了這篇文章:上班劃水,給女朋友做個猜數字游戲,
作為一個有男朋友的女程式員,那我也不能落下,趕緊給自己的男朋友安排,
本游戲純手工unity+C#制作,素材來源于情侶間的生活照,
游戲主界面

既然是給男朋友做的,那男朋友的排面肯定不能小,上美照,大大的美照布滿了背景,每一個像素都透漏出這個男人的帥氣
游戲主界面主要包括:目標值的范圍區間提示;當前操作后的提示;用戶輸入框以及確定按鈕,輸入框有輸入提示文本,主要是為了夸夸男朋友的英俊美貌,
開始界面

主界面和游戲界面差不多:展示區間范圍,輸入框,確認按鈕,進度條,開始游戲后,男朋友需要輸入一個愛我的數字,來表達對我的愛,
游戲界面
由于游戲背景太過帥氣,下面我就先將背景隱藏了,留給自己偷偷看,

輸入數字后點擊確認按鈕會提示當前猜想后,目標值的范圍,通過輸入確認來縮小范圍,從而得到目標值,下面加個進度條進度條更友好的展示了距離目標的差距,
由于是數字游戲,所以我們必須得對創建的輸入框InputField限制一下,只能輸入整數

勝利界面

當我那帥氣的男朋友終于猜中了的時候,螢屏上會有一個提示,這里當然是夸他聰明勇敢有力氣了,
打包
先偷偷給男朋友發個訊息,別人女朋友有的,我的男人也必須有,哈哈哈,

游戲完成了,接下來打包發給男朋友吧,
選一張優質照片當游戲icon

好了,打包完成,發給男朋友了,男朋友很開心~
代碼展示
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GuessNumber : MonoBehaviour
{
// Start is called before the first frame update
private InputField inputTxt;
private Text ruleTxt;
private Text maxTxt;
private Text minTxt;
private Text desTxt;
private Button sureBtn;
private int targetNum;
private Slider slider;
void Start()
{
inputTxt = GameObject.Find("InputField").GetComponent<InputField>();
ruleTxt = GameObject.Find("ruleTxt").GetComponent<Text>();
maxTxt = GameObject.Find("min").GetComponent<Text>();
minTxt = GameObject.Find("max").GetComponent<Text>();
desTxt = GameObject.Find("des").GetComponent<Text>();
sureBtn = GameObject.Find("sureBtn").GetComponent<Button>();
sureBtn.onClick.AddListener (ClickSureBtn);
slider = GameObject.Find("Slider").GetComponent<Slider>();
// slider.onValueChanged.AddListener((float value)=>Change(value));
InitData();
}
// Update is called once per frame
void Update()
{
}
// private void Change(float value)
// {
// Debug.Log(value+" lx");
// }
private void InitData()
{
targetNum = Random.Range(1,101); //1-100隨機
Debug.Log(targetNum);
desTxt.text = "";
minTxt.text = "當前區間最小值:"+1;
maxTxt.text = "當前區間最大值:"+100;
inputTxt.text = "";
slider.value = 0;
CancelInvoke();//用于結束當前所有的Invoke委托
}
private void ClickSureBtn()
{
if (inputTxt.text == "")
{
desTxt.text = "你還沒輸入你的答案哦~";
return;
}
else
{
Debug.Log(targetNum + " targetNum");
int num = int.Parse(inputTxt.text);
if (num == targetNum)
{
desTxt.text = "小帥哥,恭喜你猜中,你怎么這么棒,再來一局吧";
maxTxt.text = "當前區間最大值:"+num;
minTxt.text = "當前區間最小值:"+num;
Invoke("InitData", 2);
}
else if(num < targetNum)
{
desTxt.text = "值有點小哦,再加大一點試試!";
minTxt.text = "當前區間最小值:"+num;
}
else if(num > targetNum)
{
desTxt.text = "值太大了哦,換小一點的試試呢!";
maxTxt.text = "當前區間最大值:"+num;
}
string max = System.Text.RegularExpressions.Regex.Replace(maxTxt.text, @"[^0-9]+", "");
string min = System.Text.RegularExpressions.Regex.Replace(minTxt.text, @"[^0-9]+", "");
int a = int.Parse(max);
int b = int.Parse(min);
slider.value = 1-(float)(a-b)/(100-1);
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/296683.html
標籤:其他
