- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学号
《高级语言开发程序设计》
课程设计报告
题目: 五子棋游戏设计 专业: 计算机科学与技术 班级: 姓名: 指导教师: 成绩:
计算机与信息工程系
2013年 6月 12日
目录
目录 1
1 引言 2
1.1 五子棋介绍 2
1.2选题背景和动机 2
1.3系统所要解决的问题 2
2 系统框架 3
2.1系统的功能简介 3
2.2 总体程序框图 3
3 设计过程或程序代码 4
3.1 用类ChessFrame创建五子棋游戏主窗体和菜单 4
3.2 构造五子棋游戏的主窗体 5
3.3 用类ChessModel实现了整个五子棋程序算法的核心 5
3.4 计算机走棋 8
4 程序调试分析 15
5 总结 17
致谢 17
1 引言
1.1 五子棋介绍
五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。
1.2选题背景和动机
随着社会的发展,越来越多人接触和使用计算机,网上进行的棋类运动也随之普及。许多人喜欢上了下棋,但有时又苦于没有对手。作为一个计算机专业的学生,我对五子棋有很浓厚的兴趣,平时也一直和同学下棋,有时也和电脑下棋,我对计算机人机对弈智能算法如何与人脑对抗产生了极大的兴趣,当然人机对弈的算法有很多种,许多人也对此有所研究。有些算法的智能程度甚至已经与人脑不相上下。这类程序的开发最重要的莫过于智能算法的实现,然后就是判断胜负的方法。我决定开发一个既能够人机对战,又能够进行人人对战的五子棋系统。
1.3系统所要解决的问题
1)棋盘和棋子的绘制
2)计算机对下一步落棋的计算
3) 棋盘的载入
4)棋盘状态的判定
2 系统框架
2.1系统的功能简介
主要功能是实现五子棋的人机对弈和人人对弈功能,能够改变棋盘的大小和外观。
2.2 总体程序框图
3 设计过程或程序代码
3.1 用类ChessFrame创建五子棋游戏主窗体和菜单
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.io.PrintStream;
import javax.swing.JComponent;
import javax.swing.JPanel;
class ChessFrame extends JFrame implements ActionListener {
private String[] strsize={标准棋盘,改进棋盘,扩大棋盘};
private String[] strmode={人机对战,人人对战};
public static boolean iscomputer=true,checkcomputer=true;
private int width,height;
private ChessModel cm;
private MainPanel mp;
3.2 构造五子棋游戏的主窗体
public ChessFrame() {
this.setTitle(五子棋游戏);
cm=new ChessModel(1);
mp=new MainPanel(cm);
Container con=this.getContentPane();
con.add(mp,Center);
this.setResizable(false);
this.addWindowListener(new ChessWindowEvent());
MapSize(14,14);
JMenuBar mbar = new JMenuBar();
this.setJMenuBar(mbar);
JMenu gameMenu = new JMenu(游戏);
mbar.add(makeMenu(gameMenu, new Obje
您可能关注的文档
- 拨叉零件的机械加工工艺规程及夹具设计.doc
- 多种液体混合机PLC综合实训项目技术报告星三角降压启动控制.doc
- 法兰盘零件的机械加工工艺规程及夹具设计.doc
- 法学专业毕业论文--流动人口子女受教育权.doc
- 工厂供电毕业设计.doc
- 管材矫直机的PLC控制系统设计设计说明书.doc
- 锅炉装置自动控制系统设计.doc
- 花店经营管理系统.doc
- 基于单片机的电子秒表设计说明书.doc
- 基于单片机的瓦斯报警系统设计报告.doc
- 北师大版心理健康一年级上册第十一课 我会说教案.docx
- 好故事是这样炼成的——统编语文八年级下册第六单元写作《学写故事》教学设计.docx
- 鲁教版九年级化学上册 2.1 运动的水分子(1) 教案.docx
- 体育运动与休闲教案17.docx
- 通用版体育三年级下册 爬越80-100厘米高的障碍物 教案.docx
- 1.1设置桌面背景(教案)-四年级上册信息技术 滇人版1.docx
- 人教版初中生物七年级上册1.2.2 生物与环境组成生态系统 教案(无答案).docx
- Unit 1 My school Read and write(教学设计)-2023-2024学年人教PEP版英语四年级下册.docx
- 我有靠谱小目标(教案)通用版心理健康教育六年级上册.docx
- 统编版2023-2024学年四年级下册语文第六单元 口语交际:朋友相处的秘诀 教案.docx
文档评论(0)