计算机学院本科毕业论文1
更新时间:2023-12-07 07:34:01 阅读量: 教育文库 文档下载
学校代码 10126 学号 00813033 分 类 号 TP311.1 密级
本科毕业论文(设计)
五子棋
学院、系 计算机学院 专业名称 计算机科学与技术 年 级 学生姓名 指导教师
2012年 5 月 14 日
abstract
As a puzzle game,gobang can develop the thinking ability and intelligence of players,which is interesting and absorbing。The version of this software,includes two kinds of patterns,standalone mode and network mode。The former uses a game-tree search algorithm,which can only predict a follow-up move after calculation。Moreover, the network mode needs to be brought online, in other words, first need a player in a computer start game as the server-side, then the other enter the servers ip to connect and join game in another computer as the client. Both modes support undo functions,and the network mode has draw and giving-up function。While network gaming one player send the coordinate message of pieces received by another,which calls functions to deal with message。Beyond that,the game has also background music and chat function。
1
内蒙古大学本科毕业论文(设计)
五子棋
摘要 五子棋是一种益智游戏,它能增强玩家的思维能力,提高智力,而且趣
味横生,引人入胜。该版本的五子棋设置了两类模式,单机模式和网络模式。游戏中根据网络连接标志来判断当前是网络对战还是人机对战。人机对战模式使用的是简单的博弈树搜索算法,即只向前搜索一步,仅能预测到下一步会发生什么情况。网络对战模式中一方先建立游戏,作为游戏的服务器端,对方输入服务器IP后加入游戏,作为客户端。两种模式都有悔棋功能,网络对战还有认输、和棋请求的功能。发送五子棋消息主要发送落子坐标,对方接受到消息后会调用相应的函数处理接收的消息。该游戏还设置了声音背景,当玩家落子时会有落子的声音,当玩家胜了或输了都会有背景声音。另外该游戏还设置了聊天功能,战绩统计等基本游戏功能,以方便对弈双方聊天和查看战绩记录。
关键词 人机对战,网络对战,算法,消息
2
内蒙古大学本科毕业论文(设计)
目录
第一章 绪论.............................................................................................................................. 3
1.1 五子棋介绍...................................................................................................................... 3
1.2 开发背景 ......................................................................................................................... 4 1.3 开发环境及运行环境........................................................................................................ 5
1.3.1 开发环境................................................................................................................ 5 1.3.2 运行环境................................................................................................................ 5
第二章 逻辑架构与设计 ............................................................................................................ 6
2.1 棋盘类............................................................................................................................. 7
2.1.1 棋盘类主要成员变量说明 ....................................................................................... 7
2.1.2 棋盘类主要成员函数说明 ....................................................................................... 8 2.2 游戏模式类...................................................................................................................... 9 2.2.1 游戏模式类主要成员变量说明 .............................................................................. 10 2.2.2 游戏模式类主要成员函数说明 .............................................................................. 10
第三章 消息机制..................................................................................................................... 13
3.1消息机制的架构.............................................................................................................. 13
3.2各种消息说明 ................................................................................................................. 13
3.2.1落子消息——MSG_PUTSTEP ............................................................................... 13
3.2.2 悔棋消息——MSG_BACK.................................................................................... 13 3.2.3同意悔棋消息——MSG_AGREEBACK.................................................................. 14 3.2.4拒绝悔棋消息——MSG_REFUSEBACK ................................................................ 14 3.2.5和棋消息——MSG_DRAW.................................................................................... 14 3.2.6同意和棋消息——MSG_AGREEDRAW ................................................................. 14 3.2.7拒绝和棋消息——MSG_REFUSEDRAW................................................................ 14 3.2.8认输消息——MSG_GIVEUP ................................................................................. 15 3.2.9聊天消息——MSG_CHAT ..................................................................................... 15 3.2.10对方信息消息——MSG_INFORMATION ............................................................. 15
第四章 人机对战主要算法 .......................................................................................................... 16
4.1 落子时是否构成五子连珠的算法 .................................................................................... 16 4.1.1 判断水平方向是否构成五子连珠 ......................................................................... 16
4.1.2判断竖直方向是否构成五子连珠.......................................................................... 17 4.1.3判断左下方向是否构成五子连珠.......................................................................... 17 4.1.4判断右下方向是否构成五子连珠.......................................................................... 18 4.2 计算机落子时的算法[6] ................................................................................................... 19
4.2.1 计算落子时的所有获胜可能性 ............................................................................ 19 4.2.2 落子后计算得分 ................................................................................................. 19
4.2.3 查找棋盘上的空位置 .......................................................................................... 20 4.2.4 为每一个可以落子的位置打分 ............................................................................ 21
4.2.5 防守策略 ............................................................................................................ 21 4.2.6 选取最佳落子 ..................................................................................................... 21
总结 ........................................................................................................................................... 23
3
内蒙古大学本科毕业论文(设计)
第一章 绪论
1.1 五子棋介绍
五子棋是起源于中国古代的传统黑白棋种之一。它不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋最先发展于日本,流行于欧美。它既有现代休闲的明显特征,又有古典哲学的高深学问;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛。
传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为15×15,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5 个或5个以上同色棋子连成不间断的一排者为胜。
目前五子棋游戏有两种模式,一种是网络五子棋游戏,一种是单机五子棋游戏。
网络五子棋编程有两种实现方式:一种是基于C/S(Client/Server 即C/S)模式;另一种是基于B/S(Brower/Server 即B/S)模式。C/S程序具有很好的交互性,功能很强大,但是客户端必须安装客户端软件,限制了其应用; B/S模式的程序要求客户端必须装有浏览器,但是浏览器在安全性、交互性与功能方面有一些限制。目前网络五子棋游戏大部分是在C/S模式下实现的,其功能不断的完善和加强,而且五子棋的博弈算法研究达到了智能化的程度,并能实现了客户端和服务器端的多线程交互性。随着网络协议这一关键性问题得到了解决和完善使网络游戏的设计和实现成为可能。对于众多的基层网络协议,Winsock(Windows Socket 即Winsock) 是五子棋游戏网络连接的首选接口。Winsock是网络编程接口,而不是协议。Winsock提供一个大家都很熟悉的接口,为实现网络五子棋的功能得到了简化[1]。单机版的五子棋游戏省去了网络传输这一复杂的过程,但是需要有力的算法支撑,算法的性能决定程序的性能,也能决定游戏的难易程度。五子棋是一个比较特殊的游戏,跟象棋类的游戏很不一样,它只需要判断有五子连珠就能决定胜负,因此在采用博弈树搜索模式时,只需要向前搜索一步,找出最优的位置,基本就能满足程序的需求。
正在阅读:
计算机学院本科毕业论文112-07
九年级数学上册第一月考模拟试题01-04
筹资风险毕业论文05-07
二级建造师选修课后与考试答案05-05
《童话边城布尔津》2011城建天山杯04-26
第二章 单选题04-05
我们随笔300字11-20
食品广告发布暂行规定04-24
教科版二年级上册科学教学计划及进度05-02
《动物说话》03-12
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 毕业论文
- 本科
- 计算机
- 学院
- 计算机组成原理课程设计 - 图文
- 2018年七年级语文上册第二单元8世说新语二则练习
- PB数据窗口绝对技巧
- 建筑施工技术复习资料
- 小学数学体积容积单位换算专项练习50题(有答案)ok
- 小老虎历险记阅读测试
- 12级作业
- 新兵第一适应期的“心理处方”
- 北京市丰台区2018届高三一模化学部分
- 广东省经济和信息化委员会印发广东省经济和信息化委员会工业产
- 继电保护实验指导书
- 儿科护理题2009
- 人教版初中化学第五单元化学方程式单元测试题及答案(一)
- 福建师范大学17年2月课程考试《现代汉语(一)》作业考核试题
- 萨缪尔森《微观经济学》(第19版)习题详解(含考研真题)(第4章 供给和需求:弹性及其应用)
- asp试卷部分
- 备考2019年一建通信与广电管理实务高分经验+独家学习笔记 - 图文
- 金融衍生工具计算题(非正规,仅供参考)
- 停留时间分布讲义3
- 突发公共卫生事件应急条例讲座提纲(修改)(1)