学c#的原因其实挺简单的,因为一直对游戏挺感兴趣,查了下比较流行的游戏引擎统一的主要开发语言是c#,所以就决定从c#入手,学学面向对象的编程方法。
以前基本都做的是嵌入式开发,做嵌入式久了,基本上只用C语言,C语言面向过程的特性在嵌入式编程这种资源极度受限的情况确实十分有利,但这种方式在面对大型软件的开发的时候就很难胜任了。编程的模式其实是一种思维习惯,习惯久了以后,想改变确实是一个艰难的过程···
说起c#,其实在大学的时候学过一个学期,说来惭愧那时候倒也没把它当一门面向对象的语言(其实是当时根本不知道面向对象是啥),感觉跟C语言也就一点语法差异,把所有的用法全部归为语法不同,说来也神奇,这种方法倒也能编程。最终学期结束的时候交上去一份用Winform开发的扫雷游戏结束了我的c#学习,在那之后就再也没碰过c#。
现在重拾c#,为了免除掉不必要的干扰,并没有直接在团结上学习,而是仍然在大战中学习,但这次选择了比较新的WPF,而不是WInform上,作为学习,第一个任务还是跟以前一样做一个扫雷游戏。
写在不怎么前面的前面:本文主要分享下程序分析过程,具体的实现方法不是本文重点,对实现有问题的朋友可以自行评论区留言索要源码或者提问^ _ ^ .
<强> 1。游戏分析强>
那进入正题,应该如何完成这个游戏。忽略细枝末节的部分(如计时,显示剩余雷数,菜单栏等)不说,就单说这个游戏的主体:扫雷区。
在游戏没开始的时候,扫雷区放眼望去其实只有一个东西,那就是方块…
ImageSource cubeNormalPic ImageSource cubeOnPic ImageSource cubeDownPic ImageSource cubeDisablePic ImageSource cubeFlagPic
这5个字段是用来设置立方体在各个状态所显示的图片的(普通,鼠标进入,左键按下,失能,标记)
Bool isEnable Bool isFlag
这两个字段就是标记立方体是否被使能和标记