目录
一.实验目的 1
二.实验要求 1
三.代码执行顺序及使用方法 3
四.实验过程 3
1.数据库设计 3
1.1 treasures 4
1.2 players 5
1.3 markets 6
1.4 picurl 6
2.基本功能函数实现(登录,cwur等) 8
2.1 登录/注册 8
2.2 查看用户箱子 9
2.3 浏览市场 9
2.4 佩戴宝物 10
2.5 购买宝物 11
2.6 撤回宝物 13
2.7 出售宝物 14
3.定时任务(寻宝+赚钱)函数实现 17
4.附加功能函数实现 18
5. pytest测试 23
6.前端展示 25
五.注意事项 27
一.实验目的
1.练习Mongodb操作,学习如何设计数据库 2.练习Python的Flask框架
3.学会用pytest测试
4.学会用定时任务执行函数
二.实验要求
考虑以下游戏场景:
1.每个游戏玩家都有一定数量的金币、宝物。有一个市场供玩家们买卖宝物。玩家可以将宝物放到市 场上挂牌,自己确定价格。其他玩家支付足够的金币,可购买宝物。
2.宝物分为两类:一类为工具,它决定持有玩家的工作能力;一类为配饰,它决定持有玩家的运气。
3.每位玩家每天可以通过寻宝获得一件宝物,宝物的价值由玩家的运气决定。每位玩家每天可以通过 劳动赚取金币,赚得多少由玩家的工作能力决定。(游戏中的一天可以是现实中的1分钟、5分
钟、10分钟。自主设定。)
4.每个宝物都有一个自己的名字(尽量不重复)。每位玩家能够佩戴的宝物是有限的(比如一个玩家 只能佩戴一个工具和两个配饰)。多余的宝物被放在存储箱中,不起作用,但可以拿到市场出售。
5.在市场上挂牌的宝物必须在存储箱中并仍然在存储箱中,直到宝物被卖出。挂牌的宝物可以被收 回,并以新的价格重新挂牌。当存储箱装不下时,运气或工作能力值最低的宝物将被系统自动回 收。
6.假设游戏永不停止而玩家的最终目的是获得最好的宝物。
请根据以上场景构建一个假想的Web游戏,可供多人在线上玩耍。界面尽可能简单(简单文字和链接即 可,不需要style)。后台的数据库使用mongodb。对游戏玩家提供以下几种操作:寻宝(可以自动每 天一次)、赚钱(可以自动每天一次)、佩戴宝物、浏览市场、买宝物、挂牌宝物、收回宝物。
提交:程序+文档要求:
1.文档主要用于解释你的数据库设计,即需要构建哪些collection,每个collection的文档结构是什 么,需要构建哪些索引,应用如何访问数据库(具体的CRUD命令);
2.为玩家的操作设计JSON HTTP协议的接口,自定义接口格式(request和response的JSON);为每个接口编写测试用例和测试代码;
3.不限制编程语言及web框架。