一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C# Winform實現石頭剪刀布游戲

C# Winform實現石頭剪刀布游戲

2022-03-08 14:24jiliqiang1986 C#

這篇文章主要為大家詳細介紹了Winform實現石頭剪刀布游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Winform實現石頭剪刀布游戲的具體代碼,供大家參考,具體內容如下

新建一個windows窗體程序,用數字1代表石頭,用數字2代表剪刀,用數字3代表布,結果取玩家和電腦出拳之差,有三種結果

玩家贏: -1,2

平手: 0

玩家輸: 其它值

新建3個類: 

1)Computer.cs 電腦隨機出拳

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace 石頭剪刀布
 
{
 
 class Computer
 
 {
 
 public string Fist
 {
 
  get;
  set;
 
 }
 
 public int ShowFist()
 
 {
  Random rnd = new Random();
  int fist = rnd.Next(1, 4);
  switch (fist)
 
  {
 
  case 1: Fist = "石頭"; break;
  case 2: Fist = "剪刀"; break;
  case 3: Fist = "布"; break;
 
  }
 
  return fist;
 
 }
 
 }
 
}

2)、Judge.cs 裁判類 判斷輸贏 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace 石頭剪刀布
 
{
 class Judge
 
 {
 
 public enum RESULT
 
 {
 
  玩家贏,
  電腦贏,
  平手
 
 }
 
 public static RESULT WhoWin(int playerNum, int computerNum)
 
 {
 
  int result = playerNum - computerNum;
  if (result == -1 || result == 2)
 
  {
 
  return RESULT.玩家贏;
 
  }
 
  else if (result == 0)
 
  {
 
  return RESULT.平手;
 
  }
 
  else
 
  {
 
  return RESULT.電腦贏;
 
  }
 
 }
 
 }
 
}

3)、Player.cs 玩家,出拳 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace 石頭剪刀布
 
{
 
 class Player
 
 {
 
 public static int ShowFist(string fist)
 
 {
 
  switch (fist)
 
  {
 
  case "石頭": return 1;
  case "剪刀": return 2;
  case "布": return 3;
  default: return 0;
 
  }
 
 }
 
 }
 
}

界面后臺實現代碼: 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace 石頭剪刀布
 
{
 
 public partial class Form1 : Form
 
 {
 
 public Form1()
 
 {
 
  InitializeComponent();
 
 }
 
 /// <summary>
 /// 點擊石頭按鈕
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnStone_Click(object sender, EventArgs e)
 
 {
 
  String fist = "石頭";
 
  Game(fist);
 
 }
 
 /// <summary>
 /// 點擊剪刀按鈕
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 
 private void btnScissors_Click(object sender, EventArgs e)
 
 {
 
  String fist = "剪刀";
  Game(fist);
 
 }
 
 /// <summary>
 /// 點擊布按鈕
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 
 private void btnCloth_Click(object sender, EventArgs e)
 
 {
 
  String fist = "布";
  Game(fist);
 
 
 
 }
 
 
 
 //背景圖片輪播
 String[] paths = Directory.GetFiles(@"C:\work\stone");//此目錄里面必須有圖片,否則會報錯
 private void timer1_Tick(object sender, EventArgs e)
 
 {
 
  this.BackgroundImage = Image.FromFile(paths[new Random().Next(0, paths.Length)]);
 
 
 
 }
 static int playerWinTimes = 0;//玩家贏的次數
 static int gameTimes = 0;//總共次數
 static int tieTimes = 0;//平手次數
 
 
 /// <summary>
 /// 通用方法
 /// </summary>
 /// <param name="fist"></param>
 
 private void Game(String fist)
 
 {
 
  gameTimes++;
  lbPlayer.Text = fist;
  int playerNum = Player.ShowFist(fist);
  Computer cpu = new Computer();
  int cpuNum = cpu.ShowFist();
  lbComputer.Text = cpu.Fist;
  Judge.RESULT result = Judge.WhoWin(playerNum, cpuNum);
  lbJudge.Text = result.ToString();
  lbStatistics.Text = "統計信息:\n\n1.您贏了" + playerWinTimes + "場比賽!\n\n" + "2.平手了" + tieTimes + "次; \n\n" + "3.輸掉了" + (gameTimes - playerWinTimes - tieTimes) + "場比賽; \n\n" + "4.共進行了" + gameTimes + "場比賽!\n\n";
 
 
  if (result == Judge.RESULT.玩家贏)
 
  {
 
  playerWinTimes++;
  MessageBox.Show("恭喜,您已經贏了" + playerWinTimes + "場比賽!" + " 共進行了" + gameTimes + "場比賽!");
 
  }
 
  else if (result == Judge.RESULT.平手)
 
  {
 
  tieTimes++;
 
  }
 
 
 }
 
 }
 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/jiliqiang1986/article/details/52035008

延伸 · 閱讀

精彩推薦
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
主站蜘蛛池模板: caoporen97免费公开视频 | 四虎影音 | 亚洲国产精品一区二区首页 | 99re热这里只有精品视频 | bestialitysex杂交 bedfriend泰剧全集免费观看 | 黑帮大佬与我的365天2标清中文 | 日本又黄又裸一级大黄裸片 | china外卖员gay帮口 | 免费网站视频 | 欧美sq| 亚洲欧洲日产国码无码av | 极品蜜桃臀美女啪啪 | 久久人妻少妇嫩草AV無碼 | 欧美图片另类小说综合 | 99久久精品国产片久人 | 亚洲AV久久无码精品蜜桃 | 国产日产在线观看 | 乖女的嫩奶水h文孕妇 | 寡妇一级毛片 | 男公厕里同性做爰 | 国产欧美va欧美va香蕉在线观 | 二次元美女内裤凹陷太深 | 久久se视频精品视频在线 | 欧美xxxxxbb| 日韩伦理在线免费观看 | 国产手机在线αⅴ片无码观看 | 久久WWW免费人成一看片 | 免费特黄一区二区三区视频一 | 麻豆找网服 | 99这里只有精品视频 | 咪咪爱小说 | 四虎国产精品免费入口 | 亚洲精品tv久久久久久久久久 | segou视频在线观看 | 国产特黄一级一片免费 | 国产肥臀| 免费理伦片高清在线 | 十六以下岁女子毛片免费 | 精品国产品在线18年 | 公园吃女人奶野战视频 | 日韩影院在线观看 |