C#带你玩扫雷(附源码)-创新互联

扫雷游戏,大家都应该玩过吧!其实规则也很简单,可是我们想自己实现一个扫雷,我们应该怎么做呢?

创新互联是一家集网站建设,类乌齐企业网站建设,类乌齐品牌网站建设,网站定制,类乌齐网站建设报价,网络营销,网络优化,类乌齐网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

C#带你玩扫雷(附源码)

Step1: 知晓游戏原理

扫雷就是要把所有非地雷的格子揭开即胜利;踩到地雷格子就算失败。游戏主区域由很多个方格组成。使用鼠标左键随机点击一个方格,方格即被打开并显示出方格中的数字;方格中数字则表示其周围的8个方格隐藏了几颗雷;如果点开的格子为空白格,即其周围有0颗雷,则其周围格子自动打开;如果其周围还有空白格,则会引发连锁反应;在你认为有雷的格子上,点击右键即可标记雷;如果一个已打开格子周围所有的雷已经正确标出,则可以在此格上同时点击鼠标左右键以打开其周围剩余的无雷格。

1代表1的上下左右及斜角合计有一颗雷,依次轮推,2则有2颗,3则有3颗..

在确实是炸弹的方格上点了旗子,就安全了,不是炸弹的被点了旗子,后面会被炸死的..问号就先不确定这里有没有炸弹,不会存在点错了被炸死的状况..

Step2: 由step1可知,游戏由格子组成,翻译成代码语言就叫做数组,也就是游戏地图就是一个二维数组。格子对象,格子的值即当前雷的数量,那么此时我们暂定雷的数字标识为-1。除此之外,格子对象还有是否被显示,显示当前雷数量等属性,那么我们大概可以定义这样一个类:

 public class CellBlockRole
  {
    /// 
    /// 位于游戏地图中的坐标点X
    /// 
    public int X { get; set; }

    /// 
    /// 位于游戏地图中的坐标点Y
    /// 
    public int Y { get; set; }

    /// 
    /// 是否展示最后格子所代表的结果
    /// 
    public bool IsShowResult { get; set; } = false;

    /// 
    /// 是否计算数字结果
    /// 
    public bool IsComputeResult { get; set; } = false;

    /// 
    /// 是否已经展示过计算结果了
    /// 
    public bool IsHasShowComputed { get; set; } = false;

    /// 
    /// 当前的格子的角色数字, -1:地雷,其他当前雷的数量
    /// 
    public int Number { set; get; } = 0;

    /// 
    /// 是否被Flag标识
    /// 
    public bool IsFlag { get; set; } = false;

    /// 
    /// 是否是雷
    /// 
    public bool IsBoom => Number == -1;

  }

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:C#带你玩扫雷(附源码)-创新互联
文章路径:http://scjbc.cn/article/cegcos.html

其他资讯