Logo
☆☆☆☆☆
0.0
Intermediate
35h

程序员迷宫

迷宫无处不在。从心理学实验中的老鼠测试,到机器人演示,再到电影、电子游戏、书籍和谜题,我们每个人在生活中都曾遇到过迷宫。探索迷宫就像一次充满发现的旅程,你永远不知道翻过下一个山丘后会遇见什么。 在本课程中,你将接触到各种创意灵感,并学会如何生成属于自己的迷宫。完成本课程后,你将把已有的软件工程知识应用到创造各种形状和大小的谜题中。你将用正方形、圆形、三角形、六边形、圆柱体、立方体、球体,甚至莫比乌斯环来构建迷宫。你会将它们拉伸到其他维度,压缩进任意轮廓,编织它们,编结它们,打印它们,折叠它们。你将会发现自己充满创意,或许还能找到突破编程瓶颈、摆脱倦怠和低落情绪的灵感。

15 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
程序员迷宫
迷宫无处不在。从心理学实验中的老鼠测试,到机器人演示,再到电影、电子游戏、书籍和谜题,我们每个人在生活中都曾遇到过迷宫。探索迷宫就像一次充满发现的旅程,你永远不知道翻过下一个山丘后会遇见什么。 在本课程中,你将接触到各种创意灵感,并学会如何生成属于自己的迷宫。完成本课程后,你将把已有的软件工程知识...

WHAT YOU'LL LEARN

了解迷宫在生成有趣谜题方面的实用性

Content

15 Lessons • 0 Quizzes • 0 Challenges

我们的第一个随机迷宫
  1. 1

    谁应该参加本课程以及原因是什么?

  2. 2

    入门

  3. 3

    准备网格

  4. 4

    二叉树算法

  5. 5

    深入探究二叉树算法

  6. 6

    侧风算法

  7. 7

    随机迷宫算法自测题

  8. 8

    练习:倒置的侧风迷宫

自动化并展示我们的迷宫
  1. 1

    介绍我们的基础网格

  2. 2

    实现 Grid 类

  3. 3

    实现二叉树算法

  4. 4

    在控制台上显示迷宫

  5. 5

    实现侧风算法

  6. 6

    将迷宫渲染为图像

  7. 7

    自我测验:自动化与展示迷宫

  8. 8

    练习:互动小说显示

  9. 9

    解决方案:互动小说展示

解迷宫
  1. 1

    迪杰斯特拉算法

  2. 2

    实现迪杰斯特拉算法

  3. 3

    显示迪杰斯特拉算法的网格(concept)

  4. 4

    寻找最短路径

  5. 5

    制作复杂的迷宫

  6. 6

    给我们的迷宫上色

  7. 7

    显示彩色迷宫

  8. 8

    自我测验:迪杰斯特拉算法

  9. 9

    练习:根据最短距离对单元格进行着色

  10. 10

    解决方案:根据最短距离对单元格进行着色

通过随机游走避免偏差
  1. 1

    理解偏差

  2. 2

    Aldous-Broder 算法

  3. 3

    实现 Aldous-Broder 算法

  4. 4

    威尔逊算法

  5. 5

    实现威尔逊算法

  6. 6

    通过随机游走避免偏差的自测题

  7. 7

    练习:优化 Aldous-Broder 算法

  8. 8

    解决方案:优化 Aldous-Broder 算法

为随机游走添加约束
  1. 1

    随机漫步简介(猎杀算法)

  2. 2

    实现猎杀算法

  3. 3

    计算死胡同

  4. 4

    递归回溯算法

  5. 5

    实现递归回溯算法

  6. 6

    自我测验:为随机漫步添加约束

  7. 7

    练习:递归的递归回溯法

  8. 8

    解决方案:递归回溯法

将迷宫适配到形状
  1. 1

    引入掩码

  2. 2

    实现掩码

  3. 3

    ASCII 码掩码

  4. 4

    图像掩码

  5. 5

    自我测验:将迷宫适配到形状

  6. 6

    练习:生成几何掩码

  7. 7

    解决方案:生成几何掩码

极坐标网格与圆形迷宫
  1. 1

    理解极坐标网格

  2. 2

    绘制极坐标网格

  3. 3

    自适应地划分网格

  4. 4

    实现极坐标网格

  5. 5

    测试与调整

  6. 6

    自我测验:极坐标网格

  7. 7

    练习:行高不均匀的极坐标网格

  8. 8

    解决方案:行高不均匀的极坐标网格

探索其他网格
  1. 1

    实现六边形网格

  2. 2

    显示一个六边形网格

  3. 3

    制作六边形(西格玛)迷宫

  4. 4

    实现三角网格

  5. 5

    显示三角网格

  6. 6

    生成三角形(Delta)迷宫

  7. 7

    自我测验:六边形与三角形网格及迷宫

  8. 8

    练习:Zeta 迷宫

  9. 9

    解决方案:Zeta 迷宫

编织与交织我们的迷宫
  1. 1

    编结迷宫

  2. 2

    成本与距离

  3. 3

    实现一种考虑成本的 Dijkstra 算法

  4. 4

    引入 Weaves 和 Insets

  5. 5

    深入理解交织与嵌入

  6. 6

    生成 weave 网格迷宫

  7. 7

    实现 OverCell 和 UnderCell 类

  8. 8

    实现 WeaveGrid 类

  9. 9

    自我测验:关于编织与交织迷宫

  10. 10

    练习:稀疏迷宫

  11. 11

    解决方案:稀疏迷宫

提升我们的编织技艺
  1. 1

    介绍克鲁斯卡尔算法

  2. 2

    实现随机化克鲁斯卡尔算法

  3. 3

    使用克鲁斯卡尔算法优化编织

  4. 4

    实现更优的编织

  5. 5

    自我测验:克鲁斯卡尔算法

  6. 6

    练习:掩码编织迷宫

  7. 7

    解决方案:掩码编织迷宫

随着普里姆算法的成长
  1. 1

    介绍普里姆算法

  2. 2

    理解普里姆算法的简化版本

  3. 3

    理解普里姆算法的真实版本

  4. 4

    理解生长树算法

  5. 5

    自我测验:普里姆算法

  6. 6

    练习:修改版普里姆算法

  7. 7

    解决方案:修改版普里姆算法

合并,分割
  1. 1

    理解艾勒算法

  2. 2

    实现艾勒算法

  3. 3

    递归分割

  4. 4

    实现递归分割

  5. 5

    深入分析递归分割算法

  6. 6

    自我测验:递归分割算法与艾勒算法

  7. 7

    练习:将 Aldous-Broder 算法作为墙体添加者使用

  8. 8

    解决方案:阿尔杜斯-布罗德的墙添加法

将迷宫扩展到更高维度
  1. 1

    理解维度

  2. 2

    介绍三维迷宫

  3. 3

    实现三维

  4. 4

    显示一个三维迷宫

  5. 5

    表示四个维度

  6. 6

    自我测验:将迷宫扩展到高维空间

  7. 7

    练习:打乱的二维迷宫

  8. 8

    解决方案:打乱的二维迷宫

弯曲与折叠我们的迷宫
  1. 1

    圆柱迷宫

  2. 2

    莫比乌斯迷宫

  3. 3

    介绍立方体迷宫

  4. 4

    立方体迷宫的更多方法

  5. 5

    显示立方体网格

  6. 6

    介绍球形迷宫

  7. 7

    在球面迷宫中实现POV-Ray

  8. 8

    自我测验:弯曲与折叠迷宫

  9. 9

    练习:连接世界

  10. 10

    解决方案:连接世界

结论
  1. 1

    迷宫算法概述

  2. 2

    最后的话

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)