目录
- 一、实验目的:
- 二、实验要求:
- 三、实验内容:
- 四、实验源代码:
- 五、实验结果:
- 六、总结
本文实例为大家分享了C#实现扫雷游戏的具体代码,供大家参考,具体内容如下
一、实验目的:
1、掌握c#窗体和控件的常用属性和功能
2、完成扫雷游戏的基本功能
二、实验要求:
1、游戏基本功能必须实现。鼠标左键点非雷点,否则游戏结束;鼠标右键一次标记雷点,邮件两次标记上问号,右键三次取消标记。
2、可以对游戏选择难度,分为初级、中级和高级,按笑脸按钮重新开始游戏
3、符合游戏逻辑。每个点周围的雷的个数必须正确
4、点开雷点,显示游戏结束,并且显示各个点的情况
5、点开所有非雷点或者标记完所有雷点时,能够显示游戏胜利
6、不接受键盘操作,只接受鼠标操作
三、实验内容:
1、构建菜单栏,添加开始栏、帮助栏,开始栏用于游戏难度的选择,帮助栏用于游戏规则的介绍
2、创建雷区,使用buttonarray模拟雷区,start按钮用于重新开始游戏
3、鼠标左键时,分三种情况:
(1)鼠标点击雷点时,直接显示游戏结束
(2)鼠标点击空白点时,周围没雷,则显示周围点的情况,周围有雷,只显示此点的雷数
(3)鼠标左键点了一个大于0的数字,显示周围雷点的情况,若周围雷点标错,直接显示游戏结束
4、鼠标右键时,第一次标记为雷点,第二次标记为疑问,第三次取消标记。
5、显示周围点的情况时,因为周围点的雷点数也可能为0,还需要显示此点周围的情况,需用递归,完成此项功能。
6、点击笑脸按钮时,如果不是第一次开始,就删除原有按钮,否则直接初始化长度、宽度和雷数,重新构建button按钮
7、点击菜单栏的难度选择按钮时,如果不是第一次开始,就删除原有按钮,否则直接初始化长度、宽度和雷数,重新构建button按钮
四、实验源代码:
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 WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Size s = new Size(250,300);
this.MaximumSize = this.MinimumSize = s;
this.Size = s;
}Button start = new Button();
Button[,] buttonarray;
int[,] MileState;
int Miles = 10;
int widths = 9, heights = 9;
int remain;//剩余雷数
int notMiles;//剩余非雷数
int isfirst = 1;//是否是第一次
int[,] sign;//表示各点是否输出
private void Form1_Load(object sender, EventArgs e)
{
MenuStrip ms = new MenuStrip();
ToolStripMenuItem tsmione = new ToolStripMenuItem("开始");
ToolStripMenuItem tsmi1 = new ToolStripMenuItem("初级");
ToolStripMenuItem tsmi2 = new ToolStripMenuItem("中级");
ToolStripMenuItem tsmi3 = new ToolStripMenuItem("高级");
ToolStripMenuItem tsmi4 = new ToolStripMenuItem("退出");
tsmione.DropDownItems.Add(tsmi1);
tsmione.DropDownItems.Add(tsmi2);
tsmione.DropDownItems.Add(tsmi3);
tsmione.DropDownItems.Add(tsmi4);
ms.Items.Add(tsmione);
tsmi1.Click += new EventHandler(tsmi1_Click);
tsmi2.Click += new EventHandler(tsmi2_Click);
tsmi3.Click += new EventHandler(tsmi3_Click);
tsmi4.Click += new EventHandler(tsmi4_Click);
ToolStripMenuItem tsmitwo = new ToolStripMenuItem("帮助");
ToolStripMenuItem tsmi5 = new ToolStripMenuItem("游戏规则");
tsmi5.Click += new EventHandler(tsmi5_Click);
tsmitwo.DropDownItems.Add(tsmi5);
ms.Items.Add(tsmitwo);
this.Controls.Add(ms);
//笑脸按钮
start.Text = "声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)