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

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

来源:网络收集 时间:2026-07-08
导读: 2015/1/22【新提醒】c语言编写小游戏系列教程之推动箱子,C/C++,自学去 设为首页收藏本站 admin在线|每日签到|我的|设置|消息|提醒(2)|门户管理|管理中心|退出积分:9681 | 用户组:管理员消息 新听众(3)坛友互动(1) 论坛视频教程c/c++PHP问答平台编程文章 帖子

2015/1/22【新提醒】c语言编写小游戏系列教程之推动箱子,C/C++,自学去

设为首页收藏本站

admin 在线 |每日签到 |我的 |设置 |消息 |提醒(2) |门户管理 |管理中心 |退出积分: 9681

 |

用户组: 管理员消息

新听众(3)坛友互动(1)

论坛视频教程c/c++PHP问答平台编程文章

帖子

个人空间搜索QQ群

快捷导航我的帖子(1)

请输入搜索内容论坛

编程语言

C/C++

c语言编写小游戏系列教程之推动箱子

热搜:c语言java编程教程自学去

返回列表

删除主题|升降|置顶|直播|高亮|精华|图章|图标|关闭|移动|分类|复制|索合并|分割|修复|警告|屏蔽|标签|生成文章

查看: 519|回复: 1admin

[精品文章] c语言编写小游戏系列教程之推动箱子 [复制链接]

 发表于 2015­1­4 18:47:19 | 只看该作者 

楼主电梯直达

  

上节课:上节课中 我们已经实现了人物的移动,大家的可以发现,人物可以移动,但是却不能推动箱子,还能穿过障碍物和箱子。

这节课,我们的人物,就是解决这两个问题,推动箱子,还有障碍物检测。

在这之前不得不先说一个问题,随着程序代码越来越多,我们一个文件中代码已经很长了,这样不利于代码的阅读和维护,所以这节课我们决定将代码 按照功能来分成不同的文件,类似模块化编程,每个功能就是一个模块。如何把代码放到多个文件呢?

把代码的申明部分放到,头文件中,实现部分 放到源文件中。

790主题管理员

3975帖子9681积分

积分9681

比如,关于箱子操作的函数以及箱子的结构体定义,我们就放在  box.h中 函数的具体功能实现就放在 box.c 中。人物操作 就放在 person.h 和 person.c中。其他的也是 类似。

头文件如何写?

我们看看例子,下面是 box.h 的所有内容

01. #ifndef _BOX_H_02. #define _BOX_H_

03. 04. #include <config.h>05. 

IP

编辑禁止帖子清理

06. //定义箱子结构体07. typedef struct{08.         int x;09.         int y;10.         char flag;11.         int state;12. } box_t;

13. 14. //设置箱子位置

15. void set_box(box_t*, int x, int y);

16. //移动箱子,返回0表示成功移动,返回非0表示不能移动17. int move_box(box_t*, dir_t);18. //根据地图坐标获取指定box19. box_t* get_box(int x, int y);20. 21. 

#endif复制代码

#ifndef _BOX_H_#define _BOX_H_.............#endif

这段代码,作用是防止头文件被重复的包含,重复包含,这些函数就会被重复的申明,编译器将报错。

第一行 检测 如果这个 常量 _BOX_H_ 没有被定义了,就定义这个变量,然后 下面的函数声明 就会被编译进去,这样的话,如果第二次再包含了这个头文件,会再次检测 这个常量 _BOX_H_是否被定义的时候 ,由于已经定义过了,这段函数声明 就不会被编译进去,保证了这段头文件代码 只能被包含一次。

我把一些公共的类型都定义在 config.h 头文件中,在每个文件中都包含,比如 kdir 这些枚举类型就是声明在 config.h中。

好了,头文件有了,接下来看对应的源文件 box.c

01. #include <config.h>02. 03. /*

04. 函数功能:箱子是否可以移动,返回0表示不可移动05. */

06. static int can_move(box_t* box, dir_t dir)07. {

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

10.         switch(dir)11. 

        {

12.                 case UP:13.                         y‐‐;14.                         break;15.                 case DOWN:16.                         y++;17.                         break;18.                 case LEFT:19.                         x‐‐;20.                         break;21.                 case RIGHT:22.                         x++;23.                         break;24.                 default:25.                         break;26.       …… 此处隐藏:409字,全部文档内容请下载后查看。喜欢就下载吧 ……

c语言编写小游戏系列教程之推动箱子,C_C++,自学去.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)