要做一个C#扫雷小游戏,但是完全不知道到怎么下手

时间:2021-03-21 21:01:07
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T

34 个解决方案

#1


baidu一下 這方面的東西很多!

#2


http://www.tg029.com/viewthread.php?tid=1266&extra=page%3D1

[推荐]面向对象开发扫雷游戏

讲师:王继彬 (喝口水就走http://blog.sina.com.cn/jbwang) 
时长:约200分钟

内容:介绍经典游戏——扫雷的开发全过程,采用经典的面向对象的思想进行开发。并附有源代码。


 

·第一部分 需求分析 
1、介绍典型项目的设计文档(下载) 2、介绍扫雷游戏的设计方案(下载) 
·第二部分 程序开发 
3、一步一步实现程序(一)(下载) 4、一步一步实现程序(二)(下载) 
5、一步一步实现程序(三)(下载) 6、一步一步实现程序(四)(下载) 
7、一步一步实现程序(五)(下载) 8、一步一步实现程序(六)(下载) 
9、最后的总结(下载)  
·第三部分 源代码 
10、程序源代码和项目文档(下载)  

 

 

下载说明: 
1)RayFile下载:点击【下载2】直接Http下载,或者点击【下载1】使用RayFile提供的下载工具高速下载。不支持迅雷等多线程下载工具,使用这些工具将有可能无法下载!

2)趣盘下载:http://www.qupan.com/down/jbwang_4673086.html

3)其他视频:http://blog.sina.com.cn/s/blog_3d7bed650100ajnr.html



不是广告噢.这个视频真的很不错.可以看看.

#3


引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T


都完全不会,那还是一个个粘贴吧,能粘贴出来还是不错的,就怕粘贴了还是不会做

#4


引用 1 楼 arduact 的回复:
baidu一下 這方面的東西很多!
我代码有百度到,但是界面设计没有啊

#5


引用 3 楼 hztltgg 的回复:
都完全不会,那还是一个个粘贴吧,能粘贴出来还是不错的,就怕粘贴了还是不会做


不仅仅是做出来的问题,是要会写

#6


引用 2 楼 zylsky 的回复:
http://www.tg029.com/viewthread.php?tid=1266&extra=page%3D1

[推荐]面向对象开发扫雷游戏

