首页 > 代码库 > 【第三组】用例+功能说明+技术说明

【第三组】用例+功能说明+技术说明

场景:

一个富有创造力的玩家想要绘制自己喜欢的图形。

背景:

1)典型用户:Mondrian

2)用户的需求/迫切需要解决的问题:         

   用户可以得到自己想要画的图形;

      用户需要应用为其提供绘画工具;

      用户需要应用为其保存其“大作”。

3)假设:

        用户可以凭借自己的意愿作画,不需要系统辅助;

        用户已经掌握应用中freestyle模式工具的使用

场景:

        Mondrian今天在玩游戏时突发奇想,想要模仿高斯的壮举,实现尺规画正十七边形。于是他进入了freestyle模式,选择了直线和圆工具进行绘画,他通过数学资料和自己的设计构想,最终实现了尺规作正十七边形的壮举,他骄傲的保存了自己的“大作”方便以后向朋友们炫耀。

用例文档:

标题:使用freestyle模式绘制用户想要的图形

角色:用户(Mondrian

主要成功场景:

        Mondrian今天在玩游戏时突发奇想,想要模仿高斯的壮举,实现尺规画正十七边形。于是他进入了freestyle模式,选择了直线和圆工具进行绘画,他通过数学资料和自己的设计构想,最终实现了尺规作正十七边形的壮举,他骄傲的保存了自己的“大作”方便以后向朋友们炫耀。

步骤:

1.打开进入Geomystery软件;

2.点击菜单栏freestyle按钮,进入freestyle模式;

3.使用左侧系统提供的工具在屏幕中间的画布上进行绘画;

4.使用点工具画点;

5.使用直线工具画线;

6.使用圆工具画圆;

7.交替使用三种工具,完成绘画;

8.点击保存,将用户绘制的图形保存在本地,或点击放弃,不保存并留在当前页面;

9.点击左上角的返回按钮,返回主界面。

扩展场景:

因为找不到保存路径等原因导致图片保存失败

当用户恶意使用导致画面被占满后无法继续绘制

 

功能说明书:

功能:通过使用freestyle绘制用户的目标图形

使用

1.打开进入Geomystery软件;

2.点击屏幕中部右侧的菜单栏中的freestyle按钮,进入freestyle模式;

3.使用左侧系统提供的工具在屏幕中间的画布上进行绘画;

4.点击选择左侧工具栏的点工具,使用点工具画点;

5.点击选择左侧工具栏的直线工具,使用直线工具画线;

6.点击选择左侧工具栏的圆工具,使用圆工具画圆;

7.交替使用三种工具,完成绘画;

8.点击保存,将用户绘制的图形保存在本地,保存成功后停留在当前页面,或点击放弃,不保存并留在当前页面;

9.点击左上角的返回按钮,返回主界面。

 

 

 

技术说明书:

对于一个带显示的与用户交互的系统,通常可以分成模型(Model)视图(View)和控制器(controller)三个部分,MVC架构好好在把一个整体分开,方便设计,修改,测试。

 

因为每一个模型元素都有一个或有多个视图,所以模型中需要记录自己的多个视图,视图中也需要记录自己是哪个模型的视图,即双向绑定。技术分享

依赖是一种复杂的关系,举例来说:一个点在直线上是一种简单的依赖,这种依赖是一对一的,显然当直线被删除时,点就不再存在。因为直线不允许重合,所以两个相交直线必有一个交点,而这个交点依赖这两条直线,这种依赖是一对二的,当交点依赖的其中的一条直线被删除了,那么交点也不存在了。

所以点需要记录自己定义了谁,影响了谁,依赖于谁;线要记录自己的定义方式,定义点,线上的点数组。这也是一种双向绑定。

当坐标系变换、模型对应、模型依赖关系都有双向绑定的时候,虽然MVC被分成了三个部分,但是仍然是一个可以操纵的整体。

以上是对于游戏引擎的一个综合阐述,下面介绍对于freestyle模式来说所需的具体的技术实现:

A.点工具:启动自动机DFA,确定点工具所需要接受的信息(一组坐标),根据用户在画布convas上的点击,来标记用户当前选择的点的坐标并将其传入DFA,随后由DFA触发draw事件屏幕上显示这个点。并有controller确定其是否有依赖关系等,并将其存储在表中。

B.线工具:启动自动机DFA,确定点工具所需要接受的信息(两组坐标),根据用户在画布convas上的点击,来标记用户当前选择的点的坐标并将其传入DFA;再根据用户在画布convas上的点击,来标记用户当前选择的点(第二个点)的坐标并将其传入DFA;随后由DFA在屏幕上显示这条线。随后由DFA触发draw事件在屏幕上显示这个点。并有controller确定其是否有依赖关系等,并将其存储在表中。

C.圆工具:启动自动机DFA,确定点工具所需要接受的信息(两组坐标),根据用户在画布convas上的点击,来标记用户当前选择的点的坐标并将其传入DFA;再根据用户在画布convas上的点击,来标记用户当前选择的点(第二个点)的坐标并将其传入DFA;随后由DFA触发draw事件在屏幕上显示这个圆。并有controller确定其是否有依赖关系等,并将其存储在表中。

 

【第三组】用例+功能说明+技术说明