网络五子棋设计与实现

2018-12-22 21:59

目 录

摘要..…………………………………….…..……………………….………………..1 关键词..……………………………………..………………..………………………..1 1 前言..…………………….……………..……….……….…………………………1 2 需求分析..……………………………..…….…………….………………………2 2.1 开发背景..……………………………..…………….….……………………….2 2.2 研究现状………………………………………………………………………...2 2.3 开发目的及意义..…………………………..….………….…………………….3 2.4 任务概述..…………………………………..….…………….………………….3 3 开发环境及运行环境..………………………..….…………….…………………4 3.1 开发环境..……………………………………...……………….……………….4 3.2 运行环境..……………………………………..….…………….……………….4 4 软件架构..……………………………………..….………………….……………4 4.1 棋盘类..……………………………………...…………………….…………….5 4.2 游戏模式类..…………………………….…..………………….……………….5 5 棋盘类—Ctable....……………………………………………………….………...6 5.1 主要成员变量说明………………………..……...………………….………….6 5.1.1 网络连接标志—m_bConnected....………………………………….………...6 5.1.2 棋盘等待标志—m_bWait与m_bOldWait…………….…………….……….6 5.1.3 网络套接字—m_sock和m_conn….……………...….…………….………...6 5.1.4 棋盘数据—m_data………………………………….……………….………..6 5.1.5 游戏模式指针—m_pGame ………………….……………………….…….6 5.2 主要成员函数说明.……………………………………………………….……6 5.2.1 套接字的回调处理—Accept、Connect、Receive……………….….………6 5.2.2 清空棋盘—Clear...…………………………………….………….….……….6 5.2.3 绘制棋子—Draw.……………………………………….………….…………7 5.2.4 左键消息—OnLButtonUp....…………………………..……………………..7 5.2.5 绘制棋盘—OnPaint.……………………………….…….…………….…...7

5.2.6 对方落子完毕—Over..……………………………….………………….……7 5.2.7设置游戏模式—SetGameMode..………………....……….………...…….……8 5.2.8胜负的判断—Win..……………………...…….….………………...……….….8 6 游戏模式类—Cgame……………..……………..…………………...……...…....8 6.1 主要成员变量说明….……………………...…...………………...……………9 6.1.1 棋盘指针—m_pTable….………….……….………....…………...……….…9 6.1.2 落子步骤—m_StepList.....…………………….….………...………………..9 6.2 主要成员函数说明….…………………………….….………...……………...9 6.2.1 悔棋操作—Back....…………………………….….……………...………….9 6.2.2 初始化操作—Init....…………...….……………….…….…….……………..9 6.2.3 接收来自对方的消息—ReceiveMsg ………….…………………………...10 6.2.4 发送落子消息—SendStep…..………………………..……………………..10 6.2.5 胜利后的处理—Win….……………………………………….……………10 7 消息机制….……………………………………………………………………..10 7.1 消息机制的架构…..…………………………….…………………………….10 7.2 各种消息说明….……………………………….……………………………..11 7.2.1 落子消息—MSG_PUTSTEP.…..…………………………………………..11 7.2.2 聊天消息—MSG_CHAT..…………………………………………………..11 7.2.3 悔棋消息—MSG_BACK………..………………………………………….12 7.2.4 同意悔棋消息—MSG_AGREEBACK.…….………………………………13 7.2.5 拒绝悔棋消息—MSG_REFUSEBACK..………..…………………………13 7.2.6 和棋消息—MSG_DRAW.………….………………………………………13 7.2.7 同意和棋消息—MSG_AGREEDRAW …………...……………………….13 7.2.8 拒绝和棋消息—MSG_REFUSEDRAW…………….……………………..14 7.2.9 认输消息—MSG_GIVEUP…………..…………………………………….14 7.2.10 对方信息消息—MSG_INFORMATION……………..…………………..15 7.2.11 再次开局消息—MSG_PLAYAGAIN……………………………………..15 7.2.12 同意再次开局消息—MSG_AGREEAGAIN…………..…………………15 8 主要算法………………..……………………………………………………….15

8.1 判断胜负………………………………………………………………………15 8.2 人机对弈算法………………..………………………………………………..18 8.2.1 获胜组合…………………………………………………………………….18 8.2.2 落子后处理………….………………………………………………………18 8.2.3 查找棋盘空位……………………………………………………………….19 8.2.4 落子打分…………….………………………………………………………19 8.2.5 防守策略…………………………………………………………………….21 8.2.6 选取最佳落子……………………………………………………………….22 9 总结…………..………………………………………………………………….23 参考文献…………………………………………………………………………….23 致 谢……………………………………………………………………………….24

