基于c语言easyX实现的推箱子游戏

邱丑丑

发布日期: 2019-05-31 23:58:37 浏览量: 1662
评分:
star star star star star star star star star_border star_border
*转载请注明来自write-bug.com

这是基于EasyX图形库制作的一个简单的推箱子小游戏,只有一个地图,结构简单,适合初学EasyX图形库练手,下面是源码和一些贴图的构思。

效果图

贴图的原理

(通过改变数组中图片对应的数字来达到移动贴图的效果)

用 0-背景、1-墙、2-箱子、3-空地、4-人、5-目的地

  • 人每走一步,就要贴一次人的图片,同时要改变人在mapIndex数组中对应的值:

    • 空地->人
    • 人->空地
  • 每走一步时,对走的方向进行判断,是否是墙、箱子,移动小人同时改变mapIndex地图中对应的值。如果人前面一格有箱子,则

    • 箱子前的空地->箱子
    • 箱子->人
    • 人->空地
  • 如果前面是墙,或者前面有两个箱子,则退出此次循环,小人不移动,不贴图,不改值。

  • 如果小人走是目的地,判断方法为:(通过判断图片对应坐标),判断小人现在的x,y坐标是否为目的地的坐标,是则画目的地的图:

    • 获取地图数组里数值为5的坐标,塞到用来存储目的地坐标的二维数组b[5][2]里
    • 判断小人当前坐标是否等于b数组中的x,y坐标,等于则只需要在小人走过的地方,贴目的地图片
    • 改变mapIndex地图数组中对应的值
      注意:目的地,贴完目的地图后不需要进行赋值。
  • 判断游戏结束

    • 定义一个二维数组a[5][2],记录目的地坐标
    • 判断目的地坐标中值是否等于箱子的值2,如果全都等于2,则游戏结束,播放BGM提示游戏成功
上传的附件 cloud_download 推箱子内容.7z ( 2.58mb, 87次下载 )
error_outline 下载需要12点积分

发送私信

精品资源尽在此

70
文章数
21
评论数
最近文章
eject