loyant loyant
关注数: 16 粉丝数: 1,144 发帖数: 17,067 关注贴吧数: 13
从连连看游戏程序设计角度看这次bug 写一个连连看游戏的步骤 第一步: 建立一个二维数组存棋盘(一维也行,就是后面要换算一下,看省空间还是省时间),比如4x5行,那就用6x7的二维数组(因为连线检测可以在棋盘外连线,为了后续连线检测逻辑一致性就扩充一圈棋盘,当然可以不扩充,后续检测程序麻烦点额外处理棋盘外空间就是了) 第二步: 设置棋格的类型枚举,比如这次游戏到现在看到有3种棋格:能放棋子的格子,不放棋子但可以联通的格子,障碍格子。 第三步: 设置棋子的id(比如有8种棋子,就设置8个id,当然小游戏图省事儿一般就默认0-7了),和id->图片资源的映射(一般图省事儿就是icon_id.png) 第四步: 根据棋盘地形(比如策划事先填表规定了哪些格子是障碍,哪些格子是不放棋子但联通)计算需要多少个棋子,比如20个,然后新建一个长度20的数组,随机填充0-9角标的元素,再然后把0-9角标的元素复制到10-19角标(这样保证所有元素都是配对的),最后把这个数组随机乱序,将数据填充到第一步的二维数组里。 第五步: 根据id和棋盘地形显示对应的图标。 第六步: 设计连接检测程序(一个是检测连线是否超过2个拐弯,一个是检测两个id是否一致) —————————————————————————————————————————— 问题可能有2种: 1.第四步生成id的时候没有进行配对生成,考虑到我这个算法可能会出现死局,所以大概制作组使用了另一种生成方法?但无论哪种生成方法,配对这一步应该是最核心的。 2. 控制操作或者检测配对的代码有问题,导致你点击了2个配对的元素,结果没配对的消除了,或者你点了2个不配对的元素(误操作),检测配对代码表示对他们也是配对的,然后不配对的也消除了。
首页 1 2 下一页