五子棋程序设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中北大学
程序设计
课程设计说明书
学生姓名:学号:
学院:信息与通信工程学院
专业:光电信息工程
题目:五子棋
指导教师:职称:
2012 年 01月 06 日
(纪念我已经逝去的大学生活)
院:信息与通信工程学院
专业:光电信息工程
学生姓名:学号:
课程设计题目:五子棋
起迄日期:2011年12月 24日~2012年1月6日
课程设计地点: 111420
指导教师:
系主任:
下达任务书日期: 2011 年12 月25日
课程设计任务书
课程设计任务书
目录
1、课程设计的背景及意义 (06)
2、设计的基本原理 (06)
3、设计的基本过程 (08)
4、设计的结果 (10)
5、总结和结论 (11)
1.设计背景及意义
我们的五子棋程序是在Visual C++ 环境下运行的。
Visual C++
Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2010。Visual C++ 集成了,于1998发行。发行至今一直被广泛地用于大大小小的项目开发。
五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。我们通过对《C语言》以及对《大学计算机基础》的初步学习后,本学期末进行了课程程序设计,设计课题为“五子棋”。我们小组由6人组成,通过分工与合作并在赵老师的耐心指导下共同完成了此程序设计。
2.设计的基本原理
问题描述
连珠(五子棋)是有两个人在一盘棋上进行对抗的竞技运动。在对局开始时,先由用户选择哪方先开局,先开局一方将一枚棋子落在一点上,然后由另一方在对方棋周围的交叉点上落子,如此轮流落子,直到某一方首先在棋盘的直线、横线或斜线上形成连续的五子则该方就算获胜。此时,算法结束。
需求分析
(1)输出棋盘界面
(2)要求玩家选择棋子
(3)玩家轮流下棋
(4)判断键盘输入哪个键按规则执行操作
(5)判断谁先落棋
(6)判断赢家
(7)输出结果界面
流程图
3设计的基本过程
char b[40][40];
void show() ,再接下来的双for是为塑形:限定行间距为10
时同理,用判断语句来塑造“嘴”,最后用双for语句来输出图形。4设计结果
玩家获胜显示界面截图
5总结与结论
1课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.回顾起此次课程程序设计,至今我仍感慨颇多,从选题到定稿,从理论到实践,在整整两星期的日子里,学到很多很多的的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中难免会遇到过各种各样的问题,同时在设计的过程中也发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这
次课程设计之后,把以前所学过的知识重新温故。
2这次课程设计顺利完成了,在设计中遇到了很多编程问题,最后在赵宇老师的辛勤指导下,终于游逆而解。同时,在赵宇老师的身上我学得到很多实用的知识,我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
附录
程序源代码:
#include<>
#include<>
char a[65][65];
char b[40][40];
void show() //输出获胜图像//
{
int i=0,j=0; //i为横坐标变量,j为纵坐标变量// for(i=0;i<40;i++) //对图像数组赋初值//
for(j=0;j<40;j++)
{b[i][j]=46;}
for(i=0;i<40;i++) //对图像数组特定点赋值// for(j=0;j<40;j++)
{
if(i>10&&i<16)
{if(j>10&&j<16||j>25&&j<31)
b[i][j]='O';}
else
{
if(i==21)
{if(j>=6&&j<=35)
b[i][j]='O';}
else
{
if(i==22)
{if(j>=7&&j<=34)
b[i][j]='O';}
else
{
if(i==23)
{if(j>=8&&j<=33)
b[i][j]='O';}
else
{
if(i==24)
{if(j>=9&&j<=31)
b[i][j]='O';}
else
{
if(i==25)