当前位置:文档之家› (完整word版)c++课程设计五子棋游戏

(完整word版)c++课程设计五子棋游戏

指导教师签字:年月日目录摘要 (II)Abstract ………………………………………………………………………………….。

II 1 绪论…………………….……………………………………。

. 11。

1 课题背景…………………………………………………………………………。

11.2 课程设计的目的 (1)2 设计方案简述………………………………………..………………….。

22.1 可行性分析………………………………………………..…………………………。

22.2 需求分析.........................................................。

.. (2)3 详细设计......................................................................。

.. (3)3.1窗体设计......................................................。

..................................。

3 3。

2游戏项目开发.. (5)3。

2。

1棋牌设置.....................................................................................。

(5)3.2.2放置棋子功能的开发 (6)3。

3.3游戏获胜决断的开发 (12)3.2.4游戏的调试与运行 (20)4 设计结果及分析......................................................。

.......。

(22)4.1 程序的结果...................................................................................。

22 4.2结果分析................................................。

....................................。

.23 5总结.......。

.........................................................。

. (24)参考文献......。

..................。

.....................................。

(25)- I -摘要网络游戏的出现代表了一种全新娱乐方式的诞生。

目前网络游戏正以其独特的魅力吸引着众多的玩家。

随着游戏产业的蓬勃发展,将需要越来越多的人加入到游戏开发中来。

本毕业设计所完成的五子棋游戏(网络版)是在Windows XP下使用Microsoft Visual C++6。

0开发的C/S系统,可以实现网络间的双人对战,并且可以提供多媒体播放功能。

系统的多媒体播放功能可以播放MP3、WMA等主流格式的音乐。

本论文从基本网络套节字开始入手,介绍了一些本系统相关的理论知识,随后详细介绍了五子棋游戏(网络版)的开发过程。

包括服务器端、客户端的socket编程,五子棋服务器和客户端通信的实现,五子棋判断算法的实现,主界面视图,多媒体播放以及定时器等附加功能的实现。

最后对系统进行测试并对所做工作进行总结。

关键词程序设计;Fivechess;MFC;AbstractAbstractOn—line games bring to a new form of entertainment。

Until now, on-line games is charming more and more players。

As the development of game industry, there will be more and more developers join in the game development team.The on —line Black&White game was developed by Microsoft Visual C++6。

0 on Windows XP platform. In this game,two people can play the game on line,and the game also provides multimedia player function.The thesis start with introduction of network socket programming,the development processing of the on —line Black&White game are introduced in detail as followed. The thesis have a full touch on server and client socket programming,the communication between server and client was implemented, the algorithm of the five—in—a-row game,the multimedia playback functions。

Keywords:program; computer; MFC; Fivechess1绪论娱乐是人类不可或缺的生活内容,目前市场上的游戏种类繁多读者将所学的语言应用到实际,用学习的c++语言编程开发一个简易的计算机单机游戏,即五子棋游戏.1.1 课题背景中国民族原创网络游戏为中国网络游戏产业所做出了巨大贡献,民族原创网络游戏已经成为产业发展的主导力量.同样在中国自主研发的民族原创网络游戏已经真正成为中国游戏市场的主导力量.网络游戏是通过信息网络传播和实现的互动娱乐形式,是一种网络与文化相结合的产业。

近年来,网络文化市场发展很快,随着互联网的迅速普及、宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展,对促进我国网络经济和娱乐业的发展、丰富互联网时代人民群众的文化娱乐生活起到了积极作用。

1.2课程设计目的在程序设计中,通过设计、编制、调试一个五子棋的程序,加深对语法及语义分析原理的理解,并实现对命令语句的灵活应用。

在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。

由于多个函数均需要访问某些数据,这些数据常被设计为全局变量。

而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为C++程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。

2 设计方案简述如下是描述整五子棋游戏的流程,开发一个五子棋游戏需要从两方面入手。

一是游戏规则,二是技术.其实,任何软件开发都是这两大类。

根据项目的特点,将不相关的功能分块份阶段进行.大致流程如下:1。

画棋盘;2画棋子;3增加下棋制约条件;4。

每下一步,判断输赢;5.调试运行。

2.1可行性分析游戏设计已经成为现在社会的一种热门行业.五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。

这里设计和实现了一个简单的五子棋单机游戏。

主要应用了Visual C++编程来完成这个游戏的设计的。

本文主要介绍了本游戏开发环境Microsoft Visual C++ 6。

0,使用当前优秀的开发工具VC++编程。

包含了五子棋程序的棋盘初始化、游戏规则、胜负判断。

思路简单明了,程序也较为简单。

可以灵活运用一学过的c++ 知识来编写程序.2.2 需求分析近年来,随着网络的发展,游戏成为许多人关注的焦点.与传统的影音产业一样,游戏产业也是娱乐行业的一个重要组成部分,基于数字化的网络游戏更让人们找到了前所未有的感受,并已经成为全球互联产业的热点。

五子棋,亦称“连五子”、“串珠"、“五目"、“五格"等等,日文称之为“连珠”,英文则称之为“Gobang”或“Renju”或“FIR(Five In a Row)”,是起源于中国古代的传统黑白棋种之一,是一种体现民族特色的休闲游戏,同时能较好的锻炼人的思维.具有广阔的开发前景。

3 详细设计3.1 窗体设计利用MFC AppWinzard生成五子棋游戏应用程序框架具体步骤如下:(1)执行VC程序,选择File|New命令,弹出New对话框。

单击Projects标签,转到Projects 选项卡,选择MFC AppWizard(exe)选项,然后在Project name文本框中输入Fivechess_44 。

Lacation文本框是指项目的本地路径。

(2)单击按钮,弹出MFC AppWinzard_Step1对话框。

选中单选按钮,如图所示。

(3)单击完成按钮,则建立一个单文档应用框架。

3.2游戏项目开发(四号字黑体)3.2。

1棋盘设计1.在已创建的工程Fivechess_44中添加画棋盘的函数。

首先在“Fivechess_44。

h”头文件中定义一个用于显示棋盘的自定义公有函数:void Checkerboard(CDC*pDC);然后在“Fivechess_44View.cpp"源文件中实现该函数.代码如下:void CFivechess_44View::Checkerboard(CDC*pDC){for(int i=0;i〈20;i++) //连续画20条竖线{pDC—〉MoveTo(i*50,0); //画笔移动到(i*50,0)点pDC—〉LineTo(i*50,1000);// 画笔从(i*50,0)点到(i*50,1000)点}for(i=0;i<20;i++) //连续画20条横线{pDC—〉MoveTo(0,i*50);pDC—〉LineTo(1000,i*50);}}2.在应用程序框架的OnDraw()函数中调用该画棋盘函数,将pDC对象作为实参传递给Checkerboard()函数,代码如下:void CFivechess_44View::OnDraw(CDC* pDC){CFivechess_44Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCheckerboard(pDC); //调用自定义的画键盘函数}3.编译运行得到如下效果:一个空棋盘3。

相关主题