2016年12月30日 星期五

物件導向#C - 期末作業

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour
{
    Text mytxt;
    Text mytxt1;
    Text mytxt2;
    Text ctxt;
    Text ctxt1;
    Text ctxt2;
    Text c1txt;
    Text c2txt;
    Text c3txt;
    Image img;
    Image img1;
    Image img2;

    int Mmoney = 0;
    int cmoney1 = 0;
    int cmoney2 = 0;
    int cmoney3 = 0;
    // Use this for initialization
    void Start()
    {
        Mmoney = 138;
        mytxt = GameObject.Find("Canvas/Panel/Button/Text").GetComponent<Text>();
        mytxt1 = GameObject.Find("Canvas/Panel/Button1/Text").GetComponent<Text>();
        ctxt = GameObject.Find("Canvas/Panel/Text").GetComponent<Text>();
        ctxt1 = GameObject.Find("Canvas/Panel/Text (1)").GetComponent<Text>();
        ctxt2 = GameObject.Find("Canvas/Panel/Text (2)").GetComponent<Text>();
        c1txt = GameObject.Find("Canvas/Panel/Button2/Text").GetComponent<Text>();
        c2txt = GameObject.Find("Canvas/Panel/Button3/Text").GetComponent<Text>();
        c3txt = GameObject.Find("Canvas/Panel/Button4/Text").GetComponent<Text>();
        img = GameObject.Find("Canvas/Panel/Image").GetComponent<Image>();
        img1 = GameObject.Find("Canvas/Panel/Image1").GetComponent<Image>();
        img2 = GameObject.Find("Canvas/Panel/Image2").GetComponent<Image>();
    }

    // Update is called once per frame
    void Update()
    {
        mytxt.text = Mmoney.ToString();
        c1txt.text = cmoney1.ToString();
        c2txt.text = cmoney2.ToString();
        c3txt.text = cmoney3.ToString();
    }
    public void myfun()
    {
        Mmoney = Mmoney + 1;

    }
    public void mygame()
    {
        int rnum;
        rnum = Random.Range(0, 3);
        mytxt1.text = rnum.ToString();
        if (rnum == 0)
        {
            img.color = UnityEngine.Color.red;
            img1.color = UnityEngine.Color.black;
            img2.color = UnityEngine.Color.black;
            ctxt.text = "1";
            ctxt1.text = "0";
            ctxt2.text = "0";
            cmoney1 = cmoney1 * 2;
            cmoney2 = 0;
            cmoney3 = 0;
            Mmoney = Mmoney + cmoney1;
            cmoney1 = 0;

        }
        if (rnum == 1)
        {
            img.color = UnityEngine.Color.black;
            img1.color = UnityEngine.Color.red;
            img2.color = UnityEngine.Color.black;
            ctxt.text = "0";
            ctxt1.text = "1";
            ctxt2.text = "0";
            cmoney2 = cmoney2 * 2;
            cmoney1 = 0;
            cmoney3 = 0;
            Mmoney = Mmoney + cmoney2;
            cmoney2 = 0;

        }
        if (rnum == 2)
        {
            img.color = UnityEngine.Color.black;
            img1.color = UnityEngine.Color.black;
            img2.color = UnityEngine.Color.red;
            ctxt.text = "0";
            ctxt1.text = "0";
            ctxt2.text = "1";
            cmoney2 = 0;
            cmoney1 = 0;
            cmoney3 = cmoney2 * 2;
            Mmoney = Mmoney + cmoney3;
            cmoney3 = 0;

        }


    }
    public void c1()
    {
        cmoney1 = cmoney1 + 1;

        Mmoney = Mmoney - 1;

    }
    public void c2()
    {
        cmoney2 = cmoney2 + 1;

        Mmoney = Mmoney - 1;
    }
    public void c3()
    {
        cmoney3 = cmoney3 + 1;

        Mmoney = Mmoney - 1;


    }
}




2016年12月22日 星期四

