课程设计说明书书写样例.docx
- 文档编号:25441043
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:13
- 大小:91.26KB
课程设计说明书书写样例.docx
《课程设计说明书书写样例.docx》由会员分享,可在线阅读,更多相关《课程设计说明书书写样例.docx(13页珍藏版)》请在冰豆网上搜索。
课程设计说明书书写样例
哈尔滨学院软件学院
课程设计说明书
题目:
字符三连棋游戏
院(系)
软件学院
专业
软件工程
年级
11-7
姓名
李娜
学号
11031710
指导教师
职称
2012年7月21日
目录
一.摘要
1.摘要正文....................................................
2.关键词......................................................
二.前言.....................................................
三.正文
1.第一章需求分析..............................................
1.1系统概述............................................................
1.1.1概述.........................................................
1.2系统运行环境........................................................
1.2.1运行环境.....................................................
1.3需求描述............................................................
1.3.1功能需求......................................................
1.3.2用户需求.....................................................
2.第二章开发工具介绍及数据库设计...............................
2.1系统开发工具简介....................................................
2.1.1C/C++语言的简介..............................................
2.1.2VisualC++6.0.................................................
2.2面向对象的基本概念..................................................
3.第三章概要设计.....................................................
3.1文字说明..........................................................
3.1.1总体设计......................................................
3.1.2模块名称......................................................
3.1.3模块功能......................................................
3.1.4关键技术攻关..................................................
3.2程序框图..........................................................
4.第四章详细设计.....................................................
4.1模块功能...........................................................
4.1.1用户人机交互平台..............................................
4.1.2提供菜单栏选项,供用户进行游戏或是退出游戏....................
4.1.3显示棋局.....................................................
4.1.4显示系统提示..................................................
4.1.5显示胜负......................................................
4.2关键技术攻关........................................................
4.2.1选择先后手.....................................................
4.2.2判断能否在某个位置布子........................................
4.2.3电脑行棋的逻辑实现............................................
4.2.4取胜的判断.....................................................
4.3主函数设计.........................................................
5.第五章系统测试运行.........................................
5.1测试目的...........................................................
5.2测试方案...........................................................
5.3测试内容...........................................................
四.注释.....................................................
五.后记.....................................................
摘要
中文
摘要:
游戏设计已经成为现在社会的一种热门行业。
本文主要介绍了本游戏开发环境MicrosoftVisualC++,使用当前优秀的工具VC++编程。
此课程设计的目的是为了达到熟练掌握C/C++语言的基本知识和C/C++调试技能;基本掌握面向对象程序设计的基本思路和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题;培养综合利用C/C++语言进行程序设计的能力,主要是培养利用系统提供的标准图形函数进行创新设计。
该游戏软件在Windows系统为玩家提供三连棋游戏的基本功能,在这简单的三连棋中,玩家通过鼠标进行人机对弈的游戏。
游戏的主战场为3行3列的棋盘,初始状态棋盘上无落子,进入游戏后,按照棋盘下的提示选择开始游戏或是退出游戏。
若选择退出游戏,则退出程序。
若选择开始游戏,则在棋盘的提示下选择先后手,选定后,轮流落子,进行判断,一旦有一方的棋子在某一方向上构成连续的三个棋子,则该方胜利,游戏结束,如果有输赢,则输出谁胜,否则,输出平局的信息框。
若输入的落子信息有误,则输出输入信息有误,重新选择落子。
此外,此游戏还有重新开始的功能。
关键词:
三连棋;视窗操作系统;先后手;人机对弈;重新开始。
英文
Abstract:
Gamedesignhasbecomeahotindustrysociety.ThisarticlemainlyintroducedthisgamedevelopmentenvironmentMicrosoftVisualC++6.0,usecurrentoutstandingdevelopmentkitVC++programming.ThiscourseisdesignedinordertomasterthebasicknowledgeoftheC/C++languagetestingskills;andC/C++Basicgraspofobjectorientedprogrammingbasictrainofthoughtandmethod;Canuseofmyknowledgeofthebasicknowledgeandskills,solvesimpleobject-orientedprogramdesignproblem;UsingC/C++languagetrainingcomprehendsiveprogramdesignability,ismainlyusethesystemtoprovidethetrainingofstandardgraphicsfunctionsofinnovationdesign.ThisgamesoftwareonWindowssystemforplayerswithtraditionalrenjugame,thebasicfunctionofinthesesimplerenjuplayersthroughthemouse,twopersonalgame.Themainbattlefieldgamesforline3to3listedintheboard.Thegameisover,ifaloser,theoutputwhowins,otherwise,theoutputofthedrawinformationbox.
Keywords:
TicTacToePro;WindowsSystem;Takeback;thegameofpeople-computerplaying;gameagain.
前言
随着经济时代的发展,人们的精神压力越来越大,精神上得不到应有的放松,精神生活得不到极大的满足,随着计算机技术的飞速发展,计算机已逐渐成为人们办公不可或缺的工具,因此及时的开发一些应用于计算机上的小型游戏软件,以供人们在办公的闲暇时间得到充分的休闲娱乐。
而棋类因为其兼具动脑并且娱乐的双重功效,并且十分符合现代式生活,因此已经得到越来越多人的欢迎,为此我们开发一个简单的三连棋游戏,而开发此三连棋游戏软件的目的,主要是供办公人员与同事一起休闲娱乐,增进友谊、减轻疲劳,以提高工作效率,创造更多的社会财富,造福人类。
所谓的三连棋,是棋类的一种。
其规则是:
双方轮流在一个九个方格的棋盘上画十字或圆圈,以所画的三个记号成直、横、斜线相连者为胜。
那么,如何才能设计好我们的程序呢?
在这里,我们引进一个概念:
模块化程序设计。
模块化程序设计即模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。
各模块相对独立,功能单一,结构清晰,接口简单。
其开发方法是,自上向下,逐步分解,分而治之。
逐步求精的结果是得到一系列以功能块为单位的算法描述。
以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。
模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
查阅有关程序设计的案例资料,进一步理解程序设计模块化的思想,并利用此思想,根据对程序设计课程的学习,编写一个简单的游戏软件系统。
通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。
在下面的各章中我们将以开发一个三连棋游戏为例,谈谈其开发过程和所涉及到的问题及解决方法。
第一章需求分析
1.1系统概述
1.1.1概述
本程序是一款棋类益智游戏程序,名为三连棋游戏,是采用C语言编写的可在WINDOWS系统下运行的娱乐游戏平台。
该程序面向广大棋类游戏的爱好者,能够提供方便,实现基本智能控制的游戏环境。
棋盘由若干网格构成,初始状态棋盘上无落子,玩家可以通过鼠标在棋盘的相应位置下子,一方为白色,另一方为黑色,先下的为黑子。
游戏过程中,一旦有一方的棋子在某一方向上先构成连续的三个棋子,不论横、竖或斜,就会在屏幕上显示是谁赢了比赛。
1.2系统运行环境
1.2.1运行环境
(1)硬件环境。
本系统适用于那种Inter386以上计算机,内存容量为128M,应配备键盘、鼠标、显示器等外部设备。
(2)软件环境。
本系统的设计采用VisualC++6.0编写。
在Windows7家庭普通版环境下测试通过。
(3)只要计算机具有VisualC++6.0,本游戏软件在Windows平台下都可以运行。
1.3需求描述
1.3.1功能需求
三连棋是一种大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性何消遣性,是一种两人对弈或是人机对弈的纯策略型棋类游戏,类似于五子棋。
而五子棋,是起源于中国古代的传统黑白棋种之一。
发展于日本,流行于欧美。
容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
1.3.2用户需求
随着时代的发展,无论是工作上还是生活上的竞争力越来越强,使得好多为事业拼搏,为家庭忙碌的人们没有时间去进行娱乐活动。
而近来随着计算机的快速发展,各种棋类游戏被纷纷请进了电脑,使得那些喜爱下棋,又常常苦于没有工具的棋迷们能随时过足棋瘾。
在这里我也设计了一个较简单的三连棋游戏,这个游戏,不仅可以满足游戏爱好者对游戏的要求,同时我们增加了美观因素,让游戏有一个比较美观的界面,满足我们游戏爱好者的视觉要求,同时有悔棋和重新清盘开始的功能,更加方便了玩家的操作和游戏的有趣性。
第二章开发工具介绍及面向对象的基本概念
2.1系统开发工具简介
2.1.1C/C++语言的简介
C/C++语言是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的D.M.Ritchie于1972年推出。
1978后,C语言已先后被移植到大、中、小及微型机上。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C/C++语言,适于编写系统软件,三维,二维图形和动画。
具体应用比如单片机以及嵌入式系统开发。
2.1.2VisualC++6.0
VisualC++6.0由Microsoft开发,它不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。
VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。
这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。
Microsoft的主力软件产品。
VisualC++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。
所以实际中,更多的是以VisualC++6.0为平台。
VisualC++6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。
比如,它允许用户进行远程调试,单步执行等。
还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。
其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。
这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。
由于C++是由C语言发展起来的,也支持C语言的编译。
6.0版本是使用最多的版本,很经典。
最大的缺点是对于模版的支持比较差。
现在最新补丁为SP6,推荐安装,否则易出现编译时假死状态。
仅支持Windows操作系统。
目前发现与windows7兼容性不好,安装成功后可能会出现无法打开cpp文件的现象。
现在的最新版C++编译器集合在MicrosoftVisualStudio2010软件里面,包含C++,Visualbasic,C#,J#,.net。
等,其中,VC开发环境的版本已经升级至MicrosoftVisualC++2010,对C++的支持更加全面稳定,建议电脑性能好的可以使用此版本。
目前微软公司已经停止对VC++6.0系列产品的维护,继而转向.NET平台环境,新的MS2008、MS2010等将更符合新世纪通用开发需求。
2.2面向对象的基本概念
思维方式决定解决问题的方式,传统软件开发采用自顶向下的思想指导程序设计,即将目标划分为若干子目标,子目标再进一步划分下去,直到目标能被编程实现为止。
面向对象技术给软件设计领域带来极大的变化,他、它利用软件对象来进行程序开发,所谓对象是包含数据和对数据操作的代码实体,或者说是在传统的数据结构中加入一些被称为成员函数的过程,因而赋予对象以动作。
而在程序设计中,对象具有现实世界的某种对应关系,我们正是利用这种关系对问题进行分解。
从程序语言角度来看,在一个对象中代码和(或)数据可以是这个对象私有的,不能被对象外的部分直接访问。
因而对象提供了一种高级保护以防止程序被无关部分错误修改或错误地使用了对象的私语部分。
当从对象外部试图直接对受保护的内部数据进行修改时,将被程序拒绝,只有通过对象所提供的对外服务函数才能够对其内部数据进行必要的加工,从而保证了数据加工的合法性。
从这一意义上讲,把这种代码和数据的联系称为“封装”。
在强调软件组件的重要方面,面向对象的技术与标准的工业设计规律有更多相似之处。
在面向对象语言中,类是创建对象的关键,事实上类描述了一族对象的公共特征和操作,而对象则是具体实现的类。
第三章概要设计
3.1文字说明
3.1.1总体设计
棋盘设计为3*3格,初始状态棋盘的为空,玩家可选择先手或是后手,选定后,轮流落子,当一方连成三子或下满棋盘时,游戏结束(连成三子的一方获胜,下满棋盘为和棋)。
当游戏一方胜利后显示胜利信息。
从程序表面看,这是一个二维平面图,所以数据用二维数组来表示,数组两个下标可以表示棋盘上的位置,用坐标表示位置,数组元素的值代表棋格上的状态,共有三种情况,分别是0代表空格,1代表黑棋,2代表白棋。
这样程序的主要工作是接收棋手鼠标按键操作,棋手用鼠标控制光标移动,按键表示落子。
一旦接收到按键,说明棋手落子,先判断是否是有效位置,也就是说已经有棋子的位置不能重叠落子。
落子成功后,马上判断该棋盘上是否有相同颜色的棋子连成三子,如果连成三子,则游戏结束,输出相应的信息。
若想重新开始游戏,根据提示操作即可。
3.1.2模块名称
人机对弈界面
3.1.3模块功能
Ø用户人机交互平台
Ø提供菜单栏选项,供用户进行游戏或是退出游戏
Ø显示棋局
Ø显示系统提示
Ø显示胜负
3.1.4关键技术攻关
✧选择先后手
✧判断能否在某个位置布子
✧电脑行棋的逻辑实现
✧取胜的判断
3.2程序框图
第四章详细设计
4.1模块功能
4.1.1用户人机交互平台
4.1.2提供菜单栏选项,供用户进行游戏或是退出游戏
4.1.3显示棋局
4.1.4显示系统提示
4.1.5显示胜负
4.2关键技术攻关
4.2.1选择先后手
4.2.2判断能否在某个位置布子
4.2.3电脑行棋的逻辑实现
4.2.4取胜的判断
4.2.5悔棋的实现
4.3主函数设计
win(){}
computer(){}
renji(){}
main(){}
第五章系统测试运行
系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。
它的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统"做得怎样?
"。
这阶段又可分为三个步骤:
模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。
该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。
测试发现问题之后要经过调试找出错误原因和位置,然后进行改正,是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。
5.1测试目的
目的:
测试字符三连棋程序的可行性,改进不足的地方,完善字符三连棋程序的设计。
5.2测试方案
进行各个功能是否能正常运行的测试
5.3测试内容
1.测试游戏能否开始与结束。
2.测试能否选择先后手并进行游戏。
3.测试电脑能否行棋。
4.测试玩家是否能进行悔棋。
5.测试程序能否判断行棋的胜负。
注释
参考文献:
【1】郑莉,董渊,何江舟编著,C++语言程序设计(第4版),清华大
学出版社,2010.
【2】唐彬,刘超编著.VisualC++案例开发集锦.电子工业出版社.2005
【3】谭浩强,C程序设计(第2版).清华大学出版社.2008
【4】谭浩强,C程序设计(第3版).清华大学出版社.2005
【5】3.温秀梅丁学钧,VisualC++面向对象程序设计教程与实验.
清华大学出版社,2006
【6】孔鹏,VisualC++6.0完全自学手册.机械工业出版社.2007
后记
从收集材料,到确定方案,再到着手制作游戏,眨眼间,已有近十天,而经过这短短十天的努力,我的课程设计也已基本完成,其功能基本符合要求,也能够进行游戏。
但由于时间匆忙,自己也对C/C++语言的不太熟悉,以及对VisualC++的使用不太熟练,导致做出的游戏程序略显生涩,带着很多不足的地方,有待改进。
编辑游戏这在以前我都以为是遥不可及,但现在通过这次五子棋的设计我明白了,并不是如此,只要团队合作也可以搞定,我多学了许多的以前课上没有的知识,通过课程设计,我们对《C++》这门课程有了更深一步的了解。
它是计算机程序设计的重要理论技术基础,在我们测控专业的学习中占据着十分重要的地位。
同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。
因为我们学习知识就是为了实践。
而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。
在这次短短十天中,我能完成这份设计,多亏了指导老师的悉心指导和周围同学的悉心帮助
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 说明书 书写