诗词答题小项目demo与需求文档

最近看诗词大会,感觉里面的选手都超级厉害,于是最近阅读了好多之前读书时代背过好多遍但没有领会意境的诗词, 无比感叹古人的文采。这些都是中华民族无价的瑰宝,于是突发奇想,写一个诗词答题小程序,能让现在的人们也参与进来,领略中国诗词的博大精深。

首先第一步,写个小demo玩一玩:

public class Test1024 {
    public static void main(String[] args) {
        //map后续会负责统计每题的正确率
        HashMap<String,String> map = new HashMap<>();
        map.put("君不见高堂明镜悲白发","朝如青丝暮成雪");
        map.put("白日依山尽","黄河入海流");
        map.put("欲穷千里目","更上一层楼");
        //用于判断,后期对接数据库
        String[][] strings = new String[3][2];
        strings[0][0] = "君不见高堂明镜悲白发";
        strings[0][1] = "朝如青丝暮成雪";
        strings[1][0] = "白日依山尽";
        strings[1][1] = "黄河入海流";
        strings[2][0] = "欲穷千里目";
        strings[2][1] = "更上一层楼";
//        JOptionPane.showMessageDialog(null
        //弹出确认框
        String gratePerson = null;
        JOptionPane.showConfirmDialog(null, "欢迎您,确认开始挑战吗", "诗词挑战大会", JOptionPane.PLAIN_MESSAGE);
        //输入框
        int score = 0;
        //循环答题
        for (int i = 0; i < strings.length; i++) {
            String str = JOptionPane.showInputDialog("题目:" + strings[i][0] + "          当前分数:" + score + "当前擂主" + gratePerson);
            if (!str.equals(strings[i][1])) {
                JOptionPane.showConfirmDialog(null,"您没有挑战成功","答错啦",JOptionPane.CLOSED_OPTION);
                break;
            }else score += 10;
        }
        if (score == 30) {
            gratePerson = JOptionPane.showInputDialog(null,"您已全部通关,分数为:" + score +"大侠请留名","恭喜",JOptionPane.OK_OPTION);
        }
    }
}

 上边就是简单的一个小demo,就是根据诗词的上半句,用户答出诗词的下半句,这只是其中一种玩法,后期还会进行多种玩法的开发,先简单写一下需求文档:

产品功能:

1.游客模式:不登录,直接玩,只能玩一个答题模块,且没有用户积分系统

2.用户注册、登录系统;

3.用户登录后能够根据产品导航进入不同的答题模块,答题模块有:

        1. 上句猜下句:共10题,答对一题加10分,满分100分;

        2. 一字成诗(根据一个字说出一句包含这个字的诗词)等等。

        3. 。。。。。。

4.用户积分系统,每次答题积分的10%计入用户积分,每日上限10分;

数据库设计:

三大模块:

user_info用户登录注册表:

user_id 用户id

user_name 用户名

user_phone 用户手机

user_password 用户密码

user_answer_info用户积分记录表:

user_id 用户id

user_points 用户积分

user_accuracy 用户正确率(分模块)

poem_content 诗词内容模块(存储诗词数据,尽管有的答题模块用不到所有的诗词数据,但是以后答题模块扩展的话可能还要使用到,所以一个数据条将就是一个诗词的全部数据):

poem_title 诗词题目

poem_author 诗词作者

poem_author_dynasty 诗词作者朝代

poem_1 诗词第一句

poem_2 诗词第二句

poem_3 诗词第三句

poem_4 诗词第四句

数据库大概就是这样设计,后续有功能再考虑是否加表或者分表。

技术栈:

前端:vue+elementUI

后端:springboot

三大模块:

1.用户注册(增)、登录(查)、注销(删除)、修改(密码或者用户名的修改)

2.用户积分:积分累加(改,当每次答题之后进行积分的计算与累加),积分过期系统,每天判断计时,积分有效期1年,(删)

3.诗词:增(管理员新增诗词信息,热心用户新增诗词信息(需要审核)),诗词修改、勘误(改),删除(一般用不到),最重要的是查(每次用户进行答题的时候都要进行数据库的查询)

查询有两种方案:

3.1.因为用户每次答题是10道,所以在用户点击开始答题时就进行题目的加载,将10道题目全部查出来进行缓存;

3.2.用户每答一道题,在点击下一道时就会访问数据库进行查找。

然后用户输入答案之后进行检查,检查答案是否正确。

项目周期:预计总工时100h完成,因为每天很忙只有一个小时的空闲时间,差不多在2021年12月下旬开发完成。

今天是1024程序员节,祝各位程序员同志们每天都能早睡早起,健康帅气!身体是最重要的哦!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆〇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值