项目简介
本项目结合了SDL图形库与Arduino技术,开发出了一个飞机游戏。玩家能够通过键盘或者Arduino串口指令来控制飞机在游戏界面中移动,游戏还具备海浪背景滚动效果。项目包含多个版本,循序渐进地展示了从简单游戏逻辑到加入串口通信功能的开发过程。
项目的主要特性和功能
- 借助SDL库创建图形界面,展示游戏界面、角色以及背景图像。
- 具备飞机移动控制、碰撞检测和游戏反馈等游戏逻辑。
- 支持通过Arduino进行串口通信,玩家既可以使用键盘,也可以使用Arduino指令控制飞机移动。
- 拥有模拟海浪的背景滚动效果,提升了游戏体验。
安装使用步骤
前提条件
需要安装SDL库、必要开发工具(如gcc、make等)以及libserialport库以支持串口通信。
安装步骤
Linux
- 安装SDL 1.2库和SDL_image 1.2库:
bash sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev
- 复制并构建libserialport库:
bash sudo apt-get install git-core gcc make autoconf automake libtool cd libserialport ./autogen.sh ./configure make sudo make install
- 复制本项目并构建:
bash cd PlaneGame/PlaneGame-without-Arduino-Direction-Control make ./PlaneGame
注意:要将PlaneGame/PlaneGame-with-Arduino-Direction-Control/main.c
文件中的SERIAL_PORT
常量更改为Arduino串口地址。若出现“Cannot open shared object file: No such file or directory”错误,执行sudo ldconfig /usr/local/lib
。
Windows
在Code::Blocks中创建新的SDL项目,将main.c
和libserialport.h
文件添加到项目中,把SDL_image.lib
和libserialport.a
文件添加到链接器,将libserialport.dll
文件和所有SDL必要的DLL文件复制到源文件夹。同时,要将main.c
文件中的SERIAL_PORT
常量更改为Arduino串口地址(COMx)。
使用说明
运行游戏后,可通过键盘方向键控制飞机移动,也可尝试通过Arduino发送指令控制(需在代码中设置相应串口地址)。飞机可移动到屏幕边缘,注意避免碰撞。游戏有背景滚动效果,增强视觉体验。
注意事项
- 需更改
SERIAL_PORT
常量以匹配实际的Arduino串口地址。 - 项目中的某些图像资源受版权保护,使用时需遵守相关版权法规。
许可证
该项目(除特定文件外)使用MIT许可证。特定文件的使用规则如下:
- PlaneGame/data/Water.jpg
:使用规则见 simplybackgrounds.deviantart.com
- PlaneGame/data/Plane.png
:仅允许个人和非商业使用,禁止重新分发。见 all-free-download.com
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】