教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

c语言编写小游戏系列教程之推动箱子,C_C++,自学去(2)

来源:网络收集 时间:2026-07-08
导读: 62.for(i=0;i4;i++)63.{ 64.//如果找到了,返回 65.if(box[i].x==xbox[i].y==y)66.returnbox+i;67.}68. 69.//最后还是没找到,返回NULL70.returnNULL;71.} 72.73.//移动箱子,返回0表示成功移动,返回非0表示不能移

62.         for(i=0; i<4; i++)63.         {

64.                 //如果找到了,返回

65.                 if(box[i].x == x && box[i].y == y) 66.                         return box+i;67.         }68.         

69.         //最后还是没找到,返回NULL70.         return NULL;71. }

72. 73. //移动箱子,返回0表示成功移动,返回非0表示不能移动74. int move_box(box_t* box, dir_t dir)75. 

{

76. 77. 78. 79. 80. 81. 82. 83.         

        int x=0,y=0;         //保存 在x y方向上的移动距离        

        switch(dir)        {

                case UP:                        y‐‐;                        break;84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 

                case DOWN:                        y++;                        break;                case LEFT:                        x‐‐;                        break;                case RIGHT:                        x++;                        break;                default:                        break;        }        

        //防止数组越界

        if(can_move(box, dir))        {

                box‐>x += x;                box‐>y += y;                return 0;        }        

        return 1;}复制代码

这个文件 都是头文件中函数的一些功能实现代码。

还有一个要注意的就是 can_move 函数  他前面有个 static  这个的作用是 把这个函数的作用域 限制在 文件域中,什么意思呢,就是这个函数 只能给本文件的函数访问。这样做有什么好处呢?好处就是 你可以在其他地方有同样函数名的函数,而不会重复定义。

注意我们这里没有直接包含box.h  因为 我们包含了 config.h  我们在 config.h中包含了 所有的 头文件。我们来看看config.h中都有什么:

01. #ifndef _CONFIG_H_ //如果已经定义了,就不会再把下面的语句编译进去了02. #define _CONFIG_H_03. 04. #define        W 3005. #define H 20

06. 07. 08. //定义几个枚举变量,用来表示每个物体对应的数字, OBJ_SUCCESS 表示 当箱子放到目标点上的时候对应的数字09. typedef enum {OBJ_NULL, OBJ_WALL, OBJ_PERSON, OBJ_BOX, OBJ_OBS, OBJ_TARGET, OBJ_SUCCESS}obj_t;10. typedef enum {DIR_NULL, UP, RIGHT, DOWN, LEFT}dir_t;          //定义表示方向的枚举变量11. typedef enum {START, PLAYING, OVER}game_state_t;

12. 13. 14. //包含所有的头文件,然后在其他的源文件中只需要包含config.h这一个头文件即可15. #include <stdio.h>16. #include <stdlib.h>1 …… 此处隐藏:413字,全部文档内容请下载后查看。喜欢就下载吧 ……

c语言编写小游戏系列教程之推动箱子,C_C++,自学去(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/115185.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)