2 游戏的分析与设计
2。1 可行性分析
可行性分析,就是指我们所要完成的任务在技术、经济、时间等方面是否存在可行性,目的就是要在最短的时间用最小的代价完成任务。
(1) 技术可行性:围棋的算法还是比较复杂的,难度较大,不过本人javascript水平还行,再加上学过C++、PHP等语法,相信只要自己肯努力,肯花费时间,一定能完成。
(2) 经济可行性:自己配备一台笔记本,编辑器也免费,并不需要很高的开发经费。
(3) 时间可行性:我是选题前一个月自己找老师要的命题,后期可能会比较忙,所以将设计放到前面来写。
2。2需求分析
需求分析指的就是对工作中要解决什么难题进行分析,包含数据的传输,结果的呈现,就是计算机要进行哪些事情,要达到何效果。这也是做项目之前必须完成的,在很长一段时间,人们普遍认为需求分析是整个项目中最简单的一层,但现在,人们已经开始认知需求分析才是整个过程中最最至关重要的一步。如果分析人员未曾真正认识到客户需要到达何种需求,那么开发人员是无论如何也不可能准确完成任务,延误工期。
本次设计是双人围棋对战与实现。这次设计的目的就是为了方便用户通过浏览器就能直接进行面对面的围棋对弈,不需要借助任何的对战平台。现预计要实现以下功能:
(1)实现围棋的双人对战。
(2)实现围棋步数的记录。
(3)实现围棋的悔棋功能。
(4)实现围棋的对战聊天。
(5)实现围棋的吃子功能。
(6)实习围棋的禁手功能。
3游戏设计图
3。1游戏E-R图设计
图1 游戏E-R图来自优I尔Y论S文C网WWw.YoueRw.com 加QQ7520~18766
用户1与用户2聊天,首先用户1落子,落子之后才能执行悔棋,悔棋返还落子权,落子之后不执行悔棋,落子权交给用户2
3。2游戏逻辑设计图
图2 游戏逻辑设计图
添加棋子后进行判断,判断局面上是否有棋子被包围,有则删除被包围棋子,
判断次步棋是否是禁手,禁手便删除次子并返还落子权,
4 代码分析
4。1变量名表与函数名表
由于函数用到了很多的变量以及函数,为了方便理解,用2张表罗列出变量以及函数。
表1 变量表:
变量名 作用
var chess 用来判断棋子的颜色,无子为0
var list 文本框,用来存放落子的记录
var records 存储棋子坐标的数组,执行杀子函数时改变
var oldRecords 用来对比,判断悔棋是否需要还子
var strings 用来记录每步记录 textarea中的内容
var numbers 用来记录棋子数目
var index 记录下棋的步数
var e 获取事件
var disX 获取到页面左边的距离
var disY 获取到页面顶部的距离
var op 要创建的棋子对象