这就是课设吗?爱了爱了——数据结构课设杂记

   借数据结构课程设计的机会,和几个小伙伴完成了一次小项目的开发。开发项目与算法竞赛还是有很大的区别,四个小白在开发过程中也是一边碰壁一边学习,跌跌撞撞,最终完成了课设。作为队长的我在整个开发过程中做的还不够好,故写此博客,用于记录和反思。

  2020.12.28-2021.1.13,四人团队历时两个多星期,顺利完成了数据结构课程设计。我们的选题是:基于A*算法的迷宫寻路游戏,课题的要求是实现迷宫游戏功能和不同寻路算法的演示功能。

  第一天我们在一起研究课题,确定了游戏开发的大方向,进行了粗略的任务分工。我负责寻路算法的实现,另一位队友负责迷宫地图的生成,其余两位队友负责游戏的可视化和人机交互。由于是第一次做项目,缺乏经验,作为队长的我没有对系统进行深入分析,胡乱制定了一个“先做,不好再改”的策略,导致后面项目的开发做了很多无用功。开发项目前做好系统分析还是十分重要的,不然就像造房子不用图纸一样,开发过程中我们进行了多次的返工,浪费了许多时间。

  完成初步的项目框架后就到了元旦,秉着健康工作,拒绝996的信念,项目开发暂缓,这也成为了我们第一次开发就开发了一年的“大”项目。节后就是继续项目的打磨和完善,期间大家的点子层出不穷,游戏界面也改了又改。代码的不断修改也造成了一个在算法竞赛中不可能遇到的问题——版本管理。开发项目前也想过学习git,但是粗略了解后觉得学习成本有点高,为了这一个小项目去学习的性价比不高就放弃了。结果就是,每次改了一个小需求,代码合并时报错的几率就大了一分(因为可能每个人本地的代码版本不同,有些函数修改过就会对不上),然后就是一边哀嚎“github它不香吗”,一边苦命改bug。

  最后课程设计还是有惊无险地完成了,也算没有辜负老师的期望。我一共写了DFS、BFS、A三种寻路方法,看到在它们的帮助下方块自动从起点走到了终点的体验真的很奇妙,真的是难以用言语去表达的感受(A算法学习及寻路功能的实现笔记)。同时,这次的课设也更让我体会到了算法学习的重要性,无悔入acm!最后,向三位队友表示感谢: zxr,llz,dx
   部分游戏画面:

游戏设置页面:

四种随机生成的地图:

三种寻路算法在四种地图中运行的效果:

创新的冒险模式:

评论

  1. Windows Chrome
    3 年前
    2021-1-20 17:45:16

    哦豁

  2. whr
    Windows Chrome
    3 年前
    2021-3-28 10:41:59

    请问图形界面是用什么开发的?OpenGL?

    • 博主
      whr
      Windows Chrome
      3 年前
      2021-3-31 21:03:16

      搜一下easyx,一个民间的图形界面,学习成本稍微低一点

  3. 1701
    Windows Chrome
    8 月前
    2023-8-30 11:38:08

    你好,可以分享一下源代码吗?想学习一下😘

    • 博主
      1701
      Windows Chrome
      8 月前
      2023-9-01 11:19:40

      团队项目,不太方便~

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