项目简介
本项目将游戏《见证者》中的面板谜题移植到Arduino平台。借助Adafruit电容式2.8英寸TFT进行输入和显示,配合其自带的SD卡读卡器保存关卡数据。系统从SD卡读取关卡数据创建谜题,支持用户与路径交互并验证输入的解决方案是否有效。同时包含一个基于Arduino平台的SD卡文件系统处理库,能简化SD卡文件系统操作。
项目的主要特性和功能
谜题游戏部分
- 多种谜题元素:支持迷宫、六边形、三角形、正方形等功能完整的谜题元素。
- 关卡管理:从SD卡特定文件夹读取关卡文件,可记录最后加载的关卡索引,便于重启系统后继续游戏。
- 用户交互:通过触摸屏实现用户绘制和交互路径。
- 解决方案验证:验证用户输入解决方案的有效性,收集无效元素。
SD卡文件系统处理库部分
- 初始化SD卡:提供函数初始化SD卡并检查状态。
- 文件操作:支持文件的创建、打开、读取、写入、删除、重命名等操作。
- 目录操作:支持目录的创建、删除、列出文件和子目录等操作。
- 文件属性处理:可获取和设置文件的属性。
- 错误处理:提供函数检测和处理SD卡操作中的错误。
- 跨平台兼容性:兼容Arduino Uno、Due、ESP8266、STM32等不同平台。
安装使用步骤
谜题游戏部分
- 将
/witnuino
文件夹复制到SD卡的根目录。 - 下载项目源码文件,将其导入Arduino IDE。
- 确保Arduino连接了Adafruit电容式2.8英寸TFT及SD卡读卡器。
- 在Arduino IDE中上传代码到Arduino设备。
- 设备启动后,即可开始进行谜题游戏。
SD卡文件系统处理库部分
安装
通过Arduino IDE的库管理器搜索并安装该库。在IDE中,选择“草图” -> “包含库” -> “管理库”,然后在搜索框中输入“SdFat”进行搜索并安装。
使用
在Arduino程序中包含该库的头文件,使用库中的函数进行SD卡文件系统的操作,如打开文件、写入数据、读取数据等。具体使用方法可参考库的文档和示例代码。示例代码如下: ```cpp
include
// 定义一个文件对象 File myFile;
void setup() { // 初始化SD卡 if (!SdFat::begin(SPI_HALFSPEED)) { Serial.println("SD卡初始化失败"); while (1); }
// 打开文件 if ((myFile = SdFile("test.txt", "r")) != NULL) { // 读取文件内容 char c; while ((c = myFile.read()) != -1) { Serial.print(c); } myFile.close(); }
// 创建并写入文件 if ((myFile = SdFile("test.txt", "w")) != NULL) { myFile.println("Hello, world!"); myFile.close(); } }
void loop() { // 这里可以加入循环处理 } ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】