甲乙玩剪刀石头布C语言编码,C#实现剪刀石头布游戏

2023-10-21 10:40

本文主要是介绍甲乙玩剪刀石头布C语言编码,C#实现剪刀石头布游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

游戏界面如下所示:

616d72cd2796e6a8ab70c3e9f43893c5.png

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

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

{

///

/// 存储电脑出的拳头

///

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);

}

}

}

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

时间: 2019-01-22

这篇关于甲乙玩剪刀石头布C语言编码,C#实现剪刀石头布游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/253863

相关文章

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

PyQt6/PySide6中QTableView类的实现

《PyQt6/PySide6中QTableView类的实现》本文主要介绍了PyQt6/PySide6中QTableView类的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录1. 基本概念2. 创建 QTableView 实例3. QTableView 的常用属性和方法

PyQt6/PySide6中QTreeView类的实现

《PyQt6/PySide6中QTreeView类的实现》QTreeView是PyQt6或PySide6库中用于显示分层数据的控件,本文主要介绍了PyQt6/PySide6中QTreeView类的实现... 目录1. 基本概念2. 创建 QTreeView 实例3. QTreeView 的常用属性和方法属性

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

pandas中位数填充空值的实现示例

《pandas中位数填充空值的实现示例》中位数填充是一种简单而有效的方法,用于填充数据集中缺失的值,本文就来介绍一下pandas中位数填充空值的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是中位数填充?为什么选择中位数填充?示例数据结果分析完整代码总结在数据分析和机器学习过程中,处理缺失数

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型

使用Pandas进行均值填充的实现

《使用Pandas进行均值填充的实现》缺失数据(NaN值)是一个常见的问题,我们可以通过多种方法来处理缺失数据,其中一种常用的方法是均值填充,本文主要介绍了使用Pandas进行均值填充的实现,感兴趣的... 目录什么是均值填充?为什么选择均值填充?均值填充的步骤实际代码示例总结在数据分析和处理过程中,缺失数

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合