现在的位置: 首页 > 综合 > 正文

猜拳Game

2013年04月09日 ⁄ 综合 ⁄ 共 3438字 ⁄ 字号 评论关闭

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 猜拳Game
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //玩家出剪刀
        private void btnjiandao_Click(object sender, EventArgs e)
        {
            //获取当前按钮的文本内容
            string strJiandao = btnjiandao.Text;
            //将按钮上的文本赋给label框lblplayer
            lblplayer.Text = strJiandao;
            // 调用下面 将文本转换成响应整型的办法 将文本框的内容 剪刀转换成对应的整数并赋给 vPlayer
            int vPlayer = changtoValue(strJiandao);
            // MessageBox.Show(v.ToString());
            //运行PC的办法 电脑随机出拳 
            PC();
           
            //将电脑label框 lblPC的内容赋给字符串strPC
            string strPC = lblPC.Text;
            //调用转成字符串为整数的办法 将响应的电脑出拳转成整数
            int vPC = changtoValue(strPC);
            //MessageBox.Show("策画机出了值为:"+ vPC.ToString());
            //调用裁判的办法 传入2个整数值 玩家 和电脑的数据 进行对比
            Judge(vPlayer, vPC);
        }

        private void btnshitou_Click(object sender, EventArgs e)
        {
            string strShitou = btnshitou.Text;
            lblplayer.Text = strShitou ;
            int vPlayer = changtoValue(strShitou);
            // MessageBox.Show(v.ToString());
            PC();
            string strPC = lblPC.Text;
            int vPC = changtoValue(strPC);
            //MessageBox.Show("策画机出了值为:" + vPC.ToString));
             Judge(vPlayer, vPC);
        }

        private void btnbu_Click(object sender, EventArgs e)
        {
        string strBu = btnbu.Text;
            lblplayer.Text = strBu;
            int vPlayer = changtoValue(strBu);
            //MessageBox.Show(v.ToString());
            PC();
            string strPC = lblPC.Text;
            int vPC = changtoValue(strPC);
            //MessageBox.Show("策画机出了值为:" + vPC.ToString));
            Judge(vPlayer, vPC);
        }
       
        public int changtoValue(string str)
        {
            int n=0;
            //对传入的字符串进行断定
            //若是 为剪刀 则给n 付与值1
            if(str=="剪刀")
            {
                n=1;
            }
            else if(str=="石头")
            {
                n=2;
            }
            else if(str=="布")
            {
                n=3;
            }
            else
            {
                throw new Exception("未知错误");
            }
            return n;
        }
        // 剪刀1  石头2  布3
        //写一个电脑随机出拳的办法
        public string PC()
        {
            //用一个随机函数 电脑获取的数为1-3
            Random ran = new Random();
            //random.Next办法 取最小值,但不取最大值, 所以在1-3内随机取值
            int n = ran.Next(1, 4);
            //new 一个空字符串 strPC
            string strPC = "";
            //进行简单剖断 获取的随机值 同时转换成响应的字符串
            //若是随机值取到1
            if (n == 1)
            {
                //则赋给空字符串一个 "剪刀"
                strPC = "剪刀";
            }
            else  if (n == 2)
            {
                strPC = "石头";
            }
            else  if (n == 3)
            {
                strPC = "布";
            }
             else
            {
                throw new Exception("未知错误");
            }
            //将获取的字符串 赋给label框 lblPC
             lblPC.Text = strPC;
             //并返回一个字符串 strPC
             return strPC;
        }
        //斗劲玩家和电脑的值

        public void Judge(int Player,int PC)
        {
            // 剪刀1  石头2  布3
            //赢的景象有2种 1种是 玩家比电脑值大1  一种是小2
            if (Player - PC == 1||Player - PC==-2)
            {
                lblResult.Text = "你赢了";
            }
            else if(Player - PC == 0)
            {
                lblResult.Text = "平局";
            }
            //除此之外 只有输的景象了
            else
            {
                 lblResult.Text = "你输了";
            }
        }

    }
}

抱歉!评论已关闭.