今天为大家继续分享泡泡堂小游戏的开发与制作 419,目前系统已经完成了初步功能,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步!!
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序,或者执行打开JAR文件即可以运行本程序
系统框架
利用JDK自带的SWING框架开发,不需要安装第三方JAR包。纯窗体模式,直接运行Main文件即可以。选中Main.java,点右键 run as application启动相关程序。也客户把程序打包成JAR包,双击JAR即可以启动相关的程序。
游戏主要功能
五子棋游戏简介
五子棋起源于中国,是全国智 竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。
游戏规则
(1)对局双方各执一色棋子。
(2)空棋盘开局。
(3)黑先、白后,交替下子,每次只能下一子。
(4)棋子下在棋盘的空白点上,棋子下定后不得移动或拿走。
(5)黑方的第一枚棋子必须下在天元点上,即中心交叉点
五子棋对局,执行黑方指定开局、三手可交换、五手两打的规定。整个对局过程中黑方有禁手,白方无禁手。黑方禁手有三三禁手、四四禁手和长连禁手三种。
游戏技巧
五子棋是胜负的艺术,下棋的技巧也就是如何才能获胜的技巧,五子棋也是双方对抗的比拼
需要攻中带守,守中有攻才是对弈时正确手段。根据当前下子位置获取该位置上的4条直线8个方向的与当前棋子同色的棋子连珠数量,如果不是同色棋就会返回包含当前位置在内的连珠数量。
实现效果
1 开始界面
2 下棋界面
3 游戏结束界面
4 悔棋界面
关键代码
public ChessBoard(){
setBackground(Color.orange);//设置背景色为橘黄色
img=Toolkit.getDefaultToolkit().getImage("board.jpg");
shadows=Toolkit.getDefaultToolkit().getImage("shadows.jpg");
addMouseListener(this);
addMouseMotionListener(new MouseMotionListener(){
public void mouseDragged(MouseEvent e){
}
public void mouseMoved(MouseEvent e){
//边距 网格间距
int x1=(e.getX()-MARGIN+GRID_SPAN/2)/GRID_SPAN;
//将鼠标点击的坐标位置转成网格索引
int y1=(e.getY()-MARGIN+GRID_SPAN/2)/GRID_SPAN;
//游戏已经结束不能下
//落在棋盘外不能下
//x,y位置已经有棋子存在,不能下
if(x1<0||x1>ROWS||y1<0||y1>COLS||gameOver||findChess(x1,y1))
setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
//设置成默认状态
else setCursor(new Cursor(Cursor.HAND_CURSOR));
}
});
}
项目总结
我在网上查询了许多与五子棋相关程序的相关资料,终于完成了五子棋游戏的设计。程序基本实现了该课程设计的基本要求。在设计的过程中了解到自己的知识还是比较有限,更肯定了自己再以后学习编程的道路上的坚定不移,同时也让我懂得组合作的重要性。但由于只学习了一个学期的Java 语言,自己水平有限,使得程序还是有些不完善的地方。回顾起此次开发和设计,至今我仍感慨颇多,的确,从拿到题目的开始,从理论到实践,在整整两个星期的日子里,可以说是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实践相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正掌握这门技术,也提高了自己的独立思考的能力。