-
面向人群:
- 有一定JavaScript基础 难度:
- 中
重要说明
百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计。我们尽力保证课程内容的质量以及学习难度的合理性,但即使如此,真正决定课程效果的,还是你的每一次思考和实践。
课程多数题目的解决方案都不是唯一的,这和我们在实际工作中的情况也是一致的。因此,我们的要求不仅仅是实现设计稿的效果,更是要多去思考不同的解决方案,评估不同方案的优劣,然后使用在该场景下最优雅的方式去实现。那些最终没有被我们采纳的方案,同样也可以帮助我们学到很多知识。所以,我们列出的参考资料未必是实现需求所必须的。有的时候,实现题目的要求很简单,甚至参考资料里就有,但是背后的思考和亲手去实践却是任务最关键的一部分。在学习这些资料时,要多思考,多提问,多质疑。相信通过和小伙伴们的交流,能让你的学习事半功倍。
任务目的
- 熟悉 HTML5 技术在游戏开发领域的应用
- 学习游戏核心玩法的设计,并在此基础上合理地管理和添加功能
- 熟练使用 JavaScript 解决一般性的算法问题
- 为第四阶段的游戏任务做准备
任务描述
- 开发一款适用于移动端的 HTML5 游戏
- 如下图,创建一个矩形活动区域
- 在区域上方设置起点,放置特工(主角);在区域下方设置终点,放置机密文件(目标)
- 区域内有随机生成的墙:墙是不可进入或穿过的
- 通过点击屏幕内可活动区域,可以使特工移动到指定位置,寻路算法可自行选择并实现
- 特工抵达终点获得文件,生成下一个关卡
任务注意事项
- 请注意代码风格的整齐、优雅
- 代码中含有必要的注释
- 可选择用 Canvas(推荐)或 DOM 或两者结合的方式实现
- 能够适应不同分辨率的手机
- 保证游戏关卡是可通的
- 图例样式仅供参考,可自行设计
- 可以合理使用第三方框架、类库
任务协作建议
- 如果是各自工作,可以按以下方式:
- 团队集中讨论,明确题目要求,保证队伍各自对题目要求认知一致
- 各自完成任务实践
- 交叉互相Review其他人的代码,建议每个人至少看一个同组队友的代码
- 相互讨论,最后合成一份组内最佳代码进行提交
- 如果是分工工作(推荐),可以按以下模块切分
- 特工的操控和移动
- 关卡随机生成
- 寻路算法
- 移动端适配
- 样式
在线学习参考资料
- MDN Canvas
- How to Make a Simple HTML5 Canvas Game 英文 中文
- 移动端屏幕适配方案
- 寻路算法可视化实现