一、课程设计目的、任务和内容要求:《计算机语言程序设计》是一门以编程实践为主的专业课,目的在于培养学生利用计算机语言进行软件开发所必需的基本思想和基本技能,进一步提高综合应用计算机语言的各种编程知识和技巧进行程序设计的能力,通过本次课程设计,学生应能达到具备设计功能较为复杂的应用程序的能力,同时培养学生自主学习和独立创新的精神。任务如下:1.进行需求分析和概要设计,给出流程图。2.写出详细设计,熟悉其中采用的关键技术。3.给出具体的编码实现并调试。4.写课程设计报告提交源程序。内容要求:设计并完成软件系统。要求:1.应具有简洁友好的用户界面。2.要求软件系统的功能完整。3.要求程序具备正确性,可读性和运行的高效性。二、进度安排:第1~3天:查找资料,进行需求分析和概要设计;第4~6天:各模块的详细设计;第7~12天:软件实现与调试;第13~14天:写课程设计报告并提交源程序。三、主要参考文献:[1]四维科技,丁展,汤倩.VisualC++游戏开发技术与实例[M].北京:人民邮电出版社,2005[2]求是科技,张宏林.VisualC++6.0程序设计与开发技术大全[M].北京:人民邮电出版社,2005[3]汪翔,袁辉.VisualC++实践与提高(网络编程篇)[M].北京:中国铁道出版社,2001[4]黄维通.VisualC++面向对象与可视化程序设计[M].北京:清华大学出版社,2003[5]谢希任.计算机网络(第4版)[M].北京:电子工业出版社,2005[6](美)W.RichardStevens.TCP/IP详解卷1:协议[M].北京:机械工业出版社,2005[7]北京现代富博科技有限公司,陈兵旗,孙明.北京:VisualC++实用图象处理专业教程[M].清华大学出版社,2004[8]张静.Windows多媒体编程基础[M].北京:清化大学出版社,2005[9]刘振安,徐峰.Windows实用编程指南[M].北京:人民邮电出版社,1995[10]刘长明,杨工明.VisualC++实践与提高(多媒体篇)[M].北京:中国铁道出版社,2001指导教师签字:年月日徐州师范大学物理与电子工程学院课程设计报告-I-目录摘要………………………………………………………………………………………IIAbstract…………………………………………………………………………………...II1绪论…………………….……………………………………..11.1课题背景…………………………………………………………………………...11.2课程设计的目的…………………………………………..…………………………12设计方案简述………………………………………..…………………..22.1可行性分析………………………………………………..………………………….22.2需求分析…………………………………………………..………………………….23详细设计……………………………………………………………..………………..33.1窗体设计………………………………………………..……………………………..33.2游戏项目开发………………………………………..…………………………………53.2.1棋牌设置…………………………………………………………………………..…53.2.2放置棋子功能的开发………………………………………………………………..63.3.3游戏获胜决断的开发…………………………………………………….……….123.2.4游戏的调试与运行………………………………………….……………204设计结果及分析………………………………………………..…….……………224.1程序的结果……………………………………….………………………………..224.2结果分析…………………………………………..………………………………..235总结……..…………………………………………………..………………………24参考文献…….………………..………………………………..………………………25徐州师范大学物理与电子工程学院课程设计报告-II-摘要网络游戏的出现代表了一种全新娱乐方式的诞生。目前网络游戏正以其独特的魅力吸引着众多的玩家。随着游戏产业的蓬勃发展,将需要越来越多的人加入到游戏开发中来。本毕业设计所完成的五子棋游戏(网络版)是在WindowsXP下使用MicrosoftVisualC++6.0开发的C/S系统,可以实现网络间的双人对战,并且可以提供多媒体播放功能。系统的多媒体播放功能可以播放MP3、WMA等主流格式的音乐。本论文从基本网络套节字开始入手,介绍了一些本系统相关的理论知识,随后详细介绍了五子棋游戏(网络版)的开发过程。包括服务器端、客户端的socket编程,五子棋服务器和客户端通信的实现,五子棋判断算法的实现,主界面视图,多媒体播放以及定时器等附加功能的实现。最后对系统进行测试并对所做工作进行总结。关键词程序设计;Fivechess;MFC;AbstractAbstractOn-linegamesbringtoanewformofentertainment.Untilnow,on-linegamesischarmingmoreandmoreplayers.Asthedevelopmentofgameindustry,therewillbemoreandmoredevelopersjoininthegamedevelopmentteam.Theon-lineBlack&WhitegamewasdevelopedbyMicrosoftVisualC++6.0onWindowsXPplatform.Inthisgame,twopeoplecanplaythegameonline,andthegamealsoprovidesmultimediaplayerfunction.Thethesisstartwithintroductionofnetworksocketprogramming,thedevelopmentprocessingoftheon-lineBlack&Whitegameareintroducedindetailasfollowed.Thethesishaveafulltouchonserverandclientsocketprogramming,thecommunicationbetweenserverandclientwasimplemented,thealgorithmofthefive-in-a-rowgame,themultimediaplaybackfunctions.Keywords:program;computer;MFC;Fivechess徐州师范大学物理与电子工程学院课程设计报告-1-1绪论娱乐是人类不可或缺的生活内容,目前市场上的游戏种类繁多读者将所学的语言应用到实际,用学习的c++语言编程开发一个简易的计算机单机游戏,即五子棋游戏。1.1课题背景中国民族原创网络游戏为中国网络游戏产业所做出了巨大贡献,民族原创网络游戏已经成为产业发展的主导力量。同样在中国自主研发的民族原创网络游戏已经真正成为中国游戏市场的主导力量。网络游戏是通过信息网络传播和实现的互动娱乐形式,是一种网络与文化相结合的产业。近年来,网络文化市场发展很快,随着互联网的迅速普及、宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展,对促进我国网络经济和娱乐业的发展、丰富互联网时代人民群众的文化娱乐生活起到了积极作用。1.2课程设计目的在程序设计中,通过设计、编制、调试一个五子棋的程序,加深对语法及语义分析原理的理解,并实现对命令语句的灵活应用。在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。由于多个函数均需要访问某些数据,这些数据常被设计为全局变量。而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为C++程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。徐州师范大学物理与电子工程学院课程设计报告-2-2设计方案简述如下是描述整五子棋游戏的流程,开发一个五子棋游戏需要从两方面入手。一是游戏规则,二是技术。其实,任何软件开发都是这两大类。根据项目的特点,将不相关的功能分块份阶段进行。大致流程如下:1.画棋盘;2画棋子;3增加下棋制约条件;4.每下一步,判断输赢;5.调试运行。2.1可行性分析游戏设计已经成为现在社会的一种热门行业。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。这里设计和实现了一个简单的五子棋单机游戏。主要应用了VisualC++编程来完成这个游戏的设计的。本文主要介绍了本游戏开发环境MicrosoftVisualC++6.0,使用当前优秀的开发工具VC++编程。包含了五子棋程序的棋盘初始化、游戏规则、胜负判断。思路简单明了,程序也较为简单。可以灵活运用一学过的c++知识来编写程序。2.2需求分析近年来,随着网络的发展,游戏成为许多人关注的焦点。与传统的影音产业一样,游戏产业也是娱乐行业的一个重要组成部分,基于数字化的网络游戏更让人们找到了前所未有的感受,并已经成为全球互联产业的热点。五子棋,亦称“连五子”、“串珠”、“五目”、“五格”等等,日文称之为“连珠”,英文则称之为“Gobang”或“Renju”或“FIR(FiveInaRow)”,是起源于中国古代的传统黑白棋种之一,是一种体现民族特色的休闲游戏,同时能较好的锻炼人的思维。具有广阔的开发前景。徐州师范大学物理与电子工程学院课程设计报告-3-3详细设计3.1窗体设计利用MFCAppWinzard生成五子棋游戏应用程序框架具体步骤如下:(1)执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFCAppWizard(exe)选项,然后在Projectname文本框中输入Fivechess_44。Lacation文本框是指项目的本地路径。徐州师范大学物理与电子工程学院课程设计报告-4-(2)单击按钮,弹出MFCAppWinzard_Step1对话框。选中单选按钮,如图所示。(3)单击完成按钮,则建立一个单文档应用框架。徐州师范大学物理与电子工程学院课程设计报告-5-3.2游戏项目开发(四号字黑体)3.2.1棋盘设计1.在已创建的工程Fivechess_44中添加画棋盘的函数。首先在“Fivechess_44.h”头文件中定义一个用于显示棋盘的自定义公有函数:voidCheckerboard(CDC*pDC);然后在“Fivechess_44View.cpp”源文件中实现该函数。代码如下:voidCFivechess_44View::Checkerboard(CDC*pDC){for(inti=0;i20;i++)//连续画20条竖线{pDC-MoveTo(i*50,0);//画笔移动到(i*50,0)点pDC-LineTo(i*50,1000);//画笔从(i*50,0)点到(i*50,1000)点}for(i=0;i20;i++)//连续画20条横线{pDC-MoveTo(0,i*50);pDC-LineTo(1000,i*50);}}2.在应用程序框架的OnDraw()函数中调用该画棋盘函数,将pDC对象作为实参传递给Checkerboard()函数,代码如下:voidCFivechess_44View::OnDraw(CDC*pDC){CFivechess_44Doc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahereCheckerboard(pDC);//调用自定义的画键盘函数}3.编译运