| 设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计 | |||||
|
|||||
|
|||||
|
|||||
基于alpha-beta剪枝技术的五子棋目录第1章 问题描述 3第2章 问题分析 3第3章 算法设计 43.1 算法概述 43.2 极大极小树 43.3 α-β剪枝算法 53.3总体设计 63.3.1 系统流程图 73.3.2 基本设计 73.4 预处理 8第4章 算法实现 114.1 估价函数 114.2 alpha-beta剪枝算法 154.2.1 算法流程图 154.2.2 代码实现 16第5章 成果展示与性能分析 185.1 成果展示 185.2 性能分析 23第6章 结论与心得体会 236.1 结论 236.2 实验心得 24参考文献 28第1章 问题描述我们的五子棋博弈实现的是双人的、完备信息的五子棋问题,即游戏规则为双方严格的轮流走步,且任何一方能完全知道对方已走过的步和以后可以走的所有步,当某方有在一条直线上连续的五子时,游戏结束。游戏模式可以分为人机对弈和双人对弈两种模式。双人对弈模式比较容易实现,程序只需要判断是否产生胜利者即可。人机对弈模式则需要我们的程序代码实现机器落子的位置的选择确定,本程序采用基于启发式MAX/MIN算法的alpha-beta剪枝技术来选择出最佳的机器落子位置。除此之外,我们还设置了残局闯关模式,在增加了游戏趣味性的同时给用户们带来了更好的游戏体验。第2章 问题分析要想实现一个基本的五子棋博弈游戏,我们要面对的问题可大概总结为如何判断胜负,如何严格限制双方轮流下棋,游戏界面的呈现形式以及最主要的如何确定机器落子的最佳位置。经过我们团队的初步讨论后,最终决定游戏以界面的方式呈现出来,用户下棋时直接将鼠标点击在想落子的位置即可。至于判断胜负则只需要编写一个简单的函数,从横、竖、斜上、斜下四个方向逐步判断是否有五个连续的同色棋子就可实现判断。严格控制双方轮流落子通过改变flag的值间接确定当前位置是哪一方下棋,再通过相互调用对方落子的函数具体实现轮流下棋。最后就是解决最关键的问题:在人机对弈模式中如何选择出机器落子的最佳位置,这是我们整个程序代码中最核心的部分,也是算法实现中最困难的部分。就像本次课程设计的题目叙述的那样,我们经讨论决定采用启发式MAX/MIN算法的alpha-beta剪枝技术来准确且较为快速地确定机器的落子位置,其中涉及到的alpha-beta技术的具体实现以及确定最佳位置时采用的“算分机制”会在之后的模块中详细阐述。至此,我们就基本上完成了五子棋游戏的整体问题分析,剩下的就是一些界面优化,残局棋谱设计等非关键问题,我们的团队在不断的实践和优化中最终实现了一个功能完善,界面优美且操作流畅的五子棋博弈小游戏。






















毕业66资料站 biye66.com ©2015-2026 版权所有 | 微信:15573586651 QQ:3903700237
本站毕业设计和毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!