C语言实现的开源 2D 格斗游戏: Punch Kick

简介: Punch & Kick》是作者在大学期间用C语言开发的2D格斗游戏,其开源主要是面向开发者及编程爱好者,这款游戏并不适合发烧级玩家、审美帝。

《Punch & Kick》是作者在大学期间用C语言开发的2D格斗游戏,其开源主要是面向开发者及编程爱好者,这款游戏并不适合发烧级玩家、审美帝。

游戏的源代码在:https://github.com/lc-soft/PunchAndKick

最新发布的版本为:P&K 1.1.0 beta


下面是作者自己对这个游戏的介绍:

这是一个和《热血格斗》大致一样的格斗游戏,游戏名称暂命为:Punch & Kick,如果你有兴趣,可以为此游戏取一个高端大气上档次的名字,或者低调奢华有内涵的名字也可以。


此游戏由作者利用闲于时间开发,其开发目的主要为了实现作者自己的想法,为了让作者的大学时间不被浪费,也是为了方便作者以后找工作。


源代码基于 GNU通用公共许可协议第二版(GPLv2) 发布,作者之所以开源,主要是为了与其他开发者以及业余编程爱好者们进行技术交流,顺便满足作者的展现欲。


此游戏主要是依据作者个人的想法进行开发的,作者并未想要将它做成符合大众口味的游戏,请不要期望这款游戏能够符合你的口味。


由于作者以后工作的原因,此游戏的开发可能会暂停,因此,请不要对此游戏抱有过多的期待。


构建

在 GNU/Linux 平台上,请先确认你已经安装了 LCUI 库,然后在游戏源码根目录中使用命令:

   ./configure

   make

生成的游戏主程序会在src目录里,名为game,请将它移动至bin目录下,若要运行游戏,请

先进入字符控制台模式,以确保能够正常显示图形。

在 windows 平台上,你需要准备VisualStudio,2010或2012版都行,进入build目录中的相应


目录,打开sln文件,然后用VisualStudio生成即可,生成的可执行文件在bin目录下。

如果你使用的是其它开发工具,请根据该开发工具的用法手动创建一个工程,并把游戏的源文件及头文件添加进工程里,然后将include和bin目录分别添加至头文件目录和库目录。


代码阅读

头文件及源文件所使用的字符编码主要是UTF-8,并且带BOM签名,请确保你的代码编辑器支持显示UTF-8编码的文本内容。


源代码的缩进宽度为8,请确保你已经将你的代码编辑器的缩进宽度设置为8,这样,代码才能够以应有的格式显示,方便阅读。


请将代码编辑器所使用的字体更改为等宽字体,以让显示的代码具有良好的视觉效果。

本项目的源代码中的注释不是很多,建议使用自带代码提示功能(例如:提示函数原型及对应的注释)的代码编辑器查看,帮助理解部分代码。

相关文章
|
2月前
|
机器学习/深度学习 C语言
九/十:《初学C语言》— 扫雷游戏实现和函数递归基础
【8月更文挑战第5天】本篇文章用C语言采用多文件编写实现了一个基础的扫雷游戏(附源码),并讲解了关于函数递归的基础概念及其相对应的习题练习(附源码)
37 1
九/十:《初学C语言》— 扫雷游戏实现和函数递归基础
|
3月前
|
存储 C语言 开发者
C语言实战 | Flappy Bird游戏
【7月更文挑战第4天】Flappy Bird是由越南开发者制作的简单却极具挑战性的游戏,玩家需控制小鸟穿越水管障碍。游戏涉及角色初始化、显示和更新。小鸟和水管结构体存储数据,使用变量和数组。初始化小鸟和水管,显示背景、小鸟和水管,更新小鸟位置及碰撞检测。代码示例展示了小鸟和水管的状态管理,当小鸟与管道碰撞或触地时,游戏结束。游戏的成功在于其独特的虐心体验。
57 0
C语言实战 | Flappy Bird游戏
|
1天前
|
存储 算法 安全
C语言实现扫雷游戏
C语言实现扫雷游戏
|
3天前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
1天前
|
程序员 C语言
初识C语言之三子棋游戏
初识C语言之三子棋游戏
9 0
|
1天前
|
C语言
初识C语言3——函数(以猜数字游戏为例)
初识C语言3——函数(以猜数字游戏为例)
9 0
|
3天前
|
存储 编译器 C语言
【C语言篇】数组和函数的实践:扫雷游戏(附源码)
【C语言篇】数组和函数的实践:扫雷游戏(附源码)
8 0
|
2月前
|
算法 编译器 C语言
【C语言篇】猜数字游戏(赋源码)
rand函数会返回⼀个伪随机数,这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的⼤⼩是依赖编译器上实现的,但是⼤部分编译器上是32767。
68 1
|
3月前
|
存储 编译器 C语言
C语言实战 | “贪吃蛇”游戏
【7月更文挑战第5天】在C语言实战中,本文档介绍了如何构建一个简单的“贪吃蛇”游戏。游戏的核心是控制蛇移动并增长,当吃掉食物时,蛇的身体变长。数据结构使用固定大小的数组表示蛇的位置,变量存储食物位置和蛇的长度。初始化后,利用非阻塞式`getKey()`函数实现WASD键盘控制蛇的运动方向。虽然蛇的边界检测和吃食物后的增长尚未详细说明,但提到了这些问题作为练习留给读者解决,并预告将在后续章节讨论模块化编程以简化复杂代码。
82 0
C语言实战 | “贪吃蛇”游戏
|
3月前
|
存储 数据管理 C语言
C语言实战 | 使用链表完成“贪吃蛇”游戏
【7月更文挑战第1天】整体思维,即系统思维,强调以整体视角理解事物。在编程中,结构体体现这种思想,将相关变量打包处理。示例展示了如何用链表而非数组实现“贪吃蛇”游戏,链表提供了更灵活的动态数据管理。一系列代码图片详细描绘了链表结构体在游戏中的应用,包括节点定义、移动、碰撞检测等,凸显了使用链表的优势和代码的清晰组织。
37 0
C语言实战 | 使用链表完成“贪吃蛇”游戏