五子棋游戏课程设计

五子棋游戏课程设计

ID:33474399

大小:236.50 KB

页数:19页

时间:2019-02-26

五子棋游戏课程设计_第1页
五子棋游戏课程设计_第2页
五子棋游戏课程设计_第3页
五子棋游戏课程设计_第4页
五子棋游戏课程设计_第5页
资源描述:

《五子棋游戏课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机与信息工程系《五子棋游戏设计》课程设计报告学号2012-2013学年第二学期《高级语言开发程序设计》课程设计报告题目:五子棋游戏设计专业:计算机科学与技术班级:姓名:指导教师:成绩:计算机与信息工程系2013年6月12日计算机与信息工程系《五子棋游戏设计》课程设计报告目录目录11 引言21.1 五子棋介绍21.2选题背景和动机21.3系统所要解决的问题22系统框架32.1系统的功能简介32.2总体程序框图33设计过程或程序代码43.1用类ChessFrame创建五子棋游戏主窗体和菜单43.2构造五子棋游戏的主窗体53.3用类ChessModel实现了

2、整个五子棋程序算法的核心53.4计算机走棋84程序调试分析155总结17致谢171计算机与信息工程系《五子棋游戏设计》课程设计报告1 引言1.1 五子棋介绍五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(FiveinaRow的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的

3、特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。1.2选题背景和动机随着社会的发展,越来越多人接触和使用计算机,网上进行的棋类运动也随之普及。许多人喜欢上了下棋,但有时又苦于没有对手。作为一个计算机专业的学生,我对五子棋有很浓厚的兴趣,平时也一直和同学下棋,有时也和电脑下棋,我对计算机人机对弈智能算法如何与人脑对抗产生了极大的兴趣,当然人机对弈的算法有很多种,许多人也对此有所研究。有些算法的智能程度甚至已经与人脑不相上

4、下。这类程序的开发最重要的莫过于智能算法的实现,然后就是判断胜负的方法。我决定开发一个既能够人机对战,又能够进行人人对战的五子棋系统。1.3系统所要解决的问题1)棋盘和棋子的绘制2)计算机对下一步落棋的计算3)棋盘的载入4)棋盘状态的判定17计算机与信息工程系《五子棋游戏设计》课程设计报告2系统框架2.1系统的功能简介主要功能是实现五子棋的人机对弈和人人对弈功能,能够改变棋盘的大小和外观。2.2总体程序框图五子棋人机对弈人人对弈判断输赢结果棋盘17计算机与信息工程系《五子棋游戏设计》课程设计报告3设计过程或程序代码3.1用类ChessFrame创建五子棋游

5、戏主窗体和菜单importjava.awt.*;importjava.awt.event.*;importjava.applet.*;importjavax.swing.*;importjava.io.PrintStream;importjavax.swing.JComponent;importjavax.swing.JPanel;classChessFrameextendsJFrameimplementsActionListener{privateString[]strsize={"标准棋盘","改进棋盘","扩大棋盘"};privateString[]

6、strmode={"人机对战","人人对战"};publicstaticbooleaniscomputer=true,checkcomputer=true;privateintwidth,height;privateChessModelcm;privateMainPanelmp;17计算机与信息工程系《五子棋游戏设计》课程设计报告3.2构造五子棋游戏的主窗体publicChessFrame(){this.setTitle("五子棋游戏");cm=newChessModel(1);mp=newMainPanel(cm);Containercon=this.g

7、etContentPane();con.add(mp,"Center");this.setResizable(false);this.addWindowListener(newChessWindowEvent());MapSize(14,14);JMenuBarmbar=newJMenuBar();this.setJMenuBar(mbar);JMenugameMenu=newJMenu("游戏");mbar.add(makeMenu(gameMenu,newObject[]{"开局",null,"棋盘",null,"模式",null,"退出"},this

8、));JMenulookMenu=newJMenu("外观");m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。