Files
DFJ/01_文档/准备和打击页面游戏原型设计需求.md
2025-09-10 18:13:28 +08:00

120 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# “打飞机”小程序App原型设计需求文档
## 1. 概述
本文档旨在为“打飞机”小程序的核心界面提供清晰的设计需求主要面向UI/UX设计人员用于指导原型设计。文档充分考虑了手机触摸屏的操作特性。核心界面包括“准备页面”和“打击页面”。
---
## 2. 核心页面设计需求
### 2.1 准备页面
**页面目标:** 玩家在此页面中通过触控操作完成飞机的布局,并确认进入“准备就绪”状态。
#### 2.1.1 界面核心元素
1. **游戏棋盘 (10x10 网格):**
* **功能:** 用于放置飞机的主要区域。
* **设计要求:**
* 应为一个 10x10 的网格布局,每个格子大小一致,适合触控点击。
* 格子有清晰的边框。
* **触控反馈:** 点击格子时,应有视觉反馈(如背景色瞬时变化或涟漪效果)。
* 坐标标识在棋盘的上方和左侧应有坐标轴上方为字母A-J左侧为数字1-10
2. **飞机状态与选择区:**
* **功能:** 展示可用的飞机,并允许玩家选择要操作的飞机。
* **设计要求:**
* 提供三个按钮分别代表“飞机1”、“飞机2”、“飞机3”。
* 当一架飞机被成功放置到棋盘上后,对应的按钮应变为“选中”或“已放置”状态(如改变颜色或样式)。
* 当玩家在棋盘上**点击**已放置的飞机时,此区域对应的飞机按钮也应同步显示为“当前选中”状态。
* 如果所有飞机都已放置,此区域的按钮都应处于“已放置”状态。
3. **布局操作按钮组 (针对触控优化):**
* **功能:** 控制飞机的放置、移动和旋转。
* **设计要求:**
* **方向控制:** “上、下、左、右”四个方向按钮,用于在添加飞机前,预设飞机的机头朝向。**此为第一种放置方式的辅助按钮。**
* **移动控制:** 提供四个方向箭头按钮(上、下、左、右),用于在棋盘上移动当前选中的飞机。
* **旋转控制:** 提供一个旋转按钮,用于顺时针旋转当前选中的飞机。
* **删除按钮:** 用于删除当前在棋盘上选中的飞机。
4. **准备确认按钮组:**
* **功能:** 玩家完成布局后,进行最终确认。
* **设计要求:**
* **完成按钮:**
* 当棋盘上没有满3架飞机时此按钮应为“禁用”状态。
* 当3架飞机都已放置好后此按钮变为“可用”状态。
* **删除按钮:** (此处有重复,建议整合)一个“清空”或“重置”按钮,用于一键清除所有已放置的飞机,方便重新布局。
5. **状态提示区:**
* **功能:** 向玩家反馈当前的游戏状态。
* **设计要求:**
* 在页面底部或一个显著位置,显示文本信息,如“请放置三架飞机”、“已准备,等待对手中...”、“对手已准备就绪”。
#### 2.1.2 交互流程
1. **进入页面:** 默认显示一个空的10x10棋盘。
2. **放置飞机:**
* **直接点击机身**
* 玩家直接点击棋盘上的一个**空白**格子。
* 系统以此格为飞机的中心点(或机身的一部分),自动生成一架默认朝向(例如,机头朝上)的飞机。
* 如果空间不足以放置飞机应给出提示如格子闪烁红色或toast提示且不放置飞机。
* **通用规则:**
* 飞机成功放置后“飞机x”按钮状态改变表示一架飞机已被使用。
* 当3架飞机都放置完毕后放置功能自动禁用。
3. **选择与操作飞机:**
* **单击**棋盘上已放置的飞机,该飞机进入“选中”状态(如高亮或边框变化),此时可对它进行移动或旋转。
* 使用移动和旋转按钮调整“选中”飞机的位置和形态。
* 点击“删除”按钮,移除选中的飞机。
4. **完成准备:**
* 当3架飞机全部放置后“完成”按钮激活。
* 玩家点击“完成”,布局操作按钮全部变为“禁用”状态,页面提示“已准备,等待对手中...”。
---
### 2.2 打击页面
**页面目标:** 玩家在此页面通过触控选择坐标进行攻击,并查看攻击结果。
#### 2.2.1 界面核心元素
1. **攻击棋盘 (10x10 网格):**
* **功能:** 展示对手的区域,供玩家选择打击坐标。
* **设计要求:**
* 与准备页面的棋盘样式基本一致,带坐标轴,格子大小易于触控。
* **格子状态:** 需要清晰地区分以下几种状态:
* **未打击:** 默认状态。
* **待确认打击:** 玩家**点击**格子后,在按下“打击”按钮前的状态(如背景变为“巧克力色”)。棋盘上同时只能有一个“待确认”的格子。
* **未命中:** 打击后服务器返回结果为“未命中”的状态如显示一个“X”或特定图标
* **命中:** 打击后,服务器返回结果为“命中”的状态(如格子变色,显示火焰等)。
* **击毁:** 打击后,服务器返回结果为“击毁”的状态(如显示更强烈的击毁效果,并将该飞机的其余所有“命中”格子一同标记为“已击毁”)。
2. **操作与状态区:**
* **功能:** 执行打击操作和显示信息。
* **设计要求:**
* **打击按钮:**
* 当玩家在棋盘上选择了一个“待确认打击”的格子后,此按钮变为“可用”状态。
* 点击后,按钮进入“加载中/打击中...”状态,直到服务器返回结果。
* **状态提示:** 显示当前回合信息,如“轮到你攻击”、“等待对手攻击...”。
* **攻击结果反馈:** 每次攻击后,应有弹窗或醒目提示,明确告知玩家“命中”、“未命中”或“击毁”。
3. **我方飞机布局参考图 (可选但建议):**
* **功能:** 在打击页面的一个角落或侧边,以缩略图形式展示玩家自己在准备阶段的飞机布局。
* **设计要求:**
* 这是一个只读视图,不可交互。
* 当自己的飞机被对手击中时,此参考图上的对应位置也应同步更新状态。
#### 2.2.2 交互流程
1. **进入页面:** 轮到玩家攻击时进入此页面。显示一个干净的10x10攻击棋盘。
2. **选择目标:** 玩家在棋盘上**点击**一个目标格子,该格子变为“待确认打击”状态,“打击”按钮激活。如果玩家点击其他格子,则新的格子变为“待确认”,旧的格子恢复默认。
3. **确认打击:** 玩家点击“打击”按钮。
4. **等待结果:** 按钮禁用,棋盘暂时不可点击,等待服务器返回结果。
5. **展示结果:**
* 服务器返回结果后,棋盘上对应的格子根据结果(命中/未命中/击毁)更新其视觉状态。
* 弹出提示,告知玩家打击结果。
6. **回合结束:** 页面自动跳转到“等待页面”,或直接在当前页面显示“等待对手攻击...”的遮罩,直到下一回合开始。