java 编写的带人机对战、人人对战功能五子棋程序 功能非常齐全 下载即可以运行

今天为大家继续分享泡泡堂小游戏的开发与制作 421,目前系统已经完成了初步功能,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步!!

开发环境 

  开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序,或者执行打开JAR文件即可以运行本程序

系统框架

  利用JDK自带的SWING框架开发,不需要安装第三方JAR包。纯窗体模式,直接运行Main文件即可以。选中Main.java,点右键 run as application启动相关程序。也客户把程序打包成JAR包,双击JAR即可以启动相关的程序。

游戏主要功能

    五子棋游戏简介

五子棋起源于中国,是全国智 竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。

    游戏规则

(1)对局双方各执一色棋子。

(2)空棋盘开局。

(3)黑先、白后,交替下子,每次只能下一子。

(4)棋子下在棋盘的空白点上,棋子下定后不得移动或拿走。

(5)黑方的第一枚棋子必须下在天元点上,即中心交叉点

五子棋对局,执行黑方指定开局、三手可交换、五手两打的规定。整个对局过程中黑方有禁手,白方无禁手。黑方禁手有三三禁手、四四禁手和长连禁手三种。

   人机对战功能 

      本程序的最大特色是有人对战功能,其中人为黑方,机器和白方。机器有较高的AI水平,能打败90%以上的用户。人下完一颗棋后,机器能在1秒时间完成下棋。游戏结束后,系统会给出相关的提示,并且恭喜获胜选手。

运行效果

1 程序启动界面

2  程序主界面

3 人机对战

 

核心代码

public void paint(Graphics g) {
		super.paint(g);//画出白框
		//添加背景图片
		g.drawImage(CHESSBOARD, 0, 0,this.getWidth(), this.getHeight(), this);
		
		//重绘出棋盘
		g.setColor(Color.black);
		for(int i=0;i<ROW;i++) {
			g.drawLine(X, Y+SIZE*i, X+SIZE*(COLUMN-1), Y+SIZE*i);
		}
		for(int j=0;j<COLUMN;j++) {
			g.drawLine(X+SIZE*j, Y, X+SIZE*j, Y+SIZE*(ROW-1));
		}
		
		//重绘出棋子
		for(int i=0;i<ROW;i++) {
			for(int j=0;j<COLUMN;j++) {
				if(isAvail[i][j]==1) {
					int countx=SIZE*j+SIZE/2;
					int county=SIZE*i+SIZE/2;
					g.drawImage(BLACKCHESS,countx-SIZE+X, county-SIZE/2, SIZE, SIZE,null);
				}
				else if(isAvail[i][j]==2) {
					int countx=SIZE*j+SIZE/2;
					int county=SIZE*i+SIZE/2;
					g.drawImage(WHITECHESS,countx-SIZE+X, county-SIZE/2, SIZE, SIZE,null);
				}
			}
		}
	}

猜你喜欢

转载自blog.csdn.net/bangxiecode/article/details/129892440