C#实现剪刀石头布游戏

所属分类: 软件编程 / C#教程 阅读数: 112
收藏 0 赞 0 分享

本文实例为大家分享了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#开发word批量转pdf源码分享

已经安装有Office环境,借助一些简单的代码即可实现批量Word转PDF,看下面的实例源码吧
收藏 0 赞 0 分享

c# xml API操作的小例子

这篇文章主要介绍了c# xml API操作的小例子,有需要的朋友可以参考一下
收藏 0 赞 0 分享

c#唯一值渲染实例代码

这篇文章主要介绍了c#唯一值渲染实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

淘宝IP地址库采集器c#代码

这篇文章主要介绍了淘宝IP地址库采集器c#代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C#在后台运行操作(BackgroundWorker用法)示例分享

BackgroundWorker类允许在单独的专用线程上运行操作。如果需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用BackgroundWorker类方便地解决问题,下面看示例
收藏 0 赞 0 分享

c#文本加密程序代码示例

这是一个加密软件,但只限于文本加密,加了窗口控件的滑动效果,详细看下面的代码
收藏 0 赞 0 分享

c#生成站点地图(SiteMapPath)文件示例程序

这篇文章主要介绍了c#生成站点地图(SiteMapPath)文件的示例,大家参考使用
收藏 0 赞 0 分享

C# 键盘Enter键取代Tab键实现代码

这篇文章主要介绍了C# 键盘Enter键取代Tab键实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm导出Excel方法介绍

在.NET应用中,导出Excel是很常见的需求,导出Excel报表大致有以下三种方式:Office PIA,文件流和NPOI开源库,本文只介绍前两种方式
收藏 0 赞 0 分享

C#串口通信程序实例详解

在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports,创建C#串口通信程序的具体实现是如何的呢?让我们开始吧
收藏 0 赞 0 分享
查看更多