Переглянути джерело

上传文件至 ''

master
刘晟驰 2 роки тому
джерело
коміт
5b272b003b
1 змінених файлів з 53 додано та 2 видалено
  1. +53
    -2
      README.md

+ 53
- 2
README.md Переглянути файл

@ -1,2 +1,53 @@
# 2022_CDMS_PJ1_REQUIRE
# 作业1:寻宝游戏
考虑以下游戏场景:
- 每个游戏玩家都有一定数量的金币、宝物。有一个市场供玩家们买卖宝物。玩家可以将宝物放到市场上挂牌,自己确定价格。其他玩家支付足够的金币,可购买宝物。
- 宝物分为两类:一类为工具,它决定持有玩家的工作能力;一类为配饰,它决定持有玩家的运气。
- 每位玩家每天可以通过寻宝获得一件宝物,宝物的价值由玩家的运气决定。每位玩家每天可以通过劳动赚取金币,赚得多少由玩家的工作能力决定。(游戏中的一天可以是现实中的1分钟、5分钟、10分钟,自主设定。)
- 每个宝物都有一个自己的名字(尽量不重复)。每位玩家能够佩戴的宝物是有限的(比如一个玩家只能佩戴一个工具和两个配饰)。多余的宝物被放在存储箱中,不起作用,但可以拿到市场出售。
- 在市场上挂牌的宝物必须在存储箱中并仍然在存储箱中,直到宝物被卖出。挂牌的宝物可以被收回,并以新的价格重新挂牌。当存储箱装不下时,运气或工作能力值最低的宝物将被系统自动回收。
- 假设游戏永不停止而玩家的最终目的是获得最好的宝物。
请根据以上场景构建一个假想的Web游戏,界面尽可能简单(简单文字和链接即可,不需要style)。后台的数据库使用MongoDB。
对游戏玩家提供以下几种操作:寻宝(可以自动每天一次)、赚钱(可以自动每天一次)、佩戴宝物、浏览市场、买宝物、挂牌宝物、收回宝物等操作。
---
程序要求:
- 本次作业**主要考察程序后端和mongodb数据库设计与实现**。即为了实现游戏逻辑,需要构建哪些collection,每个collection上面要构建什么索引;基于collection与游戏逻辑,需要对collection进行怎样的操作(增删改查与高级操作);后端游戏逻辑的设计与实现。**前端不在考核范围内**。
- 寻宝游戏的前端已经给出了一个基于HTML+FLASK的demo(具体请参考文件夹“寻宝游戏demo”),“寻宝游戏demo说明文件”介绍了demo的文件结构、页面跳转逻辑等内容,同学们**可以直接使用“寻宝游戏demo前端”构建自己的后端和数据库设计**。
- 如果现有的前端demo不足以支撑同学们的后端逻辑实现,可以根据需求自主修改前端页面,但是**只修改前端界面不加分**。同学们也可以使用其他web框架自己实现,不过仍根据后端逻辑和mongodb数据库设计进行评分不会额外加分。
文档要求:
- 需要完整的表述本次作业mongodb数据库与后端游戏逻辑设计,例如:mongodb数据库需求分析、概念设计、结构设计;游戏逻辑操作的实现方法;后端业务与数据库之间的交互(CRUD)等。(不限于上述内容)
- 为玩家的操作设计JSON HTTP协议的接口,自定义接口格式(request和response的JSON),为每个接口编写测试用例和测试代码,可借助Postman等接口测试工具进行测试。在文档中要包含接口的设计方法与测试结果。
- 在完成作业的过程中遇到的工程问题,记录解决的过程与方法。
提交要求:
- 程序+文档;命名规则:2022_CDMS_PJ1_学号_姓名
- 提交截至日期:**2022.10.21 22:00**
---
参考资料(仅供参考,同学们可以自行上网搜索):
Flask基础操作:
[https://flask.palletsprojects.com/en/2.0.x/](https://flask.palletsprojects.com/en/2.0.x/)
https://www.bilibili.com/video/BV1P64y127Mv/?spm_id_from=333.337.search-card.all.click&vd_source=7e956cee5809b33e67962ca7c897f02e
https://www.bilibili.com/video/BV1f7411i7w6/?spm_id_from=333.788.recommend_more_video.1&vd_source=7e956cee5809b33e67962ca7c897f02e
API Design:
[https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/](https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/)
Test API:
[https://www.katalon.com/resources-center/blog/api-testing-tips/](https://www.katalon.com/resources-center/blog/api-testing-tips/)

Завантаження…
Відмінити
Зберегти