任务五十二:王牌特工
面向人群:
有一定的JavaScript基础
难度:

重要说明

百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计。我们尽力保证课程内容的质量以及学习难度的合理性,但即使如此,真正决定课程效果的,还是你的每一次思考和实践。

课程多数题目的解决方案都不是唯一的,这和我们在实际工作中的情况也是一致的。因此,我们的要求不仅仅是实现设计稿的效果,更是要多去思考不同的解决方案,评估不同方案的优劣,然后使用在该场景下最优雅的方式去实现。那些最终没有被我们采纳的方案,同样也可以帮助我们学到很多知识。所以,我们列出的参考资料未必是实现需求所必须的。有的时候,实现题目的要求很简单,甚至参考资料里就有,但是背后的思考和亲手去实践却是任务最关键的一部分。在学习这些资料时,要多思考,多提问,多质疑。相信通过和小伙伴们的交流,能让你的学习事半功倍。

任务描述

  • 基于第三阶段「王牌特工」任务,让你的特工潜入一个庞大的地下迷宫执行任务!(Roguelike Game)
  • 首先,我们需要建造一个迷宫:

    • 迷宫由许许多多的房间构成
    • 房间被走廊连接起来:迷宫中的任意一点,都有一条道路通往另外一点
    • 「不完美」迷宫:两点之间可能会有多条通路(可选)
    • 迷宫生成效果可参考以下图例:

  • 然后,将第三阶段「王牌特工」的核心玩法融入到这个迷宫内:

    • 特工在迷宫中寻找过关目标,抵达后通往下一个迷宫
    • 特工与守卫可以互相击杀:开发时可自行选择守卫 AI 方式,基于任务 47 或任务 49 皆可
    • 房间内有随机生成的墙,但不会把通往其它房间的走廊堵死
    • 游戏摄像机跟随特工移动,屏幕可见范围是迷宫的一个局部
    • 界面上设置小地图,方便玩家了解特工当前所处位置及附近守卫动向(可选)
    • 战争迷雾效果(Fog of War):未探索区域不可见、特工可视范围以外的区域不可见、未打开门的房间不可见(可选)
  • 最后,发挥想象,为游戏扩展更多有趣的元素!

  • 以下为类似玩法的游戏截图,供参考:

任务注意事项

  • 请注意代码风格的整齐、优雅
  • 代码中含有必要的注释
  • 在 PC 端和移动端上良好的适应性和流畅度
  • 保证游戏关卡可通
  • 较高的迷宫生成效率
  • 可以合理使用第三方框架、类库

任务协作建议

  • 团队内进行头脑风暴,共同讨论和设计游戏新要素
  • 如果是各自工作,可以按以下方式:
    • 团队集中讨论,明确题目要求,保证队伍各自对题目要求认知一致
    • 各自完成任务实践
    • 交叉互相Review其他人的代码,建议每个人至少看一个同组队友的代码
    • 相互讨论,最后合成一份组内最佳代码进行提交
  • 如果是分工工作,可以按照以下模块来分配任务
    • 迷宫生成
    • 核心玩法移植
    • 房间内元素安排
    • 小地图、战争迷雾等额外要素
    • 图形样式

参考资料

  • 房间和迷宫:一个地牢生成算法 中文 英文
  • Dungeon-Building Algorithm 中文 英文
  • 游戏项目: Random Dungeon Generation
  • 游戏项目: Tiny Stealth

任务五十二:王牌特工相关推荐

  1. Windows Workflow HOL学习笔记(十二):创建状态基工作流

    W indows Workflow HOL学习笔记(十二):创建状态基工作流 本文内容来自Microsoft Hands-on Labs for Windows Workflow Foundation ...

  2. 2021年大数据Kafka(十二):❤️Kafka配额限速机制❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka配额限速机制 限制producer端的速率 限制c ...

  3. 2021年大数据HBase(十二):Apache Phoenix 二级索引

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix 二级索引 一.索引分类 ...

  4. 2021年大数据Hive(十二):Hive综合案例!!!

    全网最详细的大数据Hive文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hive综合案例 一.需求描述 二.项目表的字段 三.进 ...

  5. 2021年大数据Hadoop(二十二):MapReduce的自定义分组

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 MapReduce的自定义分组 需求 分析 实现 第一步: ...

  6. 敏捷宣言遵循的十二条原则

    敏捷宣言遵循的十二条原则Twelve Principles behind the Agile Manifesto 我们遵循以下原则: We follow these principles: 我们最重要 ...

  7. maya批量命名插件_教你玩转MAYA的四十二精华造诣(第一期)

    最近在整理文档时发现我收藏了一篇关于MAYA应用技巧的文章,突然有兴趣看了看,结果发现老版本MAYA中的某些内容很多已经无法应用于新版本.我又上网查了一下,结果发现网上好多帖子和我收藏的这篇内容基本一 ...

  8. C++语言学习(十二)——C++语言常见函数调用约定

    C++语言学习(十二)--C++语言常见函数调用约定 一.C++语言函数调用约定简介 C /C++开发中,程序编译没有问题,但链接的时候报告函数不存在,或程序编译和链接都没有错误,但只要调用库中的函数 ...

  9. 第十二周-学习进度条

      第十二周 所花时间(包括上课) 20h 代码量(行) 230 博客园(篇) 2 了解到的知识点 fragment的相关知识 转载于:https://www.cnblogs.com/liujinxi ...

最新文章

  1. 我的世界服务器ess配置信息,[搬运贴]超详细的Ess基础插件介绍
  2. 开源成就你我,感恩共享礼包
  3. SRM598 Div1
  4. java服务端开发 php_PHP使用thrift做服务端开发
  5. 第三课 弹性盒模型知识点
  6. 公安网安装mysql 5.7_安装Mysql 5.7.1
  7. 网站改成静态页面打不开_稳定网站排名的基本条件 - 最蜘蛛池外推快速收录
  8. 将搜索二叉树转换为链表_将给定的二叉树转换为双链表(DLL)
  9. oracle数据库zenm怎么创建连接,oracle10g中怎么创建数据库连接
  10. DWZ (JUI) 教程 dwz框架 刷新dialog解决方案
  11. 标准的Java编码规范手册
  12. 传奇gom引擎架设教程
  13. word 技巧 - 删除指定页页眉
  14. 算法入门——数组,链表,选择排序
  15. 51nod 1423:最大二“货”
  16. Unity导出视频/截图
  17. 使用texlive写硕士论文
  18. 表或视图不存在的解决方法
  19. Java加密技术(三)—— HMACSHA1 加密算法
  20. centos搭建samba服务器

热门文章

  1. [转载] 唐浩民评点曾国藩家书(上)——一个不同凡庸的乡村农民
  2. 2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描
  3. spring cloud微服务分布式云架构 - Spring Cloud集成项目简介
  4. Typescript-规范
  5. 随风迎 jmeter下TPS插件的安装(转)
  6. Java Web知识梳理
  7. 前端基础知识 - 收藏集 - 掘金
  8. 为什么在中国“公有云”落地那么难?
  9. MVC中一个表单实现多个提交按钮(一个action搞定添删改)
  10. SQL SERVER 分区表的总结--一些疑问的总结