• C语言RPG迷宫游戏


    C语言RPG迷宫游戏

    算法与数据结构

    期中作业
    数据结构是由数据元素依据某种逻辑联系组织起来的结构。算法施加于数据结构,常用于解决复杂的计算问题。本次作业要求解决一个游戏走迷宫问题。游戏有以下设置:

    1. 游戏的为平面迷宫,迷宫形状为16X16个正方形方格所组成的正方形, 迷宫中的障碍物分布可调。有入口格和出口格,此外每个方格可以是路、草、石头(障碍物)、宝石或其他属性(可自行设计)。有两个特殊的格子,一个称为基地,另一 个称为源。在程序中,迷宫可以用二维数组的方式表达。
    2. 源可以不断产生吸血鬼,吸血鬼具有固定生命值,产生后可以四处移动,每次走1格,消耗1个生命值(参数可调),生命值消耗殆尽则吸血鬼消失,之后该格子会产生宝石(可选)。
      3.走迷宫的主角为一名射手 (或若干名,参数可调),装备若干支箭(参数可调),他的任务如下:

    a)从入口走到出口, 则胜利并游戏结束;
    b)在行走过程中, 保护基地不被吸血鬼占领;
    c)尽量多 地射死吸血鬼,获得较高分值:
    d) 如果吸血鬼占领了基地,则游戏失败。

    4.射手每次走3格(路)或2格(草) (参数可调),如果射手被吸血鬼追上,则射手被杀死。
    5. 箭的射程为5格(参数可调),收集宝石可以增加下一支箭的射程。
    6.游戏开始后, 射手不由人操控,由事先设计好的算法自动行动。对于编程,本次作业有以下要求:

    1. 基础要求:
      a)实现二维迷宫的图形展示;
      b)实现吸血鬼的产生和随机移动:
      c)实现算法自动操控射手的移动和射箭;
      d)实现游戏的计分系统。

    2. 基本要求:通过对场景(迷宫)的设计,实现-一个简易关卡,使得主角很容易地抵挡吸血鬼的攻击,完成通关。
      3.扩展要求1:研究各种游戏参数的配置以及场景布置,使得游戏具有更好的趣味性。

    注意:以上要求没有统一的、唯一正确的解决方案,同学们应该自己进行研究和探索。

    期中作业上交材料的要求:
    1.自己设计解决方案, 简易的解决方案得分较低,完整的解决方案,即使部分完成,得分也会较高;
    2.作业上交形式为电子版文件。所有文件打包为一个文件,以“学号+姓名”的方式命名;
    3.上交实现游戏的源程序 (c文件);
    4.关于游戏, 有很多可研究的内容,比如:

    a)分别以什么数据结构去实现游戏中的各种对象(草地、吸血鬼、射手等等) ?
    b)射手应该如何规划从入口到出口的路线?
    c)射手应该在何时偏离规划好的、至出口的路线,转而去保护基地?
    d)射手应该以什么方式解决防守吸血鬼的问题,并拿到尽量多的宝石?
    e)如何产生更有趣味性的场景布置和参数设计?
    f)其他可待研究的问题。

    请对上述问题进行研究,并撰写文章说明为实现各部分而采用的数据结构,并给出总体的程序流程图(docx 文件);
    字数:论文部分字数(程序代码不计算在内)不少于1000,字数太少扣分。
    上交期限:第14周周日(12月04日),打包成zip文件统一上传智慧树系统的期中作业部分。
    抄袭0分!

    源码传送门

    传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

  • 相关阅读:
    java基础之组合和继承
    计算机操作系统 第四章 存储器管理(3)
    微光互联 TX800-U 扫码器无法输出中文到光标的问题
    第一章:初识MySQL
    Elastic Stack 环境配置与框架简介
    解决splice改变原数组的BUG
    基于Java毕业设计疫情期间物资分派管理系统源码+系统+mysql+lw文档+部署软件
    AI项目六:基于YOLOV5的CPU版本部署openvino
    机器学习笔记 - 3D 对象跟踪极简概述
    java数据结构与算法刷题-----LeetCode101:对称二叉树
  • 原文地址:https://blog.csdn.net/qq_35960743/article/details/127818458