项目简介
本项目是基于Arduino的多玩家太空射击游戏。玩家借助Arduino板上的触摸屏或摇杆操控飞船,在TFT显示屏上开展对战,目标是击中并击毁敌方飞船,支持两个玩家分别使用两个Arduino板进行游戏。
项目的主要特性和功能
- 游戏机制:玩家可控制飞船上下移动并发射子弹,以击中对方或敌舰为目标。
- 硬件要求:需两个Arduino Mega板、两个TFT显示屏、两个摇杆以及SD卡等配件。
- 通信协议:玩家间通过Arduino的串行通信进行握手和同步游戏状态。
- 图形界面:具备直观图形界面,在TFT显示屏显示游戏状态。
- 定时器和事件调度:运用Metro库调度和控制游戏各事件与时间间隔。
- 得分和定时器功能:游戏记录并显示玩家得分,同时展示计时器。
- 图像管理:通过
lcd_image.cpp
和ex.c
/exsmall.c
文件实现图像数据加载与显示。
安装使用步骤
硬件连接
按如下说明连接硬件: - Arduino Pin A8 <---> Joystick VRx Pin - Arduino Pin A9 <--> Joystick VRy Pin - Arduino Pin 53 <--> Joystick sw Pin - Arduino 5V <--> Joystick 5V Pin - Arduino GND <---> Joystick GND Pin - Arduino TX3 Pin <--> Other Arduino RX3 Pin - Arduino RX3 Pin <--> Other Arduino TX3 Pin - 左侧Arduino:Arduino Pin 45 <---> Arduino GND - 右侧Arduino:Arduino Pin 45 <---> Arduino 5V
代码下载与编译上传
- 确保已下载本项目的源码文件。
- 从项目的
SpaceShooter
目录,使用命令“make upload - 0” & “make upload - 1”将代码上传到两个Arduino板。
配置SD卡
把imageToSD
文件夹中所有的.lcd
文件(high.lcd, nhigh.lcd, space.lcd)存到两个Arduino的SD卡中。注意,因提供的工具bmp2lcd存在bug,space.lcd图像在显示屏上显示可能不正确。
开始游戏
将两个Arduino板按上述说明接线,使其USB线背向放置,然后连接到计算机。确保两个Arduino板都正确配置并连接显示屏和摇杆后,同时启动游戏,按说明开始游戏。
注意事项
- 确保所有硬件连接正确,按项目文档说明进行配置和调整。
- 因通信协议设计,两个玩家不应同时按下开始游戏按钮。此项目较复杂,需一定硬件和软件知识才能正确设置和运行,初学者建议仔细阅读相关文档和教程,并在有经验者指导下操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】