博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
14猜拳游戏
阅读量:6608 次
发布时间:2019-06-24

本文共 2339 字,大约阅读时间需要 7 分钟。

是 石头剪刀布  还是 剪刀石头布呢?

没想到它们之间的比值还有规律。

0 -1 -2

1 0 -1

2 1 0

平 赢 输

输 平 赢

赢 输 平

 

所以,0 是平局,-1 和 2 时是赢,-2 和 1 是输。

除了添加窗体,另外新建了一个类:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _14猜拳游戏{    enum Result    {        平手,        电脑赢,        用户赢    }    enum Quan    {        石头,        剪刀,        布    }    class wocai    {        public Quan Computer()        {            Random r = new Random();            int com = r.Next(0, 3);            //if (com == 0)            //{            //    return Quan.石头;            //}else if (com == 1)            //{            //    return Quan.剪刀;            //}else            //{            //    return Quan.布;            //}            //return Enum.GetName(typeof(Quan), com); //返回字符串            //从数值 返回 枚举类型            return (Quan)com;  //返回枚举值类型  等于上面的if判断        }        public Result GetResult(Quan str1, Quan str2)        {            int res = str1 - str2;            if (res == 0)            {                return Result.平手;            }            else if (res == -1 || res == 2)            {                return Result.用户赢;            }            else            {                return Result.电脑赢;            }        }    }}

 

窗体代码:

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 _14猜拳游戏{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            Quan yonghu = Quan.石头;            chuquan(yonghu);        }        private void chuquan(Quan yonghu)        {            wocai cai = new wocai();            Quan com = cai.Computer();            labelcomputer.Text = com.ToString();            labelplayer.Text = yonghu.ToString();            labelresult.Text = cai.GetResult(yonghu, com).ToString();        }        private void button2_Click(object sender, EventArgs e)        {            Quan yonghu = Quan.剪刀;            chuquan(yonghu);        }        private void button3_Click(object sender, EventArgs e)        {            Quan yonghu = Quan.布;            chuquan(yonghu);        }    }}

使用枚举,感觉清晰一点,而且不用建多个类。

 

转载于:https://www.cnblogs.com/andu/p/6179715.html

你可能感兴趣的文章
svs 在创建的时候 上传文件夹 bin obj 这些不要提交
查看>>
Tinkphp
查看>>
How to temporally disable IDE tools (load manually)
查看>>
Vue.js学习 Item4 -- 数据双向绑定
查看>>
几种排序方式的java实现(01:插入排序,冒泡排序,选择排序,快速排序)
查看>>
图片存储类型的种类、特点、区别
查看>>
GETTING UP AND RUNNING WITH NODE.JS, EXPRESS, JADE, AND MONGODB
查看>>
MySQLs数据库建外键时自动跑到缩影处,真奇怪
查看>>
static关键字
查看>>
js 合并多个对象 Object.assign
查看>>
Java 反射机制
查看>>
temporary Object and destructor
查看>>
xcode - 移动手势
查看>>
细说浏览器特性检测(1)-jQuery1.4添加部分
查看>>
古中国数学家的计算力真是惊人
查看>>
Java基础-算术运算符(Arithmetic Operators)
查看>>
C#编程(四十七)----------集合接口和类型
查看>>
【转】关于大型网站技术演进的思考(十二)--网站静态化处理—缓存(4)
查看>>
积跬步,聚小流------Bootstrap学习记录(1)
查看>>
HDUPhysical Examination(贪心)
查看>>