网络五子棋设计与实现

摘 要:本文主要对五子棋网络游戏技术进行研究,以VC++为平台设计并实现了一个基于

C/S模式的五子棋网络对战游戏,本设计包括网络对弈与人机对弈两种模式,并通过MFC与网络编程实现各功能模块,包括网络聊天、战绩统计、悔棋操作、和棋操作、认输操作以及美观大 方的操作界面。

关键词:五子棋;网络游戏;人工智能;C/S模式

Design and Implementation of Renju Network Game

Abstract: This article mainly does the research to the Renju network game technology, taking

VC++ as the platform, I design and implement a network war game based on the C/S mode. The network design includes games with the man-machine games two models. And through MFC and network programming of the modules, including Internet chat, feat statistics, the operation afterwards, a draw in chess operation concede pleasing to the eye operation.

Keywords:Renju; network game; artificial intelligence; C/S mode

1 前言

随着互联网技术的发展,网络游戏已成国民经济的一部分并不段发展壮大。而网络五子棋游戏是起源于中国古代的传统黑白棋种之一,具有一定的历史渊源,且游戏易学易懂、上手快具有很大市场份额。

五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快” ,又有古典哲学的高深学问“阴阳易理”它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化渊源流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。一个好的五子棋游戏应该是集休闲、娱乐于一体;更应该成为玩家相互交流的一个重要窗口,作为计算机专业学生,见过玩过非常多的网络五子棋游戏,但大部分网络上流传的五子棋游戏功能并不尽善尽美,其中最主要的问题就是人机对战和网络对战不能够一起实现,所以本人决定借毕业设计开发一个既能够人机对战,又能够进行网络对战的五子棋系统,这

- 1 -

也正是选题的意义所在。

2 需求分析

2.1 开发背景

游戏作为日常休闲的娱乐活动之一,历经了电视游戏、电脑单机游戏、电脑网络游戏不同的发展阶段。互联网的出现为电脑游戏行业发展注入了新的活力,凭借信息双向交流、速度快、不受空间限制等优势,让真人参与游戏,提高了游戏的互动性、仿真性和竞技性,使玩家在虚拟世界里可以发挥现实世界无法展现的潜能,改变了单机版游戏固定、呆板、与机器对话的状况,而网络五子棋游戏更是具备这所有的特点。

当前网络上流传的五子棋游戏功能并不尽善尽美,其中最主要的问题就是人机对战和网络对战不能够一起实现,所以本人决定开发一个既能够人机对战,又能够进行网络对战的五子棋系统。

2.2 研究现状

网络作为一种新兴的传播方式,主要包括三大内容:娱乐、资讯、通讯。提到网络娱乐,过去主要指的是单机版游戏,没有引入网络的概念。但随着科技的发展,游戏娱乐产业也在成长。目前,国内的游戏娱乐产业正处于起步阶段,特点表现为:第一,它是一种文化的传播。娱乐产业可以潜移默化地改变人的观念,当前,很多多媒体的播放已被电脑网络所取代。第二,网络游戏加强了人与人的沟通。第三,网络游戏具有一定的教育意义。网络游戏所具有的角色扮演的功能,使得玩家能通过互助更好地完成游戏中的各项任务。网络无国界,游戏在网络文化产业世界的发展中地位会越来越高,因此开发一个功能强大界面美观的网络五子棋游戏是完全可行的。

目前在国外,休闲游戏如棋类等,玩家的年龄跨度非常大,这和我国目前网游市场以青少年为主要消费人群的状况截然不同。其实,网络可以解决空间的问题,网络和生活越来越息息相关,因此,开辟适合各个年龄层的游戏产品迫在眉睫。同时,这也涉及到一个企业开发的能力。娱乐产业发展到一定的程度,通过不断锻炼和经验的积累,完全可以通过融入娱乐的成分把教条的东西深入浅出地展现给消费者。

就国内的发展来看,最近的这两三年内国内的游戏公司如雨后春笋般的成立,所开发或代理的网络游戏更是不胜枚举。以全球游戏业界的发展来看,这几年韩国的表现最为突出,特別是在网络游戏的技术研发与游戏制作方面,其所发行的网络游戏更成为全球游戏产业重要的指标之一。去年在美国洛杉矶所举行的E3(Electronic Entertainment Exposition)展中,已经有几家韩国厂商挤入世界第一线的游戏开发厂商

- 2 -


网络五子棋设计与实现.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:市场营销第3阶段测试题答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: