欢迎光临散文网 会员登陆 & 注册

C/C++项目实战:2D射击游戏开发(简易版) !440 行源码分享来啦~

2023-01-12 15:32 作者:C语言编程__Plus  | 我要投稿

每天一个C语言小项目,提升你的编程能力! 

【第一版】

花了一天时间,用 easyx 做了一个小游戏,程序中所有的类函数都是内联函数,大约 300 行。

【第二版】

主要做了代码优化,加强可读性。

同时改了操作方式,玩家和敌人都可以在 x、y 方向上移动,敌人每隔一段时间会随机换向。

游戏运行截图如下:


操作方式

玩家通过方向键移动,z 键射击,左 Shift 进入低速移动模式提高操作精度。

代码说明

关于无阻塞延时,首先,先要 ctime 创建一个 clock_t 变量 a,初始化为 clock(),貌似是自从 1970 年到现在的毫秒数。

我们要每隔 0.5 秒执行函数 func() 一次。

那么创建主循环 while(1),调用前用 clock() - a;如果 clock() - a > 500,那么执行 func(),并把 a 重新赋值为 clock()。

如果使用 Sleep(500) 的话,这个循环就只能执行 func 函数了,在此期间什么也做不了。

代码展示:

(直接上源码,大家可以看注释)

大家赶紧去动手试试吧!

此外,我也给大家分享我收集的其他资源,从最零基础开始的教程到C语言C++项目案例,帮助大家在学习C语言的道路上披荆斩棘!

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!大家也要把握住有限的时光,抓住成长的每一次机会哦~

编程学习书籍分享:

编程学习视频分享:


C/C++项目实战:2D射击游戏开发(简易版) !440 行源码分享来啦~的评论 (共 条)

分享到微博请遵守国家法律