java五子棋游戏源代码+流程图+棋盘算法 第3页
第二章 需求分析
2.1五子棋发展史
五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思文能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。
对于五子棋与围棋的关系有两种说法,一说早于围棋,早在“尧造围棋”之前,民间就已有五子棋游戏;一说源于围棋,是围棋发展的一个分支。在中国的文化里,倍受人们的青睐。古代的五子棋的棋具与围棋相同,纵横各十七道。五子棋大约随围棋一起在我国南北朝时先后传入朝鲜、日本等地。
2.2五子棋功能说明
2.2.1五子棋特点及规则
五子棋的娱乐性强、规则简单、易学、流行性广,普通人不需长时间专门训练即可自如行棋,因此极受大众喜欢•
五子棋规则为:
1.棋盘:采用像围棋盘一样的棋盘,本系统采用18路的棋盘•
2.下法:两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子,无子的交叉点又被称为空点•
3.输赢判断:黑、白双方有一方的五个棋子在横、竖或斜方向上连接成一线即为该方赢•
2.2.2操作界面需求
操作界面如下图(1)所示,游戏画面简单易懂:
图(1)
2.2.3程序流程
2.2.3主要模块分析
我们看到本程序由4个基本功能模块构成,各模块的详细分析如下:
1.初始化FiveChessFrame类
过imagePath = System.getProperty("user.dir")+"/bin/image/background.jpg" ;
bgImage = ImageIO.read(new File(imagePath.replaceAll("
\\\\", "/")));加载背景图片,然后再背景图上通过:paint方法中的for (int i = 0; i < 18; i++) { g2.drawLine(258, 102 + 30 * i, 767, 102 + 30 * i);
g2.drawLine(258 + 30 * i, 102, 258 + 30 * i, 612);
}语句绘制一个18*18的网格棋盘,每次下棋后通过调用repaint方法来初始化程序。
2.通过public void mousePressed(MouseEvent e)这个主方法中的isBlack变量值来判断当前应该哪一方开始下棋。
3.若是白子,则通过allChess[][]这个二文数组的值为1来定义该子,若是黑子,则通过allChess[][]数组的值为2来定义该子,若为0,则为空。4.通过checkWin()方法来判定当前方是否已练成5个同颜色的棋子。若同时有了5个同颜色的连子(不论是竖直,水平还是斜方向的)则判定该方获胜。
第三章 设计分析
3.1重点模块分析:辣~文-论'文:网
http://www.751com.cn本程序最重要的就是能够自动判定黑白两方各个方向上的棋子是否连成了五个相同颜色的棋子,怎么做到这点呢?这个要通过private int checkCount(int xChange, int yChange, int color)方法来判定,然后通过private boolean checkWin()方法判定获胜方(具体方法后边会写出,供读者了解分析)。其次本程序关键的一点就是可以模拟游戏中的按钮来自定义游戏的时间,从而增加本游戏的可控性,智能性,同时增强游戏玩家的趣味性和刺激性。
3.2 设计流程:
因为本程序用Eclipse开发,如图(2):
图(2)
在Eclipse中建立了两个类,一个是有主方法的test主类,另一个是程序的主窗体FiveChessFrame类,同时为了方便管理和应用两个类都分别打包了,具体见后面。
第四章 代码设计
4.1 主类Test:
package org.guoguo.game.test;
import org.guoguo.game.frame.FiveChessFrame;
public class Test {
上一页 [1] [2] [3] [4] [5] 下一页
java五子棋游戏源代码+流程图+棋盘算法 第3页下载如图片无法显示或论文不完整,请联系qq752018766