上架项目开源-occupyBox


occupyBox是我五月份上架至app store的个人项目,一个休闲小游戏。

规则就是将小方块都变色即可,其实挺好玩的~

现在将源码开源放出,下载地址

当时的编写思路

/*********************我是分割线*********************/

游戏规则:

每个box都有两个状态,即free状态(数据源为NO)以及 occupied状态(数据源为YES) 初始状态都为free状态

当box被点击,那么该box的当前状态会变为对立状态,即free->occupied 或者 occupied->free

同时该box相邻(不包含对角线相邻的box)的box状态也会互换

当所有的box都变为occupied状态时游戏结束

思路:

根据被点击box的索引规则区分 设阶数为:d

1:边角索引规律

     左上:x0 = 0

     相邻:

                 x0 + 1

                 x0 + d

     右上:x1 = 阶数 - 1

     相邻:

                  x1 - 1

                  x1 + d

      左下:x2 = 阶数的平方 - 阶数

      相邻:

                   x2 - d

                   x2 + 1

      右下:x3 = 阶数的平方 - 1

      相邻:

                    x3 - 1

                    x3 - d

2:边线索引规律(不包括边角) [y0]表示索引集合 [y0] + 1表示y0中每个索引都 + 1得到新索引

       top:

                   x0 < [y0] < x1

       相邻:

                    [y0] + d

                    y0 - 1 >= 0

                    y0 + 1 <= x1

        left:

                     [y1] = d的整数倍(0 < 倍数 < d) 例如四阶左边线索引[y1] =        [4,8]

        相邻:

                     [y1] + 1

                     y2 - d >= 0

                     y2 + d <= x2

         bottom:

                     x2 < [y2] < x3

         相邻:

                     [y2] - d

                     y2 - 1 >= x2

                     y2 + 1 <= x3

         right:

                     [y3] = [y1] + (d - 1)

3:其他 z

         相邻:

                     z - d

                     z - 1

                     z + d

                     z + 1

/*********************我是分割线*********************/

欢迎交流!互勉!

推荐阅读更多精彩内容

  • 来源: http://www.douban.com/group/topic/14820131/ 调整变量格式: f...
    MC1229阅读 4,586评论 0 4
  • (转自http://www.douban.com/group/topic/14820131/,转自人大论坛) 调整...
    f382b3d9bdb3阅读 4,692评论 0 4
  • C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的 算法 题目:...
    Poison_19ce阅读 448评论 0 0
  • MCMC和Gibbs Sampling 1.随机模拟 随机模拟又名蒙特卡罗方法,蒙特卡罗方法的源头就是当年用...
    wlj1107阅读 3,429评论 3 6
  • 下班刚从车上下来,就看见了小西弟弟。小西弟弟兴奋的样子,只想从小西爷爷的电瓶车上跳下来。我抱他下来,他挥手给爷爷...
    任小艺阅读 32评论 0 0