C#实现剪刀石头布游戏

 更新时间:2020年10月11日 11:42:02   作者:必胜虾  
这篇文章主要为大家详细介绍了C#实现剪刀石头布游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C#实现剪刀石头布游戏的具体代码,供大家参考,具体内容如下

游戏界面如下所示:

首先我们必须知道要创建三个类玩家类,电脑类,裁判类

1、玩家类中的代码为

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PlayGame
{
 class Player
 {
 public int showFist(string str)
 {
 int num = 0;
 switch (str)
 {
 case "剪刀": num = 1; break;
 case "石头": num = 2; break;
 case "布": num = 3; break;

 }
 return num;

 }
 }
}

2、电脑类中的代码为

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PlayGame
{
 class Computer
 {
 /// <summary>
 /// 存储电脑出的拳头
 /// </summary>
 public string fist
 {
 get;
 set;
 }
 public int cpuShowFist()
 {
 Random r = new Random();
 int cnum=r.Next(1,4);
 switch(cnum)
 {
 case 1: this.fist = "剪刀"; break;
 case 2: this.fist = "石头"; break;
 case 3: this.fist = "布"; break;
 }
 return cnum;
 }
 }
}

3、裁判类中的代码为

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PlayGame
{
 class Judge
 {
 public enum Result
 { 
 电脑赢,玩家赢,平局
 }
 public static Result caipan(int playerNum, int cpuNum)
 {
 if ((playerNum - cpuNum) == 1 || (playerNum - cpuNum) == -2)
 return Result.玩家赢;
 else if((playerNum-cpuNum)==0)
 return Result.平局;
 else
 return Result.电脑赢;
 }
 }
}

4、其他的事件代码

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 PlayGame
{
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }

 private void btncut_Click(object sender, EventArgs e)
 {

 NewMethod(btncut.Text);

 }

 private void NewMethod(string str)
 {
 lblPlayer.Text = str;
 Player player = new Player();
 int playerNum = player.showFist(str);

 Computer cpu = new Computer();
 int cpuNum = cpu.cpuShowFist();
 lblComputer.Text = cpu.fist;

 PlayGame.Judge.Result res = Judge.caipan(playerNum, cpuNum);
 lblJudge.Text = res.ToString();
 }


 private void btnstone_Click(object sender, EventArgs e)
 {
 NewMethod(btnstone.Text);
 }

 private void btnbu_Click(object sender, EventArgs e)
 {
 NewMethod(btnbu.Text);
 }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 基于C#实现网络爬虫 C#抓取网页Html源码

    基于C#实现网络爬虫 C#抓取网页Html源码

    这篇文章主要为大家详细介绍了基于C#实现网络爬虫的相关资料,即C#抓取网页Html源码,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • C#批量插入数据到Sqlserver中的三种方式

    C#批量插入数据到Sqlserver中的三种方式

    这篇文章主要为大家详细介绍了C#批量插入数据到Sqlserver中的三种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • WindowsForm移动一个没有标题栏的窗口的方法

    WindowsForm移动一个没有标题栏的窗口的方法

    这篇文章主要介绍了WindowsForm移动一个没有标题栏的窗口的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • c#下将.cs文件编译成dll

    c#下将.cs文件编译成dll

    c#下将.cs文件编译成dll...
    2007-07-07
  • c# 进程内部的同步

    c# 进程内部的同步

    这篇文章主要介绍了c# 进程内部的同步,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下
    2020-10-10
  • Winform控件优化之圆角按钮1

    Winform控件优化之圆角按钮1

    这篇文章主要介绍了Winform控件优化之圆角按钮,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-08-08
  • c#注册表操作类分享

    c#注册表操作类分享

    这篇文章主要介绍了c#注册表操作类,主要包括创建注册表项、读取注册表项、判断注册表项是否存在、删除注册表项、创建注册表键值 、读取注册表键值、判断注册表键值是否存在、删除注册表键值等功能,需要的朋友可以参考下
    2014-03-03
  • C#单线程和多线程的端口扫描器应用比较详解

    C#单线程和多线程的端口扫描器应用比较详解

    这篇文章主要详细对比分析了C#单线程和多线程的端口扫描器应用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • KMP算法的C#实现方法

    KMP算法的C#实现方法

    这篇文章主要介绍了KMP算法的C#实现方法,代码简洁实用,需要的朋友可以参考下
    2014-09-09
  • c#字符串查找某词出现的次数及索引

    c#字符串查找某词出现的次数及索引

    本文主要介绍了c#字符串中某个词出现的次数及索引,需要的朋友可以参考下
    2014-02-02

最新评论