2017年1月5日 星期四

期末考試抽獎水果盤


using UnityEngine;
using System.Collections;
using UnityEngine.UI;

//下注按鈕總數
static class Constants
{
    public const int totalButton = 4;


}


public class buttonMsg
{

    private int bettingCount;


    public buttonMsg()
    {
        bettingCount = 0;
    }

    //下注
    public void betting()
    {
        bettingCount++;
    }

    //回傳下注數
    public int getBettingCount()
    {
        return bettingCount;
    }

    //重置
    public void reSet()
    {
        bettingCount = 0;
    }
}


public class HW : MonoBehaviour {

    int one = 1;

    int zero = 0;

    //判斷開始或重置
    bool startOrReset = true;

 
    buttonMsg[] myBut = new buttonMsg[Constants.totalButton];
 
 
    int rand;


    int myMoney;

    Text moneyText;


    Text[] buttonJudgeText = new Text[Constants.totalButton];

    Image[] img = new Image[Constants.totalButton];
 
    Text[] button_Text = new Text[Constants.totalButton];
 

void Start () {
 
        myMoney = 138;

     
        string path;
     
        for (int i = 0; i < Constants.totalButton; i++)
        {
         
            path = string.Format("Image{0}", i);
            img[i] = GameObject.Find(path).GetComponent<Image>();
         
            img[i].color = UnityEngine.Color.white;

       
            path = string.Format("buttonJudge{0}", i);
            buttonJudgeText[i] = GameObject.Find(path).GetComponent<Text>();

         
            path = string.Format("button{0}/Text", i);
            button_Text[i] = GameObject.Find(path).GetComponent<Text>();


     
            buttonJudgeText[i].text = zero.ToString();

     
            myBut[i]=new buttonMsg();
        }
 
        moneyText = GameObject.Find("money/Text").GetComponent<Text>();
     
        moneyText.text = myMoney.ToString();
}


void Update () {
   
        moneyText.text = myMoney.ToString();    
}


    public void bettingButton(int _butNum)
    {

        if (myMoney > 0)
        {
       
            myMoney = myMoney - 1;
       
            myBut[_butNum].betting();
       
            button_Text[_butNum].text = myBut[_butNum].getBettingCount().ToString();

        }
     
    }

    //開始按鈕函式
    public void startButton()
    {
   
        if (startOrReset == true)
        {
         
            start();

       
            startOrReset = false;
        }
   
        else if (startOrReset == false)
        {
       
            reset();


            startOrReset = true;
        }
    }

 
    public void reset()
    {

        for (int i = 0; i < Constants.totalButton; i++)
        {
         
            myBut[i].reSet();
       
            button_Text[i].text = zero.ToString();
       
            buttonJudgeText[i].text = zero.ToString();
     
            img[i].color = UnityEngine.Color.white;
        }

    }

 
    public void start()
    {
   
        rand = Random.Range(0, (Constants.totalButton-1));

   
        myMoney += myBut[rand].getBettingCount() * 2;

        for (int i = 0; i < Constants.totalButton; i++)
        {
         
            if (i == rand)
            {
                  button_Text[i].text = (myBut[rand].getBettingCount() * 2).ToString();

             
                buttonJudgeText[i].text = one.ToString();

         
                img[i].color = UnityEngine.Color.red;
            }
            //未中獎的下注按鈕
            else
            {
           
                button_Text[i].text = zero.ToString();

             
                buttonJudgeText[i].text = zero.ToString();

           
                img[i].color = UnityEngine.Color.black;
            }
        }

    }

 
    public void add()
    {
        myMoney++;
    }
}

2016年12月29日 星期四

水果盤遊戲

連結
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Threading;

public class buttonMsg
{
    //價值
    private int price;
    //被下注次數
    private int bettingCount;
    //當前下注金額
    private int currentPrice;

    public buttonMsg(int _price)
    {
        price = _price;
        bettingCount = 0;
    }

    //回傳價值
    public int getPrice()
    {
        return price;
    }
    //下注
    public void betting()
    {
        bettingCount++;
    }
    //回傳下注數
    public int getBettingCount()
    {
        return bettingCount;
    }
    //回傳下注金額
    public int getCurrentPrice()
    {
        currentPrice = bettingCount * price;
        return currentPrice;
    }
    //重置
    public void reSet()
    {
        bettingCount = 0;
    }
}

public class button : MonoBehaviour
{

    Text chipsText;
    Text bettingText;
    Text[] bettingCountText = new Text[10];

    int myChips = 100;
    int myBetting = 0;

    int[] imgPrice = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 10, 20, 30, 40, 10, 30, 20, 10, 70, 60, 50, 40, 30, 20 };

    buttonMsg[] myBut = new buttonMsg[10];

    bool roundBool = false;

    float time = 0;
    int round1Num = 0;
    int round2Num = 0;
    int round3Num = 0;
    int randNum;

    // Use this for initialization
    void Start()
    {
        for (int i = 0; i < 10; i++)
        {
            int butNum = ((i + 1) * 10);

            string path;
            path = string.Format("bettingCount{0}", butNum);

            bettingCountText[i] = GameObject.Find(path).GetComponent<Text>();

            myBut[i] = new buttonMsg(butNum);
        }
        chipsText = GameObject.Find("Canvas/chips").GetComponent<Text>();
        bettingText = GameObject.Find("Canvas/betting").GetComponent<Text>();

        chipsText.text = myChips.ToString();
        bettingText.text = myBetting.ToString();

    }

    // Update is called once per frame
    void Update()
    {
        time += Time.deltaTime;
        if (roundBool == true)
        {
            if (time >= 0.01 && round1Num <= 23)
            {
                round(round1Num);
                time = 0;
                round1Num++;
            }
            if (round1Num == 24 && time >= 0.03 && round2Num <= 23)
            {
                round(round2Num);
                time = 0;
                round2Num++;
            }
            if (round2Num == 24 && time >= 0.05 && round3Num <= randNum)
            {
                round(round3Num);
                time = 0;
                round3Num++;
            }

        }
        if (round3Num == randNum + 1)
            randProfit();

        chipsText.text = myChips.ToString();
        bettingText.text = myBetting.ToString();
        for (int i = 0; i < 10; i++)
        {
            bettingCountText[i].text = myBut[i].getBettingCount().ToString();
        }


    }


    void round(int _imgNum)
    {
        string imgNum;
        Image img;

        imgNum = string.Format("Image{0}", _imgNum);
        img = GameObject.Find(imgNum).GetComponent<Image>();
        img.color = UnityEngine.Color.red;

        if (_imgNum == 23)
        {
            img.color = UnityEngine.Color.white;
        }
        if (_imgNum != 0)
        {
            imgNum = string.Format("Image{0}", (_imgNum - 1));
            img = GameObject.Find(imgNum).GetComponent<Image>();
            img.color = UnityEngine.Color.white;
        }
    }

    void randProfit()
    {


        string imgNums = string.Format("Image{0}", randNum);
        Image img = GameObject.Find(imgNums).GetComponent<Image>();
        img.color = UnityEngine.Color.red;

        for (int i = 0; i < 10; i++)
        {
            if (myBut[i].getPrice() == imgPrice[randNum])
            {
                myChips += (myBut[i].getCurrentPrice() * 2);

            }
        }



        myBetting = 0;
        for (int i = 0; i < 10; i++) myBut[i].reSet();
        roundBool = false;
        round1Num = 0;
        round2Num = 0;
        round3Num = 0;
    }

    public void start()
    {
        time = 0.1f;
        roundBool = true;
        randNum = Random.Range(0, 23);
    }
    public void reset()
    {
        myChips = 100;
        myBetting = 0;
        for (int i = 0; i < 10; i++)
        {
            myBut[i].reSet();
        }
    }

    public void bettingButton(int _butNum)
    {
        int bettingTemp = myChips - myBut[_butNum].getPrice();
        if (bettingTemp >= 0)
        {
            myBetting += myBut[_butNum].getPrice();
            myChips = bettingTemp;
            myBut[_butNum].betting();
        }
    }

}

2016年12月8日 星期四

剪刀石頭佈





using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class NewBehaviourScript : MonoBehaviour {

void Start (){

}


void Update () {
}
 
public void click(){
            int randNum = Random.Range(1, 4);
            Text inform = GameObject.Find("Canvas/Panel/Text").GetComponent<Text>();
            inform.text = randNum.ToString();
            Image img = GameObject.Find("Canvas/Panel/Image").GetComponent<Image>();
            img.sprite = Resources.Load<Sprite>("image/" + randNum) as Sprite;
    }

}

球跟方塊(無材質)

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour
{
    public GameObject obj_Player;
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

        obj_Player = GameObject.Find("Sphere");
        if (Input.GetKeyDown(KeyCode.A))
        {
            obj_Player.transform.position += new Vector3(-0.5f, 0, 0);
        }
        else if (Input.GetKeyDown(KeyCode.D))
        {
            obj_Player.transform.position += new Vector3(0.5f, 0, 0);
        }
        else if (Input.GetKeyDown(KeyCode.W))
        {
            obj_Player.transform.position += new Vector3(0, 0, 0.5f);
        }
        else if (Input.GetKeyDown(KeyCode.S))
        {
            obj_Player.transform.position += new Vector3(0, 0, -0.5f);
        }
    }
}

球跟方塊(有材質)


using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour
{
    public GameObject obj_Player;
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

        obj_Player = GameObject.Find("Sphere");
        if (Input.GetKeyDown(KeyCode.A))
        {
            obj_Player.transform.position += new Vector3(-0.5f, 0, 0);
        }
        else if (Input.GetKeyDown(KeyCode.D))
        {
            obj_Player.transform.position += new Vector3(0.5f, 0, 0);
        }
        else if (Input.GetKeyDown(KeyCode.W))
        {
            obj_Player.transform.position += new Vector3(0, 0, 0.5f);
        }
        else if (Input.GetKeyDown(KeyCode.S))
        {
            obj_Player.transform.position += new Vector3(0, 0, -0.5f);
        }
    }
}

人物


using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour
{
    public GameObject obj_Player;
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

        obj_Player = GameObject.Find("HuMan");
        if (Input.GetKeyDown(KeyCode.A))
        {
            obj_Player.transform.position += new Vector3(-0.1f, 0, 0);
        }
        else if (Input.GetKeyDown(KeyCode.D))
        {
            obj_Player.transform.position += new Vector3(0.1f, 0, 0);
        }
        else if (Input.GetKeyDown(KeyCode.W))
        {
            obj_Player.transform.position += new Vector3(0, 0, 0.1f);
        }
        else if (Input.GetKeyDown(KeyCode.S))
        {
            obj_Player.transform.position += new Vector3(0, 0, -0.1f);
        }
    }
}

三原色

using UnityEngine;

using System.Collections;


using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour
{


    // Use this for initialization


    void Start()
    {


    }



    // Update is called once per frame


    void Update()
    {


        myfun();
    }


    public void myfun()

    {

float num = 0;

num = GameObject.Find("Slider").GetComponent<Slider>().value;

Text mytxt = GameObject.Find("Text").GetComponent<Text>();

mytxt.text = num.ToString();

Image img = GameObject.Find("Image").GetComponent<Image>();

img.color = new Color(num,0.0F,0.0F,1.0F);


float num2 = 0;

num2 = GameObject.Find("Slider2").GetComponent<Slider>().value;

Text mytxt2 = GameObject.Find("Text2").GetComponent<Text>();

mytxt2.text = num2.ToString();

Image img2 = GameObject.Find("Image2").GetComponent<Image>();

img2.color = new Color(0.0F,num2,0.0F,1.0F);


float num3 = 0;

num3 = GameObject.Find("Slider3").GetComponent<Slider>().value;

Text mytxt3 = GameObject.Find("Text3").GetComponent<Text>();

mytxt3.text = num3.ToString();

Image img3 = GameObject.Find("Image3").GetComponent<Image>();

img3.color = new Color(0.0F,0.0F,num3,1.0F);

Image img4 = GameObject.Find("Image4").GetComponent<Image>();

img4.color = new Color(num,num2,num3,1.0F);
    }
}