JAVA课程设计
五子棋(博客个人版)
•团队课程设计博客链接
http://www.cnblogs.com/mz201521044152/p/7065575.html
•个人负责模块或任务说明
1.主框架类:设置棋盘窗体,颜色等
2.isWin方法:判断胜负
•自己的代码提交记录截图
•自己负责模块或任务详细说明
主框架类:
package FiveChess;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JFrame;
public class Form2 extends JFrame {
public static void main(String[] args) {
Form1 panel = new Form1();
Form2 frame = new Form2("五子棋");// 题目
frame.setSize(800, 700);// 窗体的长宽
frame.setLocationRelativeTo(null);// 窗体位置居中
panel.setBackground(new Color(209, 167, 78));// 背景颜色
frame.add(panel, BorderLayout.CENTER);// 布局管理器
panel.addMouseListener(panel);// 鼠标监听器
frame.setVisible(true);
}
设置棋盘窗体,背景颜色,添加鼠标监听等
IsWin方法:
//判断输赢
public boolean isWin(int x,int y,boolean isColor){
char CH=Chess[x][y];
//向左找到连子的起点
int L = x;
while(L>=0 && Chess[L][y]==CH){
L --;
}
int LNum = 0;//统计横向连子数
L ++;
while(L<Chess.length && Chess[L][y]==CH){
LNum ++;
L ++;
}
// 向下找到连子起点
int R = y;
while(R>=0 && Chess[x][R]==CH){
R --;
}
int RNum = 0;//统计纵向连子数
R ++;
while(R<Chess[x].length && Chess[x][R]==CH){
R ++;
RNum ++;
}
// 左下右上判断
int LDX = x;
int RUY = y;
while(LDX>=0 && RUY<Chess.length && Chess[LDX][RUY]==CH){
LDX --;
RUY ++;
}
int LDNum = 0;
LDX ++;
RUY --;
while(LDX<Chess.length && RUY>=0 && Chess[LDX][RUY]==CH){
LDNum ++;
LDX ++;
RUY --;
}
//左上右下判断
int RUX = x;
int LDY = y;
while(RUX>=0 && LDY>=0 && Chess[RUX][LDY]==CH){
RUX --;
LDY --;
}
int RUNum = 0;
RUX ++;
LDY ++;
while(RUX>=0 && LDY<Chess.length && Chess[RUX][LDY]==CH){
RUX ++;
LDY ++;
RUNum ++;
}
if(RNum>=5||LNum>=5||RUNum>=5||LDNum>=5){
return true;
}
return false;
}
通过找到同色连子并统计连子数查找是否存等于5的连子来判断哪种颜色棋子是否胜出
•课程设计感想
课设是检验知识转变成代码的能力的有效方式,通过这次课设我深刻发现自己诸多方面的不足,代码熟练程度,语法掌握程度,问题解决能力等等都需要不断加强。在队友的共同努力和老师指导帮助下完成了这次课设,收获也是不少,学到了许多课上没有的东西,锻炼了合作完成项目的能力。总体来说还是一次宝贵的经验。