游戏:剪刀石头布
实现功能:
1、电脑随机出牌(剪刀石头布)
2、玩家选择出牌(剪刀石头布)
3、玩家没有出牌时,电脑变幻牌面;
玩家出牌后,电脑出牌,并停止变幻牌面3秒,期间玩家无法选择出牌
4、玩家和电脑出牌后,电脑自动计分。
-
using UnityEngine;
-
using System.Collections;
-
-
public class hw0310a : MonoBehaviour {
-
-
public Rect windows1;
-
public Rect windows2;
-
public Rect btn1;
-
public Rect btn2;
-
public Rect btn3;
-
public Rect box1;
-
public Rect box2;
-
public Rect label1;
-
public Rect label2;
-
public string str1;
-
public string str2;
-
public int score1;
-
public int score2;
-
public Texture[] texture;
-
public int ComputerCp;
-
public int PlayerCp;
-
public GUISkin myskin;
-
public bool notShowTime;
-
public float MaxTime=3;
-
void Start () {
-
windows1=new Rect(100,240,400,120);
-
windows2=new Rect(100,0,400,195);
-
btn1=new Rect(40,20,80,80);
-
btn2=new Rect(160,20,80,80);
-
btn3=new Rect(280,20,80,80);
-
box1=new Rect(50,30,100,100);
-
box2=new Rect(250,30,100,100);
-
label1 = new Rect (95, 150, 50, 50);
-
label2 = new Rect (295, 150, 50, 50);
-
score1 = 0;
-
score2 = 0;
-
str1 = score1.ToString ();
-
str2 = score2.ToString ();
-
PlayerCp = 4;
-
notShowTime = false;
-
}
-
-
-
void Update () {
-
str1 = score1.ToString ();
-
str2 = score2.ToString ();
-
-
if (notShowTime==false)
-
{
-
computerShow ();
-
}
-
else
-
{
-
MaxTime -= Time.deltaTime;
-
if (MaxTime < 0)
-
{
-
notShowTime = false;
-
MaxTime=3;
-
}
-
}
-
}
-
-
void computerShow(){
-
if (ComputerCp < 2) {
-
ComputerCp++;
-
} else {
-
ComputerCp = 0;
-
}
-
}
-
void OnGUI()
-
{
-
windows1=GUI.Window (1, windows1, windowFun1, "Game");
-
windows2=GUI.Window (2, windows2, windowFun2, "Computer VS Player");
-
}
-
-
void windowFun1(int Id)
-
{
-
if (GUI.Button (btn1, texture [0]))
-
{
-
if(notShowTime==false)
-
{
-
PlayerCp=0;
-
ComputerOut();
-
gameLogic();
-
}
-
}
-
-
if (GUI.Button (btn2, texture [1]))
-
{
-
if(notShowTime==false)
-
{
-
PlayerCp=1;
-
ComputerOut();
-
gameLogic();
-
}
-
}
-
-
if (GUI.Button (btn3, texture [2]))
-
{
-
if(notShowTime==false)
-
{
-
PlayerCp=2;
-
ComputerOut();
-
gameLogic();
-
}
-
}
-
-
-
GUI.DragWindow (new Rect(0,0,400,120));
-
}
-
-
void windowFun2(int Id)
-
{
-
-
-
GUI.DragWindow (new Rect(0,0,400,195));
-
-
GUI.Box (box1,texture[ComputerCp]);
-
GUI.Box (box2,texture[PlayerCp]);
-
-
GUI.Label (label1, str1);
-
GUI.Label (label2, str2);
-
}
-
-
void ComputerOut()
-
{
-
notShowTime = true;
-
int a=PlayerCp;
-
int b = PlayerCp - 2;
-
int c = PlayerCp + 1;
-
if (PlayerCp == 2)
-
{
-
int[] Cp1 = new int[]{a,b};
-
int i = Random.Range (0, 2);
-
ComputerCp = Cp1[i];
-
}
-
else
-
{
-
int[] Cp2= new int[]{a,c};
-
int i = Random.Range (0, 2);
-
ComputerCp = Cp2[i];
-
}
-
-
-
}
-
-
-
void gameLogic()
-
{
-
int a = ComputerCp - PlayerCp;
-
switch (a)
-
{
-
case 0:Debug.Log ("pingju");break;
-
case 1:
-
case -2:
-
{
-
Debug.Log ("Player Lose");
-
score1=score1+1;
-
break;
-
}
-
case 2:
-
case -1:
-
{
-
Debug.Log ("Player Win");
-
score2=score2+1;
-
break;
-
}
-
default:break;
-
}
-
-
}
-
}
Unity-->实现剪刀石头布的游戏
原文:http://blog.csdn.net/cc_meng/article/details/44679213