溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#如何實(shí)現(xiàn)剪刀石頭布游戲

發(fā)布時(shí)間:2021-05-17 10:24:28 來(lái)源:億速云 閱讀:481 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了C#如何實(shí)現(xiàn)剪刀石頭布游戲,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體內(nèi)容如下

游戲界面如下所示:

C#如何實(shí)現(xiàn)剪刀石頭布游戲

首先我們必須知道要?jiǎng)?chuàng)建三個(gè)類(lèi)玩家類(lèi),電腦類(lèi),裁判類(lèi)

1、玩家類(lèi)中的代碼為

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、電腦類(lèi)中的代碼為

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PlayGame
{
 class Computer
 {
 /// <summary>
 /// 存儲(chǔ)電腦出的拳頭
 /// </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、裁判類(lèi)中的代碼為

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

C#是什么

C#是一個(gè)簡(jiǎn)單、通用、面向?qū)ο蟮木幊陶Z(yǔ)言,它由微軟Microsoft開(kāi)發(fā),繼承了C和C++強(qiáng)大功能,并且去掉了一些它們的復(fù)雜特性,C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性和便捷的面向組件編程從而成為.NET開(kāi)發(fā)的首選語(yǔ)言,但它不適用于編寫(xiě)時(shí)間急迫或性能非常高的代碼,因?yàn)镃#缺乏性能極高的應(yīng)用程序所需要的關(guān)鍵功能。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“C#如何實(shí)現(xiàn)剪刀石頭布游戲”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI