当前位置 : 主页 > 编程语言 > c语言 >

C#实现剪刀石头布游戏

来源:互联网 收集:自由互联 发布时间:2021-05-17
本文实例为大家分享了C#实现剪刀石头布游戏的具体代码,供大家参考,具体内容如下 游戏界面如下所示: 首先我们必须知道要创建三个类玩家类,电脑类,裁判类 1、玩家类中的代码

本文实例为大家分享了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);
 }
 }
}

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

网友评论