讲师:王继彬 (喝口水就走http://blog.sina.com.cn/jbwang) 
时长:约200分钟

内容:介绍经典游戏——扫雷的开发全过程,采用经典的面向对象的思想进行开发。并附有源代码。


 

……
谢谢,要的就是这样的

#7


按钮可以自己算位置,动态的创建。

#8


我记得www.codeproject.com上面有与Windows自带程序一样的工程(含源码),自己去搜一下。

#9


当年俺用vb.net写过,一个雷用一个按钮表示,慢的不行。往事不堪回首

#10


要做一个C#扫雷小游戏,但是完全不知道到怎么下手

#11


不用button,就判断鼠标点击的位置,你用一个int二维数组保存坐标,另一个int二维数组保存雷(有就为1,没就为0,用bool也好,不过int方便些)

然后重写form的paint事件
具体的逻辑就不用交了,这都不会那你就不算学过编程的

#12


引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T


都完全不会,那还是一个个粘贴吧,能粘贴出来还是不错的,就怕粘贴了还是不会做


嗯,对于初学者,能先一个一个的黏贴出来并把扫雷的所有功能都做出来  就已经很不容易了
可以先做出来,然后在想办法一点点的重构优化完善,这个过程将会是一个不错的成长过程。
当自己做的差不多了,再看看大师级别人的作品或者源码,再次恍然大悟,又会成长一步。这个过程将会很锻炼

#13


自己算位置,动态计算

#14


引用 12 楼 supertyro 的回复:
引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T


都完全不会,那还是一个个粘贴吧,能粘贴出来还是不错的,就怕粘贴了还是不会做
……


如果LZ底子太差,这样也是无可奈何的事情
但是只要编程基础确实有(哪怕只有控制台经验,只要玩得溜就行),还是多点挑战,当年我也是这么过来的,大一懵懵懂懂写的一个棋牌游戏,现在拿出手也不寒酸,只要肯钻研,我相信这个小游戏你一个星期管保做的很好(那棋牌游戏我连续每天工作16小时,3天拿下,说起来都不可思议,因为那时候确实不会winform)

#15


引用 14 楼 w3312656 的回复:
引用 12 楼 supertyro 的回复:
引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T


都完全不会,那还是一个个粘贴吧……

谢谢,我18个小时不睡觉了

#16


呵呵 关键还要看算法吧 界面应该是次要的

#17


引用 15 楼 pipi_li 的回复:
引用 14 楼 w3312656 的回复:
引用 12 楼 supertyro 的回复:
引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T……


不是18个小时不睡觉的问题,而是你确定现在的问题是出来按钮摆放太麻烦上?
如果我给你摆好,那么你是不是就能马上把代码写出来了?事实上,9×9太多,你完全可以做一个4×4的先呀

#18


codeproject上这类项目很多
外国人的想法很好

#19


关键字
mine
或者
minesweeper

#20


引用 17 楼 hztltgg 的回复:
引用 15 楼 pipi_li 的回复:
引用 14 楼 w3312656 的回复:
引用 12 楼 supertyro 的回复:
引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的……

我的意思是要一步步来,这是要最先解决的事

#21


button 也可以靠代码动态创建 啊

#22


问个跟C#扫雷无关的问题,csdn里发帖要扣分吗?

#23


我就是没有看懂你这个帖子的意思,至少貌似你都没有尝试开始写?

#24


引用 23 楼 thisiscandy 的回复:
我就是没有看懂你这个帖子的意思,至少貌似你都没有尝试开始写?

是的,我想知道怎么生成按钮,怎么写mouse的功能还没开始考虑

#25


该回复于2010-12-29 10:11:12被版主删除

#26


1、其实不一定要用那么多button啊。你可以用一张已经画好了表格的图片,然后判断鼠标是在哪个表格里面,当点击了鼠标的时候,就判断鼠标是属于哪个表格的范围,就响应当前表格内的事件就可以了。
2、你可以用一个变量来记录所有的雷数啊,当点击某一个表格的时候,就判断是否是雷,就将记录雷数的变量做相应的变化就可以了。
3、至于显示事件,你可以使用一个系统的时间函数就可以了。

整体的思路,你可以先做好界面,再做响应事件。。。。

#27


引用 26 楼 laj0600310219 的回复:
1、其实不一定要用那么多button啊。你可以用一张已经画好了表格的图片,然后判断鼠标是在哪个表格里面,当点击了鼠标的时候,就判断鼠标是属于哪个表格的范围,就响应当前表格内的事件就可以了。
2、你可以用一个变量来记录所有的雷数啊,当点击某一个表格的时候,就判断是否是雷,就将记录雷数的变量做相应的变化就可以了。
3、至于显示事件,你可以使用一个系统的时间函数就可以了。

整体的思路,你可以先……
画好表格的图片,具体怎么说?

#28


界面是为算法服务的,而不是算法给界面服务,你要先有算法才行呀,按钮组成和画表格,实现的算法是不同的

#29


引用 28 楼 hztltgg 的回复:
界面是为算法服务的,而不是算法给界面服务,你要先有算法才行呀,按钮组成和画表格,实现的算法是不同的


这位说的精辟

不过我觉得吧  你连时间和雷数用什么控件都不知道,,你能先做点简单的么?
你是觉得扫雷太简单了来做,还是因为要给自己目标高一点来做?

如果是前者,那你不适合做程序,完全没有评估好自己的能力
如果是后着,那你不是一个脚踏实地的人,东西是一点点做出来的
你要先给自己建立信心,才能慢慢的喜欢这个东西。
如果你一开始就把自己堵在那,我想问你能坚持多久?

#30


引用 29 楼 dodducs 的回复:
引用 28 楼 hztltgg 的回复:

界面是为算法服务的,而不是算法给界面服务,你要先有算法才行呀,按钮组成和画表格,实现的算法是不同的


这位说的精辟

不过我觉得吧 你连时间和雷数用什么控件都不知道,,你能先做点简单的么?
你是觉得扫雷太简单了来做,还是因为要给自己目标高一点来做?

如果是前者,那你不适合做程序,完全没有评估好自己的能力
如果是后着,那你不是一个……
你倒是把我仅存的希望浇灭了,或许我真的太高估自己了,大学选了自己完全抓瞎的专业,不过说实话,真的不想放弃,所以我想可能会断断续续,但是会坚持很久很久。
界面的确是为算法服务的,但是我觉得这是个架子,我要搞清架子,才好把东西挂上去。。。。
谢谢你的回复,尽管很难过。。。。

#31


引用 29 楼 dodducs 的回复:
这位说的精辟

不过我觉得吧 你连时间和雷数用什么控件都不知道,,你能先做点简单的么?
你是觉得扫雷太简单了来做,还是因为要给自己目标高一点来做?

如果是前者,那你不适合做程序,完全没有评估好自己的能力
如果是后着,那你不是一个……

定的高一点好,只要肯钻研,11楼是我基本思路,LZ可以参考下
只能说学东西都是逼出来的,一步到位虽不可能,但是大踏步走是没有阻碍的,无妨

正如我14楼说的,大一是每天平均16小时,那时候根本不懂事件、GDI+等东西,但是棋牌游戏到底是做出来了,虽说现在看上去逻辑很乱,但是功能总是无bug实现了
还有大二完全不会数据库的情况下连接并操作Oracle数据库,也是连续2天没睡觉通宵做出来(因为老师就给了1星期时间,做不出来挂你没商量),所以都是逼出来的(一样逻辑混乱无比,但是功能却全而无bug,嘿嘿)

#32


唉  楼主不错了  我到现在连扫雷是怎么回事还没整明白呢 都不会玩

#33


介个接铁律

#34


。。。。不能用循环添加???。。。莫名了。。。

桌面觉得最难得是后面的那些判断呢。。。

#1


baidu一下 這方面的東西很多!

#2


http://www.tg029.com/viewthread.php?tid=1266&extra=page%3D1

[推荐]面向对象开发扫雷游戏

讲师:王继彬 (喝口水就走http://blog.sina.com.cn/jbwang) 
时长:约200分钟

内容:介绍经典游戏——扫雷的开发全过程,采用经典的面向对象的思想进行开发。并附有源代码。


 

·第一部分 需求分析 
1、介绍典型项目的设计文档(下载) 2、介绍扫雷游戏的设计方案(下载) 
·第二部分 程序开发 
3、一步一步实现程序(一)(下载) 4、一步一步实现程序(二)(下载) 
5、一步一步实现程序(三)(下载) 6、一步一步实现程序(四)(下载) 
7、一步一步实现程序(五)(下载) 8、一步一步实现程序(六)(下载) 
9、最后的总结(下载)  
·第三部分 源代码 
10、程序源代码和项目文档(下载)  

 

 

下载说明: 
1)RayFile下载:点击【下载2】直接Http下载,或者点击【下载1】使用RayFile提供的下载工具高速下载。不支持迅雷等多线程下载工具,使用这些工具将有可能无法下载!

2)趣盘下载:http://www.qupan.com/down/jbwang_4673086.html

