团队项目初步规划
软件项目管理课上老师介绍了几种开发模型,瀑布模型,V模型...等讲到了敏捷开发模型时,觉得这个不错诶...
项目经理,emmm,我是组长啊!我有我的组员的!
好!开始规划啦!
敏捷开发模型重要的是客户参与前期设计,emmm,我们来让一名组员模拟用户需求吧,他站在程序使用者应该提出一些要求,后期负责测试验收,写入文档。文档记录也很重要,敏捷开发同时要求定时汇报各成员的一天或一段时间所取得的进展和待解决的问题,嗯,这位成员还负责记录这些内容定时上传博客上。
接下来将程序设计分为两部分,界面和算法。
计划由两个人负责界面,其中,一人专注于图形化设计,例如棋盘的背景,电脑和用户的头像设计功能按钮等等,另一个处理用户点击界面事件,并添加提示必要的信息对话框。
再就是核心部分了,咳咳,虽说是核心,我们还是从简单的来吧,先是简单处理连五胜利的局面,然后再是防守为先的人机对战的策略。
Scrum!队员们都是女同学,还是希望能定时在某地共同的进行工作,有些问题可以共同讨论,了解互相的工作的进度。
初步的划分
graph TD
A[五子棋初步实现人机对弈] --> B[前期分析]
A[五子棋初步实现人机对弈] --> c[界面设计]
A[五子棋初步实现人机对弈] --> d[算法实现]
B[前期分析]-->e[用户需求模拟和模文档记录]
c[界面设计]-->f[图形化设计]
c[界面设计]-->g[点击事件响应和处理]
d[算法实现]-->h[连五的判断]
d[算法实现]-->i[防守为先策略实现]
e[用户需求模拟和模文档记录]-->t1[组员B00004]
f[图形化设计]-->t2[组员B00005]
g[点击事件响应和处理]-->t3[组员000003]
h[连五的判断]-->t4[组员000002]
i[防守为先策略实现]-->t5[组长A000001]
增量功能
如果,说的是如果,如果的话,能够有余力的话可以考虑一下更多的功能模块啊(这个说实话,有点多想了...)
graph TD
m0[电脑先手执棋]
m2[以赢优先策略实现]
m1[冲三 冲四 活三 活四 禁手 状况判断]-->m0
m0-->m2
m2-->m4[简单的自我学习]
graph TD
m0[动画效果]
m1[界面能表现出电脑皱眉 得意 警惕等表情]-->m0
界面设计
刚开始想的就是黑漆漆的dos栏来显示,然后一天,一个同学过来说我这个好丑...,嗯,确实有点丑,然后想用win32窗口来显示吧,但是!我和负责这方面的两个队员讨论一下,表示都没接触过,emm,我也没有...再后来看到有人用控制台加载EGE图形库的方式来呈现,貌似也挺不错的。
(尝试了一下,EGE组件链接失败,队员持续崩溃中)
冲三活四禁手?
开始规划的时候,上网查了一些资料,才发现五子棋局势并不是只分赢和没赢的情况,这么多状况应该对应着不同的处理方法...想想,工程量突然有点大了是不是..
自我学习?
我的理解的是,学习基于记忆。也许,我们可以将多组常见的棋局以二维数组存储起来,当检测到匹配程度到达一定值时,开始向已存储的棋局努力,Emmm,这样检索棋局库的时候会不会太耗时了?....