1、数据结构课程设计 1 1 需求分析需求分析 1.1 课题背景及意义 全球在使用的移动电话已经超过 10 亿部, 而且这个数字每天都在不断增加。 手机在作为一种便携通信工具的同时,它的功能也在不断的丰富, 进而推进手机 游戏的发展。根据2012 手机游戏用户行为分析报告 ,随着智能手机的普及和 手机性能的提高, 手机上的终端应用越来越丰富, 作为手机上的重要的娱乐应用, 手机游戏市场也在快速成长,越来越多的用户通过手机游戏来打发无聊的时间, 其中 76%的用户单次玩手机游戏都在 30 分钟左右。 结合个人水平和兴趣爱好, 本人将借本次课程设计机会设计一款休闲娱乐型 的四子棋游戏,在娱乐自我,锻炼
2、编程设计能力的同时,希望也借此给身边的朋 友们带来快乐。 1.2 课题要求 A. 支持 android 手机的四子棋游戏 B. 设计一个 7*6 棋盘大小的四子棋双人对战游戏程序,先四子连线(横、 纵、斜)者胜。 C. 选做内容:支持棋局录制与重放 - 悔棋和新开功能,图形化操作界面 1.3 软件格式规定 A.程序所能达到的功能 :正确判断输赢并有相应的语音和文字提示 B.测试的数据: 1)、正确的输入: 提示:蓝棋赢,并将蓝棋变为另外一种颜色 - 天蓝和响起赢局的音乐 - 1 - 2)、用户误输入: 提示:亲,我的悔棋能力有限啊! 1.4 设计目标 A. 软件名称:Four In A Lin
3、e(四子棋) B. 软件组成:FourInALine.apk(android 系统应用程序) C. 制作平台及相关调试工具:Eclipse ; AndroidSDK D. 运行环境:android 手机/winxp/win7(PC 平台必须具有 AndroidSDK) E. 性能特点: (1)软件由两个可执行文件组成,各具特点: FourInALine.apk 为 android 系统应用程序,体积小,界面友好,使用 方便。 (2)方便重新开始游戏和悔棋。 (3)判赢用时少。 (4)个别其他功能可进行再扩展。 2 2 概要设计概要设计 2.1 问题解决的思路概述 首先是确定结构化程序设计的流程
4、图, 利用已存在的数据结构来构造一个存 储棋盘的结构,接着把游戏实现分成六个主要的模块:实现悔棋的模块、实现新 开的模块、实现音乐的模块、实现绘图的模块,实现控制线程的模块,实现判赢 的模块, 然后各个模块里面还要分成若干种情况来考虑并通过函数的嵌套调用来 - 2 - 实现其功能。最后,编写 main 主函数以实现游戏的可玩性和正确性,调试程序 并将不足的地方加以修改。总而言之,就是先用自顶向下、逐步细化的设计方法 来分析并画出程序设计流程图;然后用自下而上、逐步积累的设计方法来写出程 序。 2.2 相关函数介绍说明 在 android 版本程序定义一个用于存储棋盘的二维数组变量: private static int ChessBoardState; 1 (1)android 版本程序下定义的主要函数 public boolean isWin(int x, int y)/ 判断赢家,采用遍历最后下的棋子在 8 个方向上的棋子 public void back(Context context)/ 悔棋函数 public void play()/游戏主线