练习:仿Windows扫雷游戏

分为控制台下的模拟打印雷区 和 Winform程序。

庆幸的是,中途本想去网上找算法参考的,还是忍住了,勉勉强强竟然给挤出来了。

哈,还是值得庆幸下,纯属原创。

 

《MineSweeping  改前》 和 《MineSweeping  改后》两个解决方案(应该叫解决方案吧- -#)中只有MineSweepingXP这个项目有修改,区别是改前把所有扫雷的操作判断全写在“雷”的控件里,自己都看不下去,还是折腾下,尝试着提取出来了,不然在最底层的对象里不断去调用父控件,完全摆脱掉面向对象的概念,一直这样,自己都快疯了。。。。。改掉后,雷区直接Enable = false掉,然后通过坐标去判断雷的。代码还是有点乱,譬如"this"。。。

实现了大部分功能,性能却很低,也有许多bug,后面Winform的算法和控制台的算法好像是不一样的,控制台的不重要,MineSweeping工程里是最早做的,自己画的图,雷也很Big,很雷人。后面干脆重新做个1:1仿造的,把Win扫雷的图全部手动截下来,自己做成素材,电子钟则是在flash cs3里画,然后导出的。

2010080316180255.jpg

 

GDI。。。?我不懂 - -# 。好吧,只能贴图。

功能上有些没实现,胜利的条件也缺少几种判断,也没往下做了,先多学些基础先。。。

 2010080316263482.jpg Console 输出情况

  

 2010080316264350.jpg Winform   与windows自带的扫雷相似度90%  :)

  

2010080316384519.jpg比起之前的版本清晰了不少,更加合理些

  

  功能:

 开局,初级,中级,高级,自定义,英雄榜

 初级,中级,高级破记录则会登英雄榜

  记录上一次关闭时的游戏设置

(以上功能和系统自带的扫雷是一样的)

 (数据是用XML文件记录的,不过扩展名被我换成dll了。在Debug下)

 扫雷的功能应该是全部有了,缺少的可能有:

 1.胜利条件没有判断全(如:剩余未打开的雷格子全是雷时,应为胜利)

 2.左右键同时按下移动鼠标,这里的算法太卡,移动快会有拖影,还有就是松开鼠标时,不应该再响应鼠标UP事件

 3.在棋子旁边,左右键双击有个翻开雷的功能,这个功能是朋友说的,玩不来 - - 。

 4.左右键 很多小bug...

 5. ...

 

   源代码和素材下载

 

 本人初学,未接触过算法,在补最基础的知识ing

 可能有些东西错得很离谱,请多指教  :)

 

 

 

转载于:https://www.cnblogs.com/jacky87/archive/2010/08/03/1791395.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值