Windows Phone 游戏——黑白棋 开发总结
小的时候非常喜欢玩这个游戏,这就是我为什么开发这么一款游戏的原因。目前在Windows Phone平台下似乎还没有看见这款游戏,或许有,但是我没见过。
这是这款游戏在Windows Phone应用商店的链接:http://www.windowsphone.com/s?appid=7304fb26-f64a-4c63-8a29-191fd5eab5e1,2013年6月14日通过商店认证。
游戏的规则是这样的:
棋盘是8X8的,游戏分为黑白两方,黑子先下。下棋的位置必须在横向、纵向或者斜线上可以两端包围对方的棋子,才可以下棋,然后把被包围的对方的棋子反转变成自己的棋子。直到双方都不能再下子为止,哪一方的棋子多哪一方就胜利(表达水平有限,实在看不懂请绕道百度百科)。
这款游戏是基于cocos2d-x游戏引擎开发的,xna版本。我的第一款cocos2d-x的游戏由于拿不出手,所以就不拿出来说了,算是一个学习过程。这款黑白棋本应该有人人对战和人机对战两种模式,但是因为大三就要毕业了,忙着找工作,所以只开发了人人对战模式,等以后有时间了再更新人机对战,而且也正是因为时间的原因,游戏里没有用上粒子系统来渲染,所以界面有些简陋。唯一拿得上台面的就是算法了。
先上图:
1.菜单页面
有“单人模式”(尚未开发)、“双人模式”、选项、帮助四个按钮。
2.设置页面
这里可以设置游戏过程中是否提示你下一步可以下到哪些格子里面。
3.游戏页面
游戏页面有统计黑白两种棋子在棋盘上当前的个数,以及有当前到哪一方下棋的提示,还有你当前可以下在哪个格子里的提示(如果你在设置页打开了提示功能,关闭则没有)。
开发心得:
开发这款游戏其实不难,其实最重要的还是怎样整体设计这款游戏,以及算法的实现。当然,美工也是很重要的,鄙人PS技术不好,只能弄成这样子了。主要的算法是判断该格子能不能下棋,以及判断下一步能下到哪些格子上。说一下我的思路,其实我是把棋盘按照像素点分成了(1,1)、(1,2)、(1,3)……(8,8)这样的64个方格,如果要获取左边的格子坐标就把横坐标-1,纵坐标不变,其他类似。判断能不能在该格子下棋就是判断在左、左上、上、右上、右、右下、下、左下8个方向上是否有对对方形成“夹击”的攻势,如果有就可以在该格子下棋。这里我采用了深度优先搜索算法。其实可以对算法进行优化,只是,说白了还是因为时间问题,或许是为自己懒找的借口吧。不过以后等我闲下来的时候我肯定会继续完善它的。毕竟算是我拿得出手的第一个像样一点的游戏(之前写过一个24点的游戏,也上了线,可是效率太低,甚至有点卡,所以摆不上台面。不知道为什么,我做过的游戏都是需要对算法进行深度优化的游戏)。
还有一个深刻的体会是,好的游戏,真的不是一个人能开发出来的。其实在游戏设计、游戏美工、游戏编码等等各方面都需要相应特长的人才行,一个人做了所有工作,肯定在时间和精力上分不过来。
再说一些抽风的话。我现在大三即将毕业,.nei方向,对面向对象有比较深刻的理解。熟悉三层框架,熟悉js、jquery、html、css,能解决基本的浏览器兼容性问题,注重网页与用户的交互性和美观性。有一年半的Windows phone/windows8开发经验,Windows Phone上有几个上线的应用与游戏。熟悉cocos2d-x游戏引擎。希望在广州工作。希望今年暑假找到实习。有岗位推荐的好心人请留下网址,如若有幸被HR看上,请留言或者联系rainlam163@hotmail.com。感谢各位!