一个多年前自己C 写的一个小游戏:五子连珠。代码原创。
当初是看到一个大神的五子连珠,自己手痒也模仿一个。(没有深入研究过显示动画和图像,故做出来的可执行文件较大)
开发环境,VC6。
开发思路:
一、单窗口程序,界面上画上背景图;
二、背景之上画方格。线尽量立体效果。方格棋盘区的上面画出预展示三个彩球。
三、程序启动,先自动放上3个球(经典版是5个球)。
每挪动一个球时,
1、计算是否可以把球移动过去?
2、如果可移动,那怎么找路径?移动后是否可以消球(加分)?如果不可消球,则加入新彩球。
3、循环操作,直到没有可以移动的小球。最后得分即本局成绩。
通过这个小程序,可以熟练C 开发。类对象,属性和方法的设计。其中最短路径应该最有意思,当然你可以找很多方法,项目中只实现了一个寻路算法。
本程序中寻路算法简单介绍:
1、从起点开始,向4个方向找空格,空则做标记数x=1;
2、从标记数1向4个方向找未做标记的空格,做上标记数 x=x 1 即2;
3、循环找下去,直到到达目标,或者无法到达目标。
4、若能到达目标,则回溯标记路径,找到一个标记数之和最小的路径,即可行的最短路径。
本源代码中,对画图做了简单实现。每次移动小球时,都把背景图贴一次,并重画棋盘。
五子连珠 界面
代码1
代码2
代码3
代码4
经典版本 主界面
,