# 第三题 把想法做成 App - **类型**:开发挑战(选做) - **基础要求**:使用 Swift 开发可交互的 App,界面优先采用 SwiftUI - **参与方式**:Fork 仓库自行开发,无需向原仓库提交;面谈前请提前告知负责人仓库位置 - **AI 规则**:允许辅助开发及生成主要代码,作品须亲自运行、检查,并能当面展示和说明 ## 两条题目路线 - **路线 A:开发第二题的设计。** 从自己的方案中选择一个范围可控的版本实现,可以在开发时调整,并简述与原设计的不同。 - **路线 B:开发数独游戏。** 制作一个可以选择题目、填写与擦除数字、检查冲突、判断完成并保存进度的数独 App。提供固定题库,不要求编写出题算法。 路线 B 的[数独详细需求与基础材料](../development/README.md)放在 `development/`,路线 A 按自己的第二题方案开发。 两条路线都应完成可实际操作的核心流程:输入或选择能够改变应用内容并获得反馈,核心数据可本地保存并在重启后恢复,能处理相关边界情况。路线 A 简要说明核心功能、保存的数据、至少两种边界情况及设计调整即可。不要求堆叠功能、复杂架构、登录、服务器或上架。 ## 怎样参与与当面考察 先 Fork 本仓库,在个人 Fork 中自行组织项目目录(例如 `App/`),保留原题及 `development/` 数独材料。代码保存在自己的仓库即可,**无需向原仓库提交材料、发起 PR 或登记作品入口**,也不要求录屏。 有做这道题的同学,最好在面谈前提前告知负责人个人仓库的链接和项目位置,并确认负责人能够访问,方便先看代码。在项目中简要写明打开与运行方法、已完成和未完成的功能及已知问题,方便预先阅读,不要求专门的作品说明模板。具体联系与面谈安排后续通知。面谈时展示实际运行的作品,交流实现、验证过程和遇到的问题;未完成的部分也可以如实展示。 ## AI 与考察重点 可以让 AI 帮助拆分开发任务、生成主要代码、解释、排错和修改。你需要亲自运行和检查结果,并能结合自己的作品说明核心操作怎样实现、数据怎样变化和保存,以及怎样发现和处理问题。现场可能讨论一个小变化及如何实现、验证,实践环节允许继续使用 AI,不要求背诵全部代码或按手写代码比例评判。 路线 A 中作为第二题提交的设计文档仍遵守[第二题的 AI 使用范围](02-design.md),开发阶段按本题规则使用 AI。交流中的 AI 使用情况仅用于了解工作过程,不单独评分。 选做与否不影响前两题成绩。挑战完成标记根据实际作品与当面考察确认,记录为“未选做”“已尝试”“作品完成待面谈确认”或“挑战通过”。