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. 如何使用python来模拟鼠标点击(将通过实例自动化模拟在360浏览器中自动搜索"python")

    一.准备工作: 安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作. pywin32的具体安装及注意事项: 1.整体开发环境: 基于windows7操作系 ...

  2. Vim命令快捷键(网摘)

    Vim命令快捷键(网摘) 原文出处:[?---->home]

  3. leetcode First Bad Version(二分查找)

    You are a product manager and currently leading a team to develop a new product. Unfortunately, the ...

  4. Fiddler获取https会话

    默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler  Tools--->Fiddler Options--->HTTPS 选项  选中checkbox,如上图 ...

  5. PHP 常见工厂设计模式

    一.工厂模式 是一种类,它具有为您创建对象的某些方法.您可以使用工厂类创建对象,而不直接使用 new.这样,如果您想要更改所创建的对象类型,只需更改该工厂即可.使用该工厂的所有代码会自动更改. 下面代 ...

  6. cat命令汇总整理

    Cat命令:一般用作打开文件,查看文件内容(可以一次查看多个文件),参数有如下几个: -a 或 –all,显示全部 -b 或--number-nonblank 对非空输出行编号 -n 或 --numb ...

  7. 直播协议 HTTP-FLV 详解

    传统的直播协议要么使用 Adobe 的基于 TCP 的 RTMP 协议,要么使用 Apple 的基于 HTTP 的 HLS 协议. 今天我要向大家介绍另外一种结合了 RTMP 的低延时,以及可以复用现 ...

  8. CORS跨域资源共享你该知道的事儿

    "唠嗑之前,一些客套话" CORS跨域资源共享,这个话题大家一定不陌生了,吃久了大转转公众号的深度技术好文,也该吃点儿小米粥溜溜胃里的缝儿了,今天咱们就再好好屡屡CORS跨域资源共 ...

  9. fis3+vue+pdf.js制作预览PDF文件或其他

    人生第一篇博客,的确有点紧张,但有些许兴奋,因为这对于我来说应该是一个好的开始,以此励志在技术的道路上越走越远. 看过了多多少少的技术博客,给自己带来了很多技术上的收获,也因此在想什么时候自己也可以赠 ...

  10. redux源码解读

    react在做大型项目的时候,前端的数据一般会越来越复杂,状态的变化难以跟踪.无法预测,而redux可以很好的结合react使用,保证数据的单向流动,可以很好的管理整个项目的状态,但是具体来说,下面是 ...