第一次团队作业

Github项目地址:https://github.com/3116005131/3116005131.git

团队成员:3116005131段浩彬

     3116005130陈作麒

     (队长)3116005129陈旭钦

团队选题:2048+俄罗斯方块

团队计划:参考俄罗斯方程源代码,开发汉字俄罗斯方块。

团队成员奉献分配规则:按照解决问题的难度,数量以及代码行数综合评定

队名:708

团队项目:按汉字组成原理,把多个简单汉字和成一个复杂的汉字从而得分,得分高者优。

团队风采:各有所长,齐心协力。

核心竞争力:精力旺盛,永不言败,彻夜不眠。

项目目标:针对windows用户,预计用户量不会超过20人。

项目主要展示汉字的博大精深。

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

20 15

· Estimate

· 估计这个任务需要多少时间

5 5

Development

开发

660 1045

· Analysis

· 需求分析 (包括学习新技术)

300 660

· Design Spec

· 生成设计文档

100 120

· Design Review

· 设计复审 (和同事审核设计文档)

20 15

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

10 30

· Design

· 具体设计

60 20

· Coding

· 具体编码

120 580

· Code Review

· 代码复审

20 90

· Test

· 测试(自我测试,修改代码,提交修改)

30 90

Reporting

报告

150 190

· Test Report

· 测试报告

30 90

· Size Measurement

· 计算工作量

30 90

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

60 90

total

合计

980 1580

成员的绩效

20N=60

陈旭钦在确定项目方向,需求分析,结构实现上奉献较大应得32

段浩彬在代码编写方面奉献较大应得29

陈作麒在测试阶段奉献较大,并帮助解决在其他人编程中出现的问题,奉献较大应得29

 

 关键代码

class WordBlock
    {
        public Point location;
        public Size size;
        public Color foreColor=Color.Black;
        public Color backColor=Color.Red;
        public WordBlock(Point thisLocation)
        {
            Random rand = new Random();
            int i = rand.Next(7);
            foreColor = Table .BlockForeColor[i];
            backColor = Table.BlockBackColor[i];
            size.Height = 60;
            size.Width = 60;
            location = thisLocation;
        }
        private const int blockSize = Table.blocksize;
        public void creat(System.IntPtr winHandle)
        {
            Graphics g = Graphics.FromHwnd(winHandle);
            GraphicsPath gp = new GraphicsPath();
            Rectangle rec = new Rectangle(location,size);
            gp.AddRectangle(rec);
            Color[] surroundColor = new Color[] { backColor };
            PathGradientBrush pb = new PathGradientBrush(gp);
            pb.CenterColor = foreColor;
            pb.SurroundColors = surroundColor;
            g.FillPath(pb, gp);
        }
        public void eliminate(System.IntPtr winHandle)
        {
            Graphics g = Graphics.FromHwnd(winHandle);
            Rectangle rec = new Rectangle(location, size);
            g.FillRectangle(new SolidBrush(Color.White), rec);
        }
        public bool down()
        {
            if (Table.isEmpty(location.X / blockSize, location.Y / blockSize + 1))
            {
                eliminate(Table.winHandle);
                location.Y += blockSize;
                creat(Table.winHandle);
                return true;
            }
            else
            {
                return false;
            }
        }
        public bool left()
        {
            if (Table.isEmpty(location.X / blockSize-1, location.Y))
            {
                eliminate(Table.winHandle);
                location.X -= blockSize;
                creat(Table.winHandle);
                return true;
            }
            else
            {
                Table.stopSquare(this, location.X / blockSize, location.Y / blockSize);
                return false;
            }
        }
        public bool right()
        {
            if (Table.isEmpty(location.X / blockSize+1, location.Y))
            {
                eliminate(Table.winHandle);
                location.X += blockSize;
                creat(Table.winHandle);
                return true;
            }
            else
            {
                return false;
            }
        }
        public int top() { return location.Y; }

    }

 

 运行结果

 

posted @ 2018-10-13 04:44  段浩彬  阅读(93)  评论(0编辑  收藏  举报