结对编程作业

我的博客链接:https://www.cnblogs.com/beryl-z/p/13843667.html
黄嘉颖的博客链接:https://www.cnblogs.com/hjy0731/
Github项目地址:https://github.com/huangjiaying0731/cy_git/tree/master/031802111/华容道 
具体分工:

姓名 分工
黄嘉颖 原型设计、编写代码
张文婕 查找资料、编写博客

一、原型设计

1.设计说明:

(1)首界面上我们主要展示了游戏名称、开始游戏按钮、游戏介绍按钮、历史记录按钮、退出游戏按钮。主界面设计的比较简洁明了,方便玩家查看,并且快速、准确找到自己需要的功能。

(2)游戏界面我们主要设计了占据页面最大的部分:拼图区,以及上边界中的“返回主菜单”按钮,方便玩家在不想进行游戏的时间可以退回到主菜单中。还有游戏开始后记录时间、当前已走步数,这也是之后对玩家进行排名的重要依据。在下边界设置了“重新开始”按钮,对于不满意自己当前游戏进度的玩家,可以选择重新开始。

(3)游戏结束后,会跳转到该界面。主要展示了玩家本次游戏成绩,游戏成绩主要是两方面展示,一是本局游戏持续时间,二是本次游戏总步数。最后对玩家昵称进行记录,方便之后进行排行榜展示。在最后也增加了“返回主菜单”按键,以及“确定”按键,点击确定按键之后,玩家本局游戏信息可以存入库中,进行排行。

(4)该界面为游戏失败界面,展示了该玩家游戏失败前的游戏时间及步数,并显示“很遗憾您没有打破记录”,这里的记录是指最差游戏记录。页面最下方设置了“返回主菜单”以及“确定”按钮。以便玩家继续游戏或是返回主菜单。

(5)游戏介绍界面:主页面中点击“游戏介绍”就会跳转到该界面,对玩家进行简短的游戏介绍,方便玩家了解游戏规则。

(6)游戏排行榜界面:展示了游戏中各个玩家的游戏成绩,去所有成绩中排名前八的游戏成绩进行展现。主菜单中点击“历史记录”,就会调转到该界面。最下面设置了“返回主菜单”,点击后会返回到主界面。

2.原型开发工具:Axure RP9

3.结对照片

4.遇到的困难及解决方法:

·困难描述

(1)对于Axure RP9的使用不熟练,因为之前没有接触过,就需要自行搜索使用方法,所以前期比较耽误时间,也拖慢了进度。

(2)Axure RP9软件中的原型设计项目不会直接导出为html文件

·解决尝试

(1)在网上找教程,或者向有过使用经验的同学进行求教,自己多进行尝试与练习

(2)在网页中查找相关资料进行学习

·是否解决

(1)经过学习已解决,对于大部分功能了解,能够完成本次作业所需

(2)还在积极尝试,但是目前只能导出本地文件

·有何收获

(1)对Axure RP9的使用有了大概了解,并且能够对一些常见功能有了大致的了解,并且在本次作业中进行了实践

(2)暂无

二、AI与原型设计实现

1.代码实现思路:

·网络接口的使用

·代码组织与内部实现设计

首先,构建一个游戏的框架,左边包含几个按钮:结束游戏,重新开始,主菜单;通过鼠标点击按钮可以跳转到不同的界面。
在右边靠上的部分为拼图游戏区,均分为九个小方格。
在右下部分有原图区,是游戏的原图片,还有右下方的计步器

·说明算法的关键与关键实现部分流程图

(1)打乱拼图方块,并对每一块方块进行创建对象,最后进行拼图游戏界面的展示

(2)鼠标点击拼图移动原理

·重要代码片段

(1)鼠标点击移动拼图原理

(2)打乱拼图

(3)构建游戏框架

·性能分析与改进

耗时最大的还是mainloop函数,但是这也是整个框架运行的主要函数,要把这个改进我着实做不到

·性能分析图和程序中消耗最大的函数


2.Github代码签入记录


3.遇到的代码模块异常或结对困难及解决方法

问题:

(1)、最开始没有协商好从哪个地方开始准备
(2)、两个人的学习进度不一样,所以分开学习,结果并不如意
(3)、使用simpleguitk库的时候,一直找不到它的具体函数

解决方法:

(1)、查了很多资料,找到了要用到的主要算法
(2)、对比两个人的空闲时间,一起去益禾堂进行讨论
(3)、去官方的GitHub上找到了simpleguitk库的函数

4.评价队友

·值得学习的地方

对待遇到的困难,有钻研精神,能够纳新寻找方法进行解决。接受新知识速度快,并且完成工作很高效。

5.PSP和学习进度条

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 50
· Estimate · 估计这个任务需要多少时间 10 30
Development 开发 120 200
· Analysis · 需求分析 (包括学习新技术) 1000 1500
· Design Spec · 生成设计文档 30 60
· Design Review · 设计复审 40 50
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 60 60
· Design · 具体设计 240 250
· Coding · 具体编码 360 300
· Code Review · 代码复审 60 60
· Test · 测试(自我测试,修改代码,提交修改) 120 200
Reporting 报告 40 40
· Test Repor · 测试报告 30 30
· Size Measurement · 计算工作量 10 10
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 60 90
· 合计 2220 2930

学习进度条

第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
第1周 100 100 9 9 了解需要的算法,进行原型设计构思
第2周 200 300 15 24 熟悉SimpleGUITk算法
第3周 300 600 20 44 用Python写了游戏并进行修改
原文地址:https://www.cnblogs.com/beryl-z/p/13843667.html