C#實現(xiàn)剪刀石頭布游戲
更新時間:2020年10月11日 11:42:02 作者:必勝蝦
這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)剪刀石頭布游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了C#實現(xiàn)剪刀石頭布游戲的具體代碼,供大家參考,具體內(nèi)容如下
游戲界面如下所示:

首先我們必須知道要創(chuàng)建三個類玩家類,電腦類,裁判類
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);
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于C#實現(xiàn)網(wǎng)絡(luò)爬蟲 C#抓取網(wǎng)頁Html源碼
這篇文章主要為大家詳細(xì)介紹了基于C#實現(xiàn)網(wǎng)絡(luò)爬蟲的相關(guān)資料,即C#抓取網(wǎng)頁Html源碼,感興趣的小伙伴們可以參考一下2016-03-03
C#批量插入數(shù)據(jù)到Sqlserver中的三種方式
這篇文章主要為大家詳細(xì)介紹了C#批量插入數(shù)據(jù)到Sqlserver中的三種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
WindowsForm移動一個沒有標(biāo)題欄的窗口的方法
這篇文章主要介紹了WindowsForm移動一個沒有標(biāo)題欄的窗口的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07

