ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:718.35KB ,
资源ID:22703535      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22703535.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(井字棋实验报告文档格式.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

井字棋实验报告文档格式.docx

1、指导老师实验02 井字棋1、总体要求: 1.1总体功能要求 :利用不同的方法,实现人机对战过程中呈现出不同程度的智能特征:(1)利用极大极小算法、-剪枝来提高算法的效率。(2)使用高级语言,编写一个智能井字棋游戏。(3)结合极大极小算法的使用方法和-剪枝,让机器与人对弈时不但有智能的特征,而且计算的效率也比较高。 1.2开发平台要求:开发者开发的软件必须能够在不同系统的电脑上正常运行,因此开发平台为:开发环境:JDK1.6开发工具和技术体系:为了此游戏能够很好的在不同系统中运行,因选择javaee进行开发,利用eclipse1.3项目管理要求 :(1)项目程序编写过程中要适当的写一些注释,以便

2、下次作业时能够快速的 上手和以后的修改:(2)项目程序要保存在一个固定的工作区间;(3)确保代码不要太多冗余2、需求分析:2.1软件的用户需求: 井字棋游戏的用户希望游戏除了有一般的功能之外,还可以通过极大极小算法、-剪枝等方法是的井字棋游戏能够拥有智能特征,并是的电脑在人机对弈的过程中因玩家的难度选择而体现不同程度的智能状况。2.2软件的功能需求:本游戏需要实现功能有:(1)游戏的重新设置 (2)游戏统计(如:人赢的次数、电脑赢的次数等) (3)游戏的退出 (4)不同智能程度下(脑残、懵懂、正常、智能),人机对弈 (5)既可以选择难度,也可以选择谁走第一步(人or电脑)2.3软件的性能需求:

3、 井字棋游戏需要以图形界面的形式表现出来,通过点击图标就可以进入游戏;在游戏进行时,人机对弈时电脑能够快速的反应并根据人的上一步动作作出,通过选择“脑残、懵懂、正常、智能”难度选择,电脑以不同程度的智能与人进行游戏对弈。2.4 运行环境:能够运行java程序的环境(装有jdk或者jre)2.5 用户界面设计:用gridlayout进行用户界面的设计把界面中分为不同的 模块。3、软件概要设计 3.1 软件的逻辑设计:就是系统的功能模块结构图 4、软件详细设计4.1 开发平台与环境 Eclipse; JDK1.6 4.2 用户界面的详细设计4.3 各个模块的具体设计 游戏界面主要是利用GridLa

4、yout来进行布局管理,把整个JFrame分成左右两部分pwleft和pwright。public void Layout() fw = new JFrame(井字棋); fw.setBounds(100, 100, 1000, 600); cw = fw.getContentPane(); pwleft = new JPanel(); pwleft.setBorder(BorderFactory.createLineBorder(Color.black, 1); pwright = new JPanel(); pwright.setBorder(BorderFactory.createLin

5、eBorder(Color.black, 1); pwleft.setLayout(new GridLayout(qipanX, qipanY);pwleft是用来装3*3井字棋的9个格子for (int i = 0; i qipanX; i+) for (int j = 0; j qipanY; j+) qipanij = new JLabel(); qipanij.setBorder(BorderFactory.createEtchedBorder(); qipanij.setBackground(Color.RED); qipanij.setEnabled(true); pwleft.a

6、dd(qipanij); pwright是用来装游戏设置和游戏状态显示。然后再将pwright分为上、中、下三个部分分别命名为pwright1、pwright2、pwright3pwright1用来装三个按钮:新游戏、游戏统计、退出游戏;pwright2用来装难度选择(脑残、懵懂、正常、智能四个级别)和先手选择(玩家先手、电脑先手)两个界面;pwright3用来显示当前游戏状态。当点击游戏统计按钮的时候,会弹出一个界面,此界面内容是:玩家赢过的次数、电脑赢的次数和两者打平的次数。若是完成游戏,则或弹出一个说明游戏结果的界面(人赢、电脑赢或打平手) 一些重要算法的实现部分代码: 5 系统实现:以

7、上为设计部分,下面是实现部分, 5.1 开发平台:jdk1.6+eclipse 5.2 类图:(1)主函数main创建实例对象;(2)Public TicTacToe() 调用类的构造函数,构建游戏的图形界面和游戏记录的读取;(3)playChess()会进入一个死循环,要点击新游戏调用newGame()使得条件的到初始化 得到条件manTurn = true 才能够开始新的游戏 ; (4)选择不同的难度程度“脑残、懵懂、正常、智能”分别调用AiChess1()、AiChess2()、 AiChess3()、AiChess4() (5)下棋的时候是通过mouseClicked()来实现的等 (6)。5.3结果展示六、总结在做这次的实验,虽然作出了大体的代码,可是有些问题还是没有得到解决。不过,通过做这次的实验,我们也学到了不少的知识点,增加了我们对人工智能的理解,还感受到了自主学习的乐趣,懂得了团队合作的重要性。很有趣的一个小游戏,可惜的是如果选择智能的话,总是赢不了电脑。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1