第一次结对编程作业
作者:互联网
这是我的好兄弟传送门:https://www.cnblogs.com/Unknownnnn/
前言
惯例,这是前言,又一次这么晚才写博客,之前有人和我说希望我能早点写博客,好参考一下内容,其实我的博客都比较的随意和参杂私货。我不是故意这么迟写的,是因为确实没时间写。啥都不会总得学明白了再来吹水吧。
上次作业不知道是谁把我的地图api余额给我刷完了,让我郁闷了半天,姑且把这笔账算到明哲头上吧。
这次作业十三水,有意思的玩意,虽然我更喜欢打麻将,不过被组内直接拉走打赌王争霸赛,还能进6强,可喜可贺,可喜可贺。
这次作业没有编码需求,但是我的好兄弟还是屁颠屁颠的先跑去写起了算法,留下我这个孤寡老人抱着平板瑟瑟发抖。姑且周末花了点时间一起把原型堆了起来。虽然蛮丑的。虽然我可以说有点美术底子,不过让我来干这活还是有点不得劲。也可以借此机会看看前端和设计大佬们的作品了。
原型分析和设计说明
为了说明方便,设计说明部分也一并在此说明。
我选择使用的工具是Mockplus,选择它的理由比较简单,以前有用过,用起来比较轻松简单,元素不复杂,缺点也比较明显,素材比较少,得多依靠勤劳的双手。不过在我心目中最好的原型设计工具还是一套笔和纸以及adobe全家桶。作为初稿,没有点缀过多的花里胡哨。
初步思路
根据明哲提供的restful API类型和最终作品期望达到的运行效果。将其初步设计为一下几个部分:
登陆注册页面
由于本身作品作为自动打牌工具人,其核心在于打牌,打牌和让你看它打牌。没有过多的功能,也不需要多余的导航,所以首页就直接设置为登陆界面。
上方的黄色框用于填充最终作品的一些信息,不限于logo,版本以及开发者等信息。
中部是用户的登录界面,是用户登入进游戏内部的入口,通过登录按钮进入主界面,通过注册按钮进入注册页面(其实不需要,后端数据库已经写入了所有人的注册信息了,但我不想删除它)
主体配色采用黑白灰揉色,边框均进行圆角处理,增加界面的简约感和柔和度。(不行,我编不下去了)
主界面
再次强调本产品作为打牌工具人,顺便提供了手打挑战工具人的功能(当个勇士,反正本质赌博游戏)。
手动场
:进入手动挑战工具人界面。
自动场
:观看工具人之间的交锋。(爱恨情仇)
沙之家
:进入个人空间,查看往日战绩和排行榜。
元素风格依然为上文所提。
个人中心(沙之家)
左方的图片为个人照片?立绘?(无所谓,反正不会实装)。
右方分别显示头像,昵称,以及近期战绩。其中近期战绩包括最近的最大牌以及胜势图。
可以通过点击历史战绩查看近期战绩。
历史战绩界面,可以通过点击详情查看历史对局细节。
详情界面显示对局具体信息,包括双方的出牌情况。
游戏界面
游戏界面分为手动场和自动场,手动场会进入一个出牌界面,允许你出牌以及逃跑!你的对手如果已经出牌会显示“我准备好了!”,当然可能你的对手宕机了,就会慢一点,还有一个30s的倒计时。之后会进入一个结算界面。
而自动场会在短暂的等待后进入结算页面。
结对信息
我和我的小伙伴两眼对视,一拍即合,相见恨晚,恩断义绝,今晚就走。其实想到结对编程就想到谷歌的那两位工程师。也是一种蛮浪漫的情形嘛。既然柯老板说不能摆拍,那我们就只能玩真实了。没错,这是一个surface的硬广推广时间。
这是原型诞生的地方,我们合作的工作区。
这是讨论设计和算法模型的时候。
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 40 | 20 |
Estimate | 估计这个任务需要多少时间 | 40 | 20 |
Development | 开发 | 660 | 755 |
Analysis | 需求分析(包括学习新技术) | 30 | 15 |
Design Spec | 生成设计文档 | 30 | 30 |
Design Review | 设计复审 | 15 | 25 |
Coding Standard | 代码规范(为开发制定合适的规范) | 25 | 20 |
Design | 具体设计 | 100 | 95 |
Coding | 具体编码 | 300 | 450 |
Code Review | 代码复审 | 60 | 20 |
Test | 测试(自我测试,修改,提交修改) | 100 | 100 |
Reporting | 报告 | 60 | 100 |
Test Report | 测试报告 | 20 | 30 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & Process Improvement Plan | 事后总结并提出过程改进计划 | 30 | 60 |
合计 | 760 | 875 |
困难与解决
困难其实还好(硬撑着说出口),主要就是原型工具的使用以及接口一些的规划,以做起来也比较的吃力。不过好在花点时间发发电也勉强做完了。困难一是mockplus不熟练,解决方法就是多自己点点,查查百度就解决了。收获就是基本能用mockplus做简单的原型了,当然我还偷偷用了点ps。然后简单规划了下打牌算法的思路和测试策略。但我的方案还没解决。
下面是我的小伙伴发言:
卡牌基础框架问题:
1.题目中要求的#$&之类的太难看导致眼花老年痴呆的问题
2.不同牌型的记录问题
3.一墩大牌+一墩杂牌和两墩中牌的权衡问题
解决方法
1.当然是先用特殊字符来解决!
2.建立dict来标记4种suit再分别建立1个list记录rank,如同花则建立一个包含4种花色的dict,再维护4个list记录同花的数,如顺子也用同样的方法先记录花色再记录5张牌的最大一张牌,也就是只记录结尾防止相同歧义出现。
3.首先给每个level的牌赋予一个权值,再用该权值乘决定该种牌大小的关键牌,如同花的最大牌,炸弹的那张牌。以下为设想:自己建立数据集自己打自己标注reward后,使用最简单的Q-learning来调整各自的权重。
解决了吗
1.是。我真实个天才。
2.马马虎虎用很麻烦的方法解决了
3.无,数据集是真的昂贵啊。所以为了不手动造现在是写了一个无脑大大大牌的版本,预备后期用来当备胎。
学习表
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 407 | 407 | 15 | 15 | 学到了十三水的玩法,了解了原型设计工具的使用方法 |
心得
好了,到了我最喜欢的吹水环节了,我再说一下,我确实不会做原型,我还是更喜欢纸和笔以及adobe全家桶;在美工方面,我只是一个无情的平面设计逗逼和插画绘制菜鸟。做的确实很简陋,还进入了审美黑洞。背景图片啥的都没做,其实主要还是觉得最后GUI也不一定有时间做出原型的效果所以原型就设计比较符合我们未来开发的效果,虽然以往也当过画饼大师,但是这次应该没画什么饼了。不过确实第一次尝试自己全程制作原型,还是蛮多体验的。像这样写博客往电脑面前一坐就一个晚上,屁股都疼。马上国庆了,祝大家节日快乐吧!
不过这次原型我基本没有上色,其实在快写完这篇博客的时候我已经在考虑颜色了,如果有谁想知道如何和谐搭配颜色的话,不告诉你(可以问我)。接下来就可以玩点骚的算法了。
标签:结对,30,界面,编程,作业,原型,打牌,20,工具 来源: https://www.cnblogs.com/pullself/p/11575596.html