甲乙玩剪刀石头布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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值