博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
步步为营-05-面向对象简单实例
阅读量:4979 次
发布时间:2019-06-12

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

说明:涉及知识点:winform窗体, 

1 首先大致的UI页面做好

 

2 面向对象分析

需要三个对象(电脑,玩家,裁判),

对象对应方法(出拳,出拳,判断)

2.1 首先定义电脑;

  电脑随机出拳,使用到随机方法.其次要把随机数转化成具体出拳内容,通过属性值显示个UI

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace FigerPlay{   public class Computer    {        //获取出的内容,用于显示给UI        private string fist;        public string Fist        {            get { return fist; }            set { fist = value; }        }        public int ShowFist()        {           //获取随机数--用于判断输赢           int computerResult = new Random().Next(1,4);                     switch (computerResult)           {               case 1:                   this.Fist = "剪刀";                   break;               case 2:                   this.Fist = "石头";                   break;               case 3:                   this.Fist = "布";                   break;               default :                   this.Fist = "未知异常";                   break;                                                 }           return computerResult;       }    }}
Computer

2.2 定义玩家

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace FigerPlay{   public class Player    {        private string fist;        public string Fist        {            get { return fist; }            set { fist = value; }        }        public int ShowFist(string fistContent)        {           this.Fist = fistContent;           int computerResult = 0;           switch (fistContent)           {               case "剪刀":                   computerResult = 1;                   break;               case "石头":                   computerResult = 2;                   break;               case "布":                   computerResult = 3;                   break;                       }           return computerResult;       }    }}
Player

2.3 定义裁判

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace FigerPlay{    public class Referee    {        public static string ShowResult(int a, int b)        {            string resultStr = string.Empty;            int result = a - b;            if (result == 1 || result == -2)            {                resultStr = "玩家胜";            }            if (result == 0)            {                resultStr = "平";            }            if (result == -1 || result == 2)            {                resultStr = "电脑胜";            }            return resultStr ;        }    }}
Referee

2.4 mian方法

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 FigerPlay{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        //当点击"按钮"是触发事件        private void btnScissors_Click(object sender, EventArgs e)        {            //1-调用用户的ShowFist方法:传递一个参数,返回一个int            string result = btnScissors.Text;            PlayGame(result);        }        private void btnStone_Click(object sender, EventArgs e)        {            //1-调用用户的ShowFist方法:传递一个参数,返回一个int            string result = btnStone.Text;            PlayGame(result);        }        private void btnCloth_Click(object sender, EventArgs e)        {            string result = btnCloth.Text;            PlayGame(result);        }        private void PlayGame(string resu)        {                       //1-调用用户的ShowFist方法:传递一个参数,返回一个int            Player p = new Player();            string playerContent = resu;            int playerResult = p.ShowFist(playerContent);            //2-调用电脑的ShowFist方法            Computer c = new Computer();            int computerResult = c.ShowFist();            //3-调用裁判的比较方法            string result = Referee.ShowResult(playerResult, computerResult);            //4-输出结果            lblComputerResult.Text = c.Fist;            lblPlayResult.Text = p.Fist;            lblShowResult.Text = result;        }            }}
View Code

转载于:https://www.cnblogs.com/YK2012/p/6703334.html

你可能感兴趣的文章
php 设计模式学习笔记之单例模式
查看>>
最优化方法与机器学习工具集
查看>>
clr enabled Server Configuration Option
查看>>
Python批量修改文件名
查看>>
一步一步学Silverlight 2系列(3):界面布局
查看>>
建立可扩展的silverlight应用框架 step-2
查看>>
Java面试宝典系列之基础排序算法
查看>>
Java注解总结
查看>>
将w3cplus网站中的文章页面提取并导出为pdf文档
查看>>
EventListenerTouchOneByOne::create() 单点触摸
查看>>
Google 发布 CityHash 系列散列算法
查看>>
2016读书计划
查看>>
安装mongoDB
查看>>
WFD:精简的3D建模语言和工具
查看>>
1187: [HNOI2007]神奇游乐园 - BZOJ
查看>>
BZOJ1008 [HNOI2008]越狱 (快速幂,组合)
查看>>
Ubuntu14.04安装ROS Indigo
查看>>
Spring boot 、swagger、c3p0、mybatis和redis 整合
查看>>
ASP.NET MVC 3 中 WebMail 使用的简单例子
查看>>
[Jenkins] 在Jenkins执行单个test suite
查看>>