物件導向C# - 猜猜看可得分或失分

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour
{
    Text mytxt;
    Text mytxt1;
    Text mytxt2;
    Text mytxt3;
    Text mytxt4;
    Text mytxt5;
    int mymoney1 = 100;
    int mymoney2 = 100;
    int mymoney3 = 100;
    // Use this for initialization
    void Start()
    {

        mytxt = GameObject.Find("Canvas/Panel/Text").GetComponent<Text>();
        mytxt1 = GameObject.Find("Canvas/Panel/Text1").GetComponent<Text>();
        mytxt2 = GameObject.Find("Canvas/Panel/Text2").GetComponent<Text>();
        mytxt3 = GameObject.Find("Canvas/Panel/Text3").GetComponent<Text>();
        mytxt4 = GameObject.Find("Canvas/Panel/Text4").GetComponent<Text>();
        mytxt5 = GameObject.Find("Canvas/Panel/Text5").GetComponent<Text>();
        mytxt2.text = mymoney1.ToString();
        mytxt3.text = mymoney2.ToString();
        mytxt5.text = mymoney3.ToString();

    }

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

    }

    public void myfun()
    {
        int num = 0, num1 = 0, num2 = 0;


        num = Random.Range(0, 2);
        num1 = Random.Range(0, 2);

        if (num == 0)
        {
            num1 = 1;
            num2 = 0;
            mymoney1 = mymoney1 + 0;
            mymoney2 = mymoney2 + 2;
            mymoney3 = mymoney3 + 0;

        }
        else if (num1 == 0)
        {
            num = 0;
            num2 = 1;
            mymoney1 = mymoney1 + 0;
            mymoney2 = mymoney2 + 0;
            mymoney3 = mymoney3 + 2;

        }
        else
        {
            num1 = 0;
            num2 = 0;
            mymoney1 = mymoney1 + 2;
            mymoney2 = mymoney2 + 0;
            mymoney3 = mymoney3 + 0;
        }


        mytxt.text = num.ToString();
        mytxt1.text = num1.ToString();
        mytxt4.text = num2.ToString();

        mytxt2.text = mymoney1.ToString();
        mytxt3.text = mymoney2.ToString();
        mytxt5.text = mymoney3.ToString();


        //Image img = GameObject.Find ("Image").GetComponent<Image> ();
        //img.color = UnityEngine.Color.red;
        //mytxt1.text =Random.Range(1,2).ToString();
        //float translation = Time.deltaTime * 10;
    }


    public void myfun1()
    {
        mymoney1 = mymoney1 - 1;
        mytxt2.text = mymoney1.ToString();

    }
    public void myfun2()
    {
        mymoney2 = mymoney2 - 1;

        mytxt3.text = mymoney2.ToString();
    }
    public void myfun3()
    {
        mymoney3 = mymoney3 - 1;

        mytxt5.text = mymoney3.ToString();
    }

}




2016年12月15日 星期四

物件導向C# - 紅綠燈

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

public class Counter : MonoBehaviour {
int num;
double fMyWaitTime=4.0;
double WaitTimecount=0;
// Use this for initialization
void Start () {
num = 0;
}

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

Text mytxt=GameObject.Find("Text").GetComponent<Text>();
num = num + 1;
int countnum = num % 4;
mytxt.text =countnum.ToString();
WaitTimecount=0;
mywait ();

if (countnum==0)
{
Image img = GameObject.Find ("Image1").GetComponent<Image> ();
img.color = new Color(1.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==1)
{
Image img = GameObject.Find ("Image1").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==2)
{
Image img = GameObject.Find ("Image1").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==3)
{
Image img = GameObject.Find ("Image1").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==0)
{
Image img = GameObject.Find ("Image").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==1)
{
Image img = GameObject.Find ("Image").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==2)
{
Image img = GameObject.Find ("Image").GetComponent<Image> ();
img.color = new Color(1.0F, 1.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==3)
{
Image img = GameObject.Find ("Image").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==0)
{
Image img = GameObject.Find ("Image2").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==1)
{
Image img = GameObject.Find ("Image2").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==2)
{
Image img = GameObject.Find ("Image2").GetComponent<Image> ();
img.color = new Color(0.0F, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
if (countnum==3)
{
Image img = GameObject.Find ("Image2").GetComponent<Image> ();
img.color = new Color(0.0F, 1.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)

}
}

void mywait()
{

while (WaitTimecount <= fMyWaitTime) {
//do stuff;

WaitTimecount = WaitTimecount + 0.01;
Debug.Log ( WaitTimecount );

}

}

}





2016年12月8日 星期四

2016年12月2日 星期五

物件導向C# - 繞圈跑

using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { Vector3[] T = new Vector3[4]; // Use this for initialization void Start() { T[0] = new Vector3(100f, 0f, 100f); T[1] = new Vector3(-100f, 0f, 100f); T[2] = new Vector3(-100f, 0f, -100f); T[3] = new Vector3(100f, 0f, -100f); } int aa = 0; // Update is called once per frame void Update() { transform.position = Vector3.MoveTowards(transform.position, T[aa], 50 * Time.deltaTime); if (transform.position == T[aa]) aa = (aa + 1) % 4; } }

2016年11月18日 星期五

物件導向C# - 3DUnity




using UnityEngine;
using System.Collections;

public class TransformFunctions : MonoBehaviour
{
public float moveSpeed = 100000000*10f;
public float turnSpeed = 100*50f;


void Update ()
{
if(Input.GetKey(KeyCode.UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);

if(Input.GetKey(KeyCode.DownArrow))
transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);

if(Input.GetKey(KeyCode.LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);

if(Input.GetKey(KeyCode.RightArrow))
transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
}
}


2016年11月10日 星期四

物件導向C# - 3D的Unity遊戲 2 (第一人稱球體移動)

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 (-1.0f, 0, 0);
} else if (Input.GetKeyDown (KeyCode.D)) {
obj_Player.transform.position += new Vector3 (1.0f, 0, 0);
} else if (Input.GetKeyDown (KeyCode.W)) {
obj_Player.transform.position += new Vector3 (0, 0, 1.0f);
} else if (Input.GetKeyDown (KeyCode.S)) {
obj_Player.transform.position += new Vector3 (0, 0, -1.0f);
}
}
}

改變球、正方體與地板的材質



 執行後,以第一人稱(球)進行前後左右的移動



2016年11月4日 星期五

物件導向C# - 3D的Unity遊戲

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 (-1.0f, 0, 0);
} else if (Input.GetKeyDown (KeyCode.D)) {
obj_Player.transform.position += new Vector3 (1.0f, 0, 0);
} else if (Input.GetKeyDown (KeyCode.W)) {
obj_Player.transform.position += new Vector3 (0, 0, 1.0f);
} else if (Input.GetKeyDown (KeyCode.S)) {
obj_Player.transform.position += new Vector3 (0, 0, -1.0f);
}
}
}


按鍵盤WASD鍵,可控制球體移動。


物件導向C# - 學習Slider 的用法




using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
using System.Linq;
using System.Collections.Generic;

public class NewBehaviourScript : MonoBehaviour {

// Use this for initialization
void Start () {

}

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

}

public void myfun()
{
float rnum=0;
float gnum=0;
float bnum=0;
rnum=GameObject.Find("Slider").GetComponent<Slider>().value;
gnum=GameObject.Find("Slider1").GetComponent<Slider>().value;
bnum=GameObject.Find("Slider2").GetComponent<Slider>().value;
Text mytxt=GameObject.Find("Text").GetComponent<Text>();
Text mytxt1=GameObject.Find("Text1").GetComponent<Text>();
Text mytxt2=GameObject.Find("Text2").GetComponent<Text>();
mytxt.text =rnum.ToString();
mytxt1.text =gnum.ToString();
mytxt2.text =bnum.ToString();
Image img = GameObject.Find ("Image").GetComponent<Image> ();
Image img1 = GameObject.Find ("Image1").GetComponent<Image> ();
Image img2 = GameObject.Find ("Image2").GetComponent<Image> ();
Image img3 = GameObject.Find ("Image3").GetComponent<Image> ();
img.color = new Color(rnum, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)
img1.color = new Color(0.0F, gnum, 0.0F, 1.0F);
img2.color = new Color(0.0F, 0.0F, bnum, 1.0F);
img3.color = new Color(rnum, gnum, bnum, 1.0F);
}
}

2016年10月14日 星期五

物件導向C# - 計時器(visual studio)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { DateTime dtNext; public Form1() { InitializeComponent(); } private void timer1_Tick(object sender, EventArgs e) { textBox1.Text = DateTime.Now.ToString(); TimeSpan MySpan = dtNext.Subtract(DateTime.Now); string diffHour = Convert.ToString(MySpan.Hours); string diffMin = Convert.ToString(MySpan.Minutes); string diffSec = Convert.ToString(MySpan.Seconds); label1.Text = "還有" + diffHour + " 時 " + diffMin + " 分 " + diffSec + " 秒 "; } private void Form1_Load(object sender, EventArgs e) { dtNext = DateTime.Now.AddHours(2); timer1.Start(); } private void label1_Click(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { timer1.Enabled = true; } private void button2_Click(object sender, EventArgs e) { timer1.Enabled = false; } private void textBox1_TextChanged(object sender, EventArgs e) { } } }

2016年10月7日 星期五

物件導向C# - 隨機產生 猜拳遊戲(unity)

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()
    {
    }
    public void myfun()
    {
        int num = Random.Range(1, 4);
        Text mytxt = GameObject.Find("Canvas/Panel/Text").GetComponent<Text>();
        mytxt.text = num.ToString();
        Image Imgy = GameObject.Find("Canvas/Panel/Image").GetComponent<Image>();
        Imgy.sprite = Resources.Load<Sprite>("Image/" + num) as Sprite;
    }
}