本文主要介绍了C#简易人机对抗“石头剪刀布”游戏的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
需要实现如下图所示的人机猜拳小游戏:
我们需要建立一个玩家类Player、一个电脑类Computer、一个裁判类Judge来分别模拟各自的操作:
【Player.cs】
/*
* 作者:JeronZhou
* 时间:2021-11-01
* 功能:石头剪刀布游戏
*/
using System;
namespace Test2_2
{
public class Player
{
public string FistName { get; set; }
public int Play(string name)
{
FistName = name;
switch (FistName)
{
case "石头":
return 1;
case "剪刀":
return 2;
case "布":
return 3;
default:
return 0;
}
}
}
}
【Computer.cs】
/*
* 作者:JeronZhou
* 时间:2021-11-01
* 功能:石头剪刀布游戏
*/
using System;
namespace Test2_2
{
public class Computer
{
public string FistName { get; set; }
public int RandomPlay()
{
Random random = new Random(Guid.NewGuid().GetHashCode());
int num = random.Next(1, 4);
switch (num)
{
case 1:
FistName = "石头";
break;
case 2:
FistName = "剪刀";
break;
case 3:
FistName = "布";
break;
}
return num;
}
}
}
【Judge.cs】
/*
* 作者:JeronZhou
* 时间:2021-11-01
* 功能:石头剪刀布游戏
*/
using System;
namespace Test2_2
{
public class Judge
{
public string Win(int play, int computer)
{
int result = play - computer;
switch (result)
{
case -1:
return "你赢了";
case 2:
return "你赢了";
case -2:
return "你输了";
case 1:
return "你输了";
default:
return "平手";
}
}
}
}
【窗体设计】
共有5个标签(3个空标签),三个按钮。
【MainForm.cs】
/*
* 作者:JeronZhou
* 时间:2021-11-01
* 功能:石头剪刀布游戏
*/
using System;
using System.Windows.Forms;
namespace Test2_2
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
void Button1Click(object sender, EventArgs e)
{
Player p = new Player();
int playerName = p.Play(button1.Text);
label3.Text = p.FistName;
Computer c = new Computer();
int computerName = c.RandomPlay();
label4.Text = c.FistName;
Judge judge = new Judge();
label5.Text = judge.Win(playerName, computerName);
}
void Button2Click(object sender, EventArgs e)
{
Player p = new Player();
int playerName = p.Play(button2.Text);
label3.Text = p.FistName;
Computer c = new Computer();
int computerName = c.RandomPlay();
label4.Text = c.FistName;
Judge judge = new Judge();
label5.Text = judge.Win(playerName, computerName);
}
void Button3Click(object sender, EventArgs e)
{
Player p = new Player();
int playerName = p.Play(button3.Text);
label3.Text = p.FistName;
Computer c = new Computer();
int computerName = c.RandomPlay();
label4.Text = c.FistName;
Judge judge = new Judge();
label5.Text = judge.Win(playerName, computerName);
}
}
}
【Program.cs】
/*
* 作者:JeronZhou
* 时间:2021-11-01
* 功能:石头剪刀布游戏
*/
using System;
using System.Windows.Forms;
namespace Test2_2
{
internal sealed class Program
{
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}
【测试结果】
到此这篇关于C#简易人机对抗“石头剪刀布”游戏的实现的文章就介绍到这了,更多相关C# 石头剪刀布内容请搜索得得之家以前的文章希望大家以后多多支持得得之家!
沃梦达教程
本文标题为:C#简易人机对抗“石头剪刀布”游戏的实现


基础教程推荐
猜你喜欢
- C# Winform实现石头剪刀布游戏 2023-01-11
- c#中利用Tu Share获取股票交易信息 2023-03-03
- c#读取XML多级子节点 2022-11-05
- C#通过GET/POST方式发送Http请求 2023-04-28
- Unity shader实现多光源漫反射以及阴影 2023-03-04
- C# – NetUseAdd来自Windows Server 2008和IIS7上的NetApi32.dll 2023-09-20
- 使用c#从分隔文本文件中插入SQL Server表中的批量数据 2023-11-24
- 京东联盟C#接口测试示例分享 2022-12-02
- C#集合查询Linq在项目中使用详解 2023-06-09
- C#中类与接口的区别讲解 2023-06-04