2022.10.13
github链接:https://github.com/032002424liuyuqi/2022-K-/tree/main
bilibili链接:https://www.bilibili.com/video/BV1D84y1B7HH/
一、结对探索(4分)
1.1 队伍基本信息(1分)
结对编号:47 ;队伍名称:IKUN家族;
姓名 | 学号 | 博客链接 | 具体分工 |
---|---|---|---|
刘宇旗 | 032002424 | https://blog.csdn.net/codeboy1111/article/details/127308208 | UI设计,编程实现,算法设计 |
罗桢彬 | 032002425 | https://blog.csdn.net/qq_56128672/article/details/127309926 | 原型设计,博客编写,视频制作 |
1.2 描述结对的过程(1分)
一个宿舍很方便,直接组队
1.3 非摆拍的两人在讨论设计或结对编程过程的照片(2分)
二、原型设计(16分)
2.1 原型工具的选择(2分)
墨刀。
对于第一次接触原型设计的人来说,上手快,交互性强,且有着丰富的组件,方便分享给别人并且预览速度快。
2.2 遇到的困难与解决办法(3分)
困难:如果没有开通个人版只能创建的页面数量有限,难以达到预期。
解决方法:去某宝花几块钱购买了一月试用期。
2.3 原型作品链接(5分)
作品链接:https://modao.cc/app/d49IzsVXrjj9ugKQ5Q1JY
2.4 原型界面图片展示(6分)
进入界面:
游戏界面:
结束界面:
三、编程实现(14分)
3.1 网络接口的使用(2分)
无
3.2 代码组织与内部实现设计(类图)(2分)
场景切换
代码脚本文件
3.3 说明算法的关键与关键实现部分流程图(2分)
3.4 贴出重要的/有价值的代码片段并解释(2分)
public void set() //投色子
{
if(touzi == true)
{
x = Random.Range(1, 7);
Text.text = x.ToString();
touzi = false;
}
}
public void aiset() //AI自动投色子
{
if(touzi == true)
{
x = Random.Range(1, 7);
Text.text = x.ToString();
}
}
public void rest()
{
//休息专用
}
public void is_over() //判断游戏是否结束
{
bool count_1 = true;
bool count_2 = true;
for (int i = 0; i < 9; i++)
{
if (Lists_Left[i].y == 0) count_1 = false;
if(count_1 == false) break;
}
for (int i = 0; i < 9; i++)
{
if (Lists_Right[i].y == 0) count_2 = false;
if (count_2 == false) break;
}
if (count_1 == true || count_2 == true)
{
Gameover();
}
}
public void Gameover() //游戏结束
{
getscore();
PlayerPrefs.SetInt("p1_score", p1score);
PlayerPrefs.SetInt("p2_score", p2score);
SceneManager.LoadScene("gameover1");
}
public void getscore() //获取P1 P1的分数
{
for(int j=0;j<3;j++)
{ int[] a = new int[7];
for(int i = 0+j*3; i < 3+j*3; i++)
{
if (Lists_Left[i].y == 0) continue;
else a[Lists_Left[i].y]++;
}
for(int i = 1; i < 7; i++)
{
p1score += a[i] * a[i] * i;
}
}
for (int j = 0; j < 3; j++)
{
int[] a = new int[7];
for (int i = 0 + j * 3; i < 3 + j * 3; i++)
{
if (Lists_Right[i].y == 0) continue;
else a[Lists_Right[i].y]++;
}
for (int i = 1; i < 7; i++)
{
p2score += a[i] * a[i] * i;
}
}
}
public void eliminate() //重复进行消除
{
if (leftright==0)
{
for(int i = 0; i < 9; i++)
{
if(dicecon.Lists_Right[i].hang == hang)
{
if (y == dicecon.Lists_Right[i].y)
{
dicecon.source3.Play();
dicecon.Lists_Right[i].y = 0;
}
}
}
}
if (leftright == 1)
{
for (int i = 0; i < 9; i++)
{
if (dicecon.Lists_Left[i].hang == hang)
{
if (y == dicecon.Lists_Left[i].y)
{
dicecon.source2.Play();
dicecon.Lists_Left[i].y = 0;
}
}
}
}
}
3.5 性能分析与改进(2分)
3.6 单元测试(2分)
判断游戏是否结束
public void is_over() //判断游戏是否结束
{
bool count_1 = true;
bool count_2 = true;
for (int i = 0; i < 9; i++)
{
if (Lists_Left[i].y == 0) count_1 = false;
if(count_1 == false) break;
}
for (int i = 0; i < 9; i++)
{
if (Lists_Right[i].y == 0) count_2 = false;
if (count_2 == false) break;
}
if (count_1 == true || count_2 == true)
{
Gameover();
}
}
3.7 贴出GitHub的代码签入记录,合理记录commit信息(2分)
没有使用
四、总结反思(11分)
4.1 本次任务的PSP表格(2分)
PSP2.1 Personal Software 预估耗时(分钟) 实际耗时(分钟) Planning 计划 25 28 · Estimate · 估计这个任务需要多少时间 1500 200 Development 开发 500 500 · Analysis · 需求分析 (包括学习新技术) 400 450 · Design Spec · 生成设计文档 25 26 · Design Review · 设计复审 20 10 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 6 8 · Design · 具体设计 10 10 · Coding · 具体编码 500 800 · Code Review · 代码复审 300 400 · Test · 测试(自我测试,修改代码,提交修改) 200 133 Reporting 报告 160 160 · Test Repor · 测试报告 40 50 · Size Measurement · 计算工作量 50 60 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 40 · 合计 3700 4870
4.2 学习进度条(每周追加)(2分)
刘宇旗:
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 时) 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 0 | 0 | 15 | 15 | 学习unity工具的基本使用,c#基本语法 |
2 | 0 | 0 | 20 | 35 | 学习了unity小游戏开发的相关内容 |
3 | 1000 | 1000 | 25 | 60 | 完成游戏 |
罗桢彬:
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 时) 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 0 | 0 | 15 | 15 | 学习墨刀工具的基本使用,一些功能组件的作用 |
2 | 0 | 0 | 10 | 25 | 具体学习墨刀原型设计一些效果的实现,观看实例 |
3 | 1000 | 1000 | 25 | 50 | 协助完成游戏 |
4.3 最初想象中的产品形态、原型设计作品、软件开发成果三者的差距如何?(2分)
感觉差不多没什么差距,根据自己的想法来创建原型设计开发软件,结果跟设想的差不多。
4.4 评价你的队友(2分)
刘宇旗:
队友很优秀,对待这次作业很认真的学习,在原型制作的学习上也是下了很大的功夫,合作很愉快。
罗桢彬
学习能力很强,非常认真负责,为了加快游戏的制作连续熬了很多天的夜,合作十分愉快。
4.5 结对编程作业心得体会(3分)
刘宇旗
总得来说这次编程作业带给我的收获很大,学习了unity的开发,刚刚开始的时候还认为这是一项很艰巨的任务,后面通过学习慢慢一步步直到小游戏的制作完成,我受益匪浅,只能说感谢老师给我们布置的这一项作业,让我的学习能力进一步提高了。
罗桢彬
第一次接触结对编程,觉得是一件很新鲜的事情。享受和搭档一起学习新知识,讨论游戏的搭建框架,为了赶进度拼命的过程,也是在作为计算机学生,第一次制作游戏,收获颇多。