3)其他视频:http://blog.sina.com.cn/s/blog_3d7bed650100ajnr.html



不是广告噢.这个视频真的很不错.可以看看.

#3


引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T


都完全不会,那还是一个个粘贴吧,能粘贴出来还是不错的,就怕粘贴了还是不会做

#4


引用 1 楼 arduact 的回复:
baidu一下 這方面的東西很多!
我代码有百度到,但是界面设计没有啊

#5


引用 3 楼 hztltgg 的回复:
都完全不会,那还是一个个粘贴吧,能粘贴出来还是不错的,就怕粘贴了还是不会做


不仅仅是做出来的问题,是要会写

#6


引用 2 楼 zylsky 的回复:
http://www.tg029.com/viewthread.php?tid=1266&extra=page%3D1

[推荐]面向对象开发扫雷游戏

讲师:王继彬 (喝口水就走http://blog.sina.com.cn/jbwang) 
时长:约200分钟

内容:介绍经典游戏——扫雷的开发全过程,采用经典的面向对象的思想进行开发。并附有源代码。


 

……
谢谢,要的就是这样的

#7


按钮可以自己算位置,动态的创建。

#8


我记得www.codeproject.com上面有与Windows自带程序一样的工程(含源码),自己去搜一下。

#9


当年俺用vb.net写过,一个雷用一个按钮表示,慢的不行。往事不堪回首

#10


要做一个C#扫雷小游戏,但是完全不知道到怎么下手

#11


不用button,就判断鼠标点击的位置,你用一个int二维数组保存坐标,另一个int二维数组保存雷(有就为1,没就为0,用bool也好,不过int方便些)

然后重写form的paint事件
具体的逻辑就不用交了,这都不会那你就不算学过编程的

#12


引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T


都完全不会,那还是一个个粘贴吧,能粘贴出来还是不错的,就怕粘贴了还是不会做


嗯,对于初学者,能先一个一个的黏贴出来并把扫雷的所有功能都做出来  就已经很不容易了
可以先做出来,然后在想办法一点点的重构优化完善,这个过程将会是一个不错的成长过程。
当自己做的差不多了,再看看大师级别人的作品或者源码,再次恍然大悟,又会成长一步。这个过程将会很锻炼

#13


自己算位置,动态计算

#14


引用 12 楼 supertyro 的回复:
引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T


都完全不会,那还是一个个粘贴吧,能粘贴出来还是不错的,就怕粘贴了还是不会做
……


如果LZ底子太差,这样也是无可奈何的事情
但是只要编程基础确实有(哪怕只有控制台经验,只要玩得溜就行),还是多点挑战,当年我也是这么过来的,大一懵懵懂懂写的一个棋牌游戏,现在拿出手也不寒酸,只要肯钻研,我相信这个小游戏你一个星期管保做的很好(那棋牌游戏我连续每天工作16小时,3天拿下,说起来都不可思议,因为那时候确实不会winform)

#15


引用 14 楼 w3312656 的回复:
引用 12 楼 supertyro 的回复:
引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T,T


都完全不会,那还是一个个粘贴吧……

谢谢,我18个小时不睡觉了

#16


呵呵 关键还要看算法吧 界面应该是次要的

#17


引用 15 楼 pipi_li 的回复:
引用 14 楼 w3312656 的回复:
引用 12 楼 supertyro 的回复:
引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的和雷数的是什么属性的控件,。。。。。都不会T……


不是18个小时不睡觉的问题,而是你确定现在的问题是出来按钮摆放太麻烦上?
如果我给你摆好,那么你是不是就能马上把代码写出来了?事实上,9×9太多,你完全可以做一个4×4的先呀

#18


codeproject上这类项目很多
外国人的想法很好

#19


关键字
mine
或者
minesweeper

#20


引用 17 楼 hztltgg 的回复:
引用 15 楼 pipi_li 的回复:
引用 14 楼 w3312656 的回复:
引用 12 楼 supertyro 的回复:
引用 3 楼 hztltgg 的回复:
引用楼主 pipi_li 的回复:
稀里糊涂学了一个学期的C#,完全不会,C#最不一样的是界面设计,但是没头绪,比如扫雷的button,即使是初级的也有9*9个,不可能一个个粘贴吧,可是那怎么实现啊,还有那个显示时间的……

我的意思是要一步步来,这是要最先解决的事

#21


button 也可以靠代码动态创建 啊

#22


问个跟C#扫雷无关的问题,csdn里发帖要扣分吗?

#23


我就是没有看懂你这个帖子的意思,至少貌似你都没有尝试开始写?

#24


引用 23 楼 thisiscandy 的回复:
我就是没有看懂你这个帖子的意思,至少貌似你都没有尝试开始写?

是的,我想知道怎么生成按钮,怎么写mouse的功能还没开始考虑

#25


该回复于2010-12-29 10:11:12被版主删除

#26


1、其实不一定要用那么多button啊。你可以用一张已经画好了表格的图片,然后判断鼠标是在哪个表格里面,当点击了鼠标的时候,就判断鼠标是属于哪个表格的范围,就响应当前表格内的事件就可以了。
2、你可以用一个变量来记录所有的雷数啊,当点击某一个表格的时候,就判断是否是雷,就将记录雷数的变量做相应的变化就可以了。
3、至于显示事件,你可以使用一个系统的时间函数就可以了。

整体的思路,你可以先做好界面,再做响应事件。。。。

#27


引用 26 楼 laj0600310219 的回复:
1、其实不一定要用那么多button啊。你可以用一张已经画好了表格的图片,然后判断鼠标是在哪个表格里面,当点击了鼠标的时候,就判断鼠标是属于哪个表格的范围,就响应当前表格内的事件就可以了。
2、你可以用一个变量来记录所有的雷数啊,当点击某一个表格的时候,就判断是否是雷,就将记录雷数的变量做相应的变化就可以了。
3、至于显示事件,你可以使用一个系统的时间函数就可以了。

整体的思路,你可以先……
画好表格的图片,具体怎么说?

#28


界面是为算法服务的,而不是算法给界面服务,你要先有算法才行呀,按钮组成和画表格,实现的算法是不同的

#29


引用 28 楼 hztltgg 的回复:
界面是为算法服务的,而不是算法给界面服务,你要先有算法才行呀,按钮组成和画表格,实现的算法是不同的


这位说的精辟

不过我觉得吧  你连时间和雷数用什么控件都不知道,,你能先做点简单的么?
你是觉得扫雷太简单了来做,还是因为要给自己目标高一点来做?

如果是前者,那你不适合做程序,完全没有评估好自己的能力
如果是后着,那你不是一个脚踏实地的人,东西是一点点做出来的
你要先给自己建立信心,才能慢慢的喜欢这个东西。
如果你一开始就把自己堵在那,我想问你能坚持多久?

#30


引用 29 楼 dodducs 的回复:
引用 28 楼 hztltgg 的回复:

界面是为算法服务的,而不是算法给界面服务,你要先有算法才行呀,按钮组成和画表格,实现的算法是不同的


这位说的精辟

不过我觉得吧 你连时间和雷数用什么控件都不知道,,你能先做点简单的么?
你是觉得扫雷太简单了来做,还是因为要给自己目标高一点来做?

如果是前者,那你不适合做程序,完全没有评估好自己的能力
如果是后着,那你不是一个……
你倒是把我仅存的希望浇灭了,或许我真的太高估自己了,大学选了自己完全抓瞎的专业,不过说实话,真的不想放弃,所以我想可能会断断续续,但是会坚持很久很久。
界面的确是为算法服务的,但是我觉得这是个架子,我要搞清架子,才好把东西挂上去。。。。
谢谢你的回复,尽管很难过。。。。

#31


引用 29 楼 dodducs 的回复:
这位说的精辟

不过我觉得吧 你连时间和雷数用什么控件都不知道,,你能先做点简单的么?
你是觉得扫雷太简单了来做,还是因为要给自己目标高一点来做?

如果是前者,那你不适合做程序,完全没有评估好自己的能力
如果是后着,那你不是一个……

定的高一点好,只要肯钻研,11楼是我基本思路,LZ可以参考下
只能说学东西都是逼出来的,一步到位虽不可能,但是大踏步走是没有阻碍的,无妨

正如我14楼说的,大一是每天平均16小时,那时候根本不懂事件、GDI+等东西,但是棋牌游戏到底是做出来了,虽说现在看上去逻辑很乱,但是功能总是无bug实现了
还有大二完全不会数据库的情况下连接并操作Oracle数据库,也是连续2天没睡觉通宵做出来(因为老师就给了1星期时间,做不出来挂你没商量),所以都是逼出来的(一样逻辑混乱无比,但是功能却全而无bug,嘿嘿)

#32


唉  楼主不错了  我到现在连扫雷是怎么回事还没整明白呢 都不会玩

#33


介个接铁律

#34


。。。。不能用循环添加???。。。莫名了。。。

桌面觉得最难得是后面的那些判断呢。。。