第九周作业
一、个人学习
1、慕课第十三、十四章已完成,上周已发截图。本周完成了期末测试,期末考试情况及慕课成绩汇总如下:


2、学习了软件工程讲义“软件项目的管理”章节。
3、学习了一下爬虫,有了一定了解。学习链接:
https://www.cnblogs.com/luchun666/p/9394149.html
https://blog.csdn.net/qq_27297393/article/details/81630774
学习体会:
(1)绩效管理有多种评价方式,不一定某种常用方式就一定适合一个团队或一个公司,最好根据自己的实际情况进行选择,有时候可以直接采取比较简单的评价方式,有时候则要从工作时间、效率、完成质量等多个方面进行评价。
(2)软件测试可以从正向思维出发,也可以从逆向思维出发,包括单元测试、集成测试、功能测试、性能测试等等,它的主要目的是找出软件存在的一些问题,然后对其进行修正,从而满足质量要求,提高用户体验。当然,测试不能够对所有情况进行全覆盖,也不保证能够消除所有问题,在交付后仍然需要进行维护。
(3)在做科研时,偶尔会用到网上的一些数据,所以想学习一下爬虫,学会爬取数据、解析数据相关操作,目前主要看了有关这方面的一些文章,后续会尝试练习。
二、小组学习(成员:曹宇轩、王天雨、刘斯杰、刘昕昕)
项目组代码见:https://github.com/lxxlccly/scds
小组分工:曹宇轩负责编写计时器功能;刘昕昕负责重构代码,调试修改bug;刘斯杰负责添加出口成诗查看答案功能;王天雨负责收集诗词并为下一周的数据库整理做好准备。
1、对三种游戏模式中“回答情况总结”界面进行了重构,之前是三个模式分别编写了三个“回答情况总结”界面,现在对其进行了整合,代码如下,只要调用该类,将“模式、题目数量、回答、正确答案”四个参数传递进去就可以自动完成回答情况的分析和成绩的计算,并显示完整的“回答情况总结”界面。
class GradeInterface(object): '''显示答案界面''' def __init__(self): self.grade_interface = None def exit_grade_interface(self): '''显示答案界面的退出游戏函数''' global is_running is_running = False self.grade_interface.destroy() def run(self, mode, question_amount, answers, right_answer=[]): '''显示答案界面的运行函数''' right_amounts = 0 conclusion = '回答情况如下:\n\n' for i in range(question_amount): if answers[i] != '': if mode == 1: right_amounts += 1 conclusion += '{0:>2}、回答正确:{1}\n'.format(i + 1, answers[i]) else: if answers[i] == right_answer[i] or answers[i] == right_answer[i][1]: right_amounts += 1 conclusion += '{0:>2}、回答正确。\n'.format(i + 1) else: conclusion += '{0:>2}、回答错误。\n'.format(i + 1) else: conclusion += '{0:>2}、未回答。\n'.format(i + 1) grade = right_amounts / question_amount * 100 score = '您的总得分为:{0:.1f}分'.format(grade) self.grade_interface = tkinter.Tk() self.grade_interface.title("回答情况总结") self.grade_interface.geometry("400x400+500+150") img = Image.open("./image/背景5.jpg") photo = ImageTk.PhotoImage(img) bg_photo = tkinter.Canvas(self.grade_interface, width=400, height=400) bg_photo.create_image(250, 300, image=photo) if mode == 1: bg_photo.create_text(120, 200, text=conclusion, fill='black', font=("宋体", 14)) if mode == 2 or mode == 3: bg_photo.create_text(80, 200, text=conclusion, fill='black', font=("宋体", 16)) bg_photo.create_text(120, 18, text=score, fill='black', font=("宋体", 18)) bg_photo.pack() exit0 = tkinter.Button(self.grade_interface, text="退出游戏", font=('楷体', 18), bg='springgreen', activebackground='lime', command=self.exit_grade_interface) exit0.place(relwidth=0.3, relheight=0.1, relx=0.7, rely=0.9) back0 = tkinter.Button(self.grade_interface, text="返回首页", font=('楷体', 18), bg='springgreen', activebackground='lime', command=self.grade_interface.destroy) back0.place(relwidth=0.3, relheight=0.1, relx=0, rely=0.9) self.grade_interface.protocol("WM_DELETE_WINDOW", self.exit_grade_interface) self.grade_interface.mainloop()
2、在三个模式界面都增加了计时器功能,并根据情况调整了界面的布局,计时器能够实时显示剩余时间,超时后系统会自动结束当前回答并跳入“回答情况总结”界面。下面以“点字成诗”环节为例给出了相应的效果图:

3、修改了点字成诗和你说我猜环节的”查看答案“按钮的响应函数。之前是点击”查看答案“按钮后建立新的界面,在新界面上显示答案,如下图所示:

感觉没有必要在同一个题目中重新建立一个界面,所以直接换成了消息框,点击”查看答案“按钮后表示玩家不会此题,然后系统会弹出显示答案的消息框,如下图所示,点击确定之后会自动跳到下一题。

4、在“出口成诗”环节添加了“查看答案”按钮,点击后系统会在库中查找出符合该词的所有答案,然后通过消息框显示出来,如下图所示,点击确定之后,该词的颜色会变为红色(与回答正确时区分,回答正确时为灰色),表示此题不会并且已经查看过答案,不能够再次回答此题,此外,点击确定之后,系统会自动找出第一个还未回答或未查看答案的题,并将其标为绿色,表示正在回答该题。

5、之前的”出口成诗“界面刚进入时所有词都为天蓝色,没有词被选中,经过修改,刚进入界面时默认正在回答第一个词,第一个词的颜色为绿色,如上方左图所示,可以点击其它词来改变正在回答的题目。
6、之前的”出口成诗“界面,当某个题回答正确时,该题颜色变为灰色,其余题目都是天蓝色,没有词被选中,经过修改,回答正确后不仅将该题颜色变为灰色,同时也将从头开始的第一个未回答且未查看答案的词的颜色变为绿色,表示正在回答此题,如下图所示。

7、在之前的”出口成诗“环节中,只有答对了某个题,进度条才会发生变化,修改后,无论是答对了还是点击了”查看答案“按钮,进度条都会发生变化,如第4点中的右图所示。
8、典型的一些交互过程,由于用手机软件编辑了一些文字和背景音乐上去,所以用电脑观看时部分字略微有点模糊,但不影响功能演示,视频链接:https://weibo.com/tv/v/IE16tmv13?fid=1034:4495373423542303
9、下一步计划:
(1)重新整理数据库,对其进行分类管理;
(2)在(1)的基础上添加简单模式、困难模式功能。
三、学习记录
| 学习时间 | 学习内容 |
| 4.14 8:00-9:00 |
慕课第15章考试 |
| 4.14 9:00-10:00 |
软件工程讲义“软件项目的管理”章节 |
|
4.14 10:00-12:00 4.14 13:00-18:00 |
对项目中的部分代码进行重构,修改了部分功能 |
|
4.15 13:00-16:00 |
网页爬虫 |

浙公网安备 33010602011771号