资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
注意:本文档请用word打开,然后启用编辑模式,直接点击图标就可以查看源代码了C语言推箱子小游戏EGE图形库版作者DawsonLeeEmaildawsonlee1790foxmail.com设计思路:将整个画面分成13*16的矩阵,每个元素对应者一个小矩形。然后用0代表黑格,1代表白墙,2代表蓝格,这样就有了整幅图像的信息。然后移动就可以想象成,改变矩阵的坐标信息,形成一个新的矩阵,再重绘。这就是推箱子的基本原理。#define BLACK 0 /黑格:用于填充图像#define WHITEWALL 1/白墙:用于阻挡主角移动#define BLUEWALL 2/蓝格:用于表示可移动空间#define BALL 3/点:用于指定箱子放置位置#define BOX 4/箱子:用于表示初始箱子位置#define REDBOX 5/变色的箱子:用于表示这个点位置已经放置箱子#define MAN 6/主角:用于表示主角位置#define MANBALL 7 /主角站在点上01234567891011121314150123456789101112下面,我就给大家讲解怎么写出推箱子小游戏。1.编译环境:VS20152.要给VS2015安装EGE图形库http:/www.jianshu.com/p/b12163e5a0b73.要参考EGE图形库帮助文档http:/misakamm.bitbucket.org/man/index.htm4.刚才我们说到,图像的背后对应着一个矩阵,我们可以考虑将矩阵的信息存储在一个MAP.txt文件中,在程序运行时读取。下面我来介绍,在文件中读取一个矩阵。首先我们得有一个TXT文件:(一定确保路径放置正确)存储着这样一个13*16的矩阵。0000000000000000000000000000000000011111111110000001222222221000000122222222100000012624232210000001222222221000000122222222100000012222222210000001111111111000000000000000000000000000000000000000000000000000文本文件中的矩阵的读取操作源代码: 接下来,我们要把TXT文件的读取矩阵的功能,写在一个readmap()函数中,实现功能的模块化。并加多一项功能,就是查找出,MAN的位置。5.接下来我们实现在窗口中,把矩阵信息转变成图像。原理就是,将图片贴在窗口上。图片资源:(把当中的pic文件夹解压,存放在正确路径中,如果路径不正确会导致窗口中没有图像)绘制操作的源代码:实现的效果如图所示:6.实现图像的绘制以后那我们就应该实现图像的移动了。比方说向右移动坐标信息man_i,man_j man_i,man_j+1man_i,man_j+2MANBOXBLUEWALL 向右移动坐标信息man_i,man_j man_i,man_j+1man_i,man_j+2BLUEWALLMANBOX 首先将所有的情况列举出来并存入数组tablei0中,将改变后的第一个格子信息存在tablei1中,第二个格子信息存在tablei2中,第三个格子信息存在tablei3中。tableij情况(括号中的数值是为了保证情况的判断不会重复,数值不能相同)-1表示不赋值给第三个格子ij01230MAN*BLUEWALL(12)BLUEWALLMAN-11MAN*BALL(18)BLUEWALLMANBALL-12MAN*BOX*BLUEWALL(48)BLUEWALLMANBOX3MAN*BOX*BALL(72)BLUEWALLMANREDBOX4MAN*REDBOX*BLUEWALL(60)BLUEWALLMANBALLBOX5MAN*REDBOX*BALL(90)BLUEWALLMANBALLREDBOX6MANBALL*BLUEWALL(14)BALLMAN-17MANBALL*BALL(21)BALLMANBALL-18MANBALL*BOX*BLUEWALL(56)BALLMANBOX9MANBALL*BOX*BALL(84)BALLMANREDBOX10MANBALL*REDBOX*BLUEWALL(70)BALLMANBALLBOX11MANBALL*REDBOX*BALL(115)BALLMANBALLREDBOX然后就可以开始写move()函数,实现MAN的移动。move()函数源代码写好move()函数后,我们就可以实现推箱子的功能了。整合后的源代码7.最后,我们给窗口载入一张完美的北京图片,至此就可以实现完整推箱子小游戏了。最后整合的代码就是:实现效果如下8.附上整个工程项目的文件http:/pan.baidu.com/s/1o8poxzc9.通过学习,您还可以加上诸多功能,比如音乐的播放,用户登陆和地图的绘制等。下面给一个有上述功能的推箱子游戏:http:/pan.baidu.com/s/1o8EWOBo
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号