欢迎大家来到IT世界,在知识的湖畔探索吧!
一个多年前自己C++写的一个小游戏:五子连珠。代码原创。
当初是看到一个大神的五子连珠,自己手痒也模仿一个。(没有深入研究过显示动画和图像,故做出来的可执行文件较大)
开发环境,VC6。
开发思路:
一、单窗口程序,界面上画上背景图;
二、背景之上画方格。线尽量立体效果。方格棋盘区的上面画出预展示三个彩球。
三、程序启动,先自动放上3个球(经典版是5个球)。
每挪动一个球时,
1、计算是否可以把球移动过去?
2、如果可移动,那怎么找路径?移动后是否可以消球(加分)?如果不可消球,则加入新彩球。
3、循环操作,直到没有可以移动的小球。最后得分即本局成绩。
通过这个小程序,可以熟练C++开发。类对象,属性和方法的设计。其中最短路径应该最有意思,当然你可以找很多方法,项目中只实现了一个寻路算法。
本程序中寻路算法简单介绍:
1、从起点开始,向4个方向找空格,空则做标记数x=1;
2、从标记数1向4个方向找未做标记的空格,做上标记数 x=x+1 即2;
3、循环找下去,直到到达目标,或者无法到达目标。
4、若能到达目标,则回溯标记路径,找到一个标记数之和最小的路径,即可行的最短路径。
本源代码中,对画图做了简单实现。每次移动小球时,都把背景图贴一次,并重画棋盘。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/63261.html