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的连子来判断哪种颜色棋子是否胜出

•课程设计感想

课设是检验知识转变成代码的能力的有效方式,通过这次课设我深刻发现自己诸多方面的不足,代码熟练程度,语法掌握程度,问题解决能力等等都需要不断加强。在队友的共同努力和老师指导帮助下完成了这次课设,收获也是不少,学到了许多课上没有的东西,锻炼了合作完成项目的能力。总体来说还是一次宝贵的经验。

Java课程设计 ————五子棋 (个人博客)的更多相关文章

  1. JAVA课程设计+购物车 个人博客

    1. 团队课程设计博客链接 2.个人负责模块或任务说明 将数据库中已经存在的商品取出,用表格显示到页面中. 实现在商品页面的购买,直接弹出消息框,输出价格,实现购买. 实现在商品页面进行添加购物车,并 ...

  2. Java课程设计——计算器团队博客

    1.团队名称.团队成员介绍(需要有照片) 1.1团队名称 707 1.2团队成员介绍 谢元将:组长 罗登宇:组员 王华俊:组员 2. 项目git地址 谢元将 罗登宇 王华俊 3. 项目git提交记录截 ...

  3. JAVA课程设计-----加减法测试博客

    1.团队成员介绍(一个人做的) 谢季努:网络1513 201521123079 2.项目git地址 3.项目git提交截图 4.项目运行截图 输入答案后点击确认就会出现本次的得分 如果觉得成绩不理想点 ...

  4. JAVA课程设计+五子棋(团队博客)

    JAVA课程设计 利用所学习的JAVA知识设计一个五子棋小游戏 1.团队名称.团队成员介绍(菜鸟三人组) 杨泽斌[组长]:201521123049 网络1512 叶文柠[组员]:20152112305 ...

  5. JAVA课程设计+五子棋(个人博客)

    1.团队博客地址: http://www.cnblogs.com/yzb123/p/7063424.html 2.个人负责模块或任务说明 游戏初始化,清除棋盘上的棋子 鼠标监听器 棋子落棋 判断胜负 ...

  6. JAVA课程设计+五子棋游戏

    1. 团队课程设计博客链接 http://www.cnblogs.com/yzb123/p/7063424.html 2. 个人负责模块或任务说明 1.在同伴构建好初始框图的情况下,编写一个继承JPa ...

  7. JAVA课设--五子棋--团队博客

    1 团队名称.团队成员介绍 徐璐琳 网络1511班 201521123010 祁泽文 网络1511班 201521123011 张晨晨 网络1511班 201521123009 2 项目git地址 团 ...

  8. JAVA课程设计--------五子棋

    1.团队课程设计博客链接 http://www.cnblogs.com/mz201521044152/p/7065575.html 2.个人负责模块或任务说明 1.重新开始:写一个restartgam ...

  9. java课程设计——算术运算测试个人博客

    1.团队课程设计链接 团队博客:http://www.cnblogs.com/yytx/p/7064790.html 2.个人负责模块 有关排行榜的界面设计和代码编写 3.自己的代码提交记录截图 4. ...

随机推荐

  1. 利用CSS简单布局的不同组合类型

    关于CSS布局页面的简单组合方式: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  2. Razor Page–Asp.Net Core 2.0新功能

    Razor Page介绍 前言 上周期待已久的Asp.Net Core 2.0提前发布了,一下子Net圈热闹了起来,2.0带来了很多新的特性和新的功能,其中Razor Page引起我的关注,作为web ...

  3. shell的简单批量curl接口脚本

    shell脚本可以说作用非常大,在服务器领域,用shell操作事务可比手动点击要方便快捷得多了.虽然只是文字界面,但是其强大的处理功能,会让各种操作超乎想象.而且,也可以将这些习惯移植到日常的工作当中 ...

  4. Struts2使用自定义拦截器导致Action注入参数丢失、url参数

    写struts2项目时发现前台超链接中的参数无法传到action, 所有带有传递参数的均无法正常使用了,在Action中所有的参数无法被注入. 后来经过debug发现其中的页面都要先经过拦截器,而后再 ...

  5. [2012-06-18]awk利用关联数组合并记录

    问题源起:http://bbs.chinaunix.net/thread-3753784-1-1.html 代码如下 {% capture text %} $awk '{if(!a[$1]){a[$1 ...

  6. 我的前端故事----关于redux的一些思考

    背景 我一个前端,今年第一份工作就是接手一个 APP 的开发...一个线下 BD 人员用的推广 APP,为了让我这个一天原生开发都没有学过的人能快速开发上线,于是乎就选择了 react-native ...

  7. Spark 1.6升级2.x防踩坑指南

    原创文章,谢绝转载 Spark 2.x自2.0.0发布到目前的2.2.0已经有一年多的时间了,2.x宣称有诸多的性能改进,相信不少使用Spark的同学还停留在1.6.x或者更低的版本上,没有升级到2. ...

  8. Ibatis XML 配置文件注释引起错误及解决方案

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp35 Ibatis XML 配置文件注释引起错误及解决方案 最近在使用Iba ...

  9. Day-10: 错误、调试和测试

    程序运行时,会遇到各种各样的错误. 编写错误叫做bug,而另一类由于运行过程中无法预测的,比如写文件时,磁盘满了,写不进去:或者从网络抓取数据,网络突然掉了.这些错误称为异常,程序中需要对异常进行处理 ...

  10. SGI STL内存配置器存在内存泄漏吗?

    阅读了SGI的源码后对STL很是膜拜,很高质量的源码,从中学到了很多.温故而知新!下文中所有STL如无特殊说明均指SGI版本实现. STL 内存配置器 STL对内存管理最核心部分我觉得是其将C++对象 ...