JAVA课设---五子棋
1.团队博客链接
JAVA课设-五子棋-团队博客
2.个人负责模块:
①对鼠标事件的处理 , 此模块需处理五子棋的放置问题、颜色转换问题、以及当五子连线时弹出窗口显示结果。
②对MainFrame中主函数的编写。
③将代码打包为jar包并转为EXE软件。
④对小组任务的分配及汇总。
3.关键代码截图:
1.Frame
此为MainFrame中主函数部分,将窗体和背景写出来了,并对棋盘位置设置为窗口中心;
2.Mouse
此为鼠标事件的主要部分,对黑白祺的转换、输赢的判断;
int chess_x = Math.round((float)(click_x-20)/gap);
int chess_y = Math.round((float)(click_y-20)/gap); //Math.round是四舍五入函数,这是对棋子放置范围进行四舍五入规划
if((isBlack==true&&Chess[chess_x][chess_y]=='0' && flag == false )||(flag == true &&isBlack==false&&Chess[chess_x][chess_y]=='0')){
//放置棋子成功,并且为黑棋,下一步颜色转换为白棋
Chess[chess_x][chess_y] = '2';
isBlack = false;//换为白子
flag = false;
}
if((isBlack==false&&Chess[chess_x][chess_y]=='0'&& flag == false ) || ( flag == true &&isBlack==true &&Chess[chess_x][chess_y]=='0')){
//放置棋子成功,并且为白棋,下一步颜色转换为黑棋
Chess[chess_x][chess_y] = '1';
isBlack = true;//换为黑子
flag = false;
}
repaint(); //重新绘制,记录之前放置的棋子,类似刷新棋盘
if(isWin(chess_x,chess_y,isBlack)){ //根据isBlack弹出JOptionPane窗口告知输赢
if(isBlack){
JOptionPane.showMessageDialog(null,"白子赢了");
//当此时未放置棋子颜色为黑子,但白棋已满足isWin函数,故弹出窗口显示白棋赢
}else{
JOptionPane.showMessageDialog(null,"黑子赢了");
//当此时未放置棋子颜色为白子,但黑棋已满足isWin函数,故弹出窗口显示黑棋赢
}
3.jar--->exe
以上是对exe4j软件的应用,将jar包转换为exe文件的过程及实现。
4.个人码云截图
JAVA课设---五子棋的更多相关文章
- java课设 五子棋代码编写(团队)
1. 团队课程设计博客链接 http://www.cnblogs.com/yzb123/p/7063424.html 2.个人责模块或任务说明 1.主函数编写,设置图形界面 2,设置功能按钮 3.使用 ...
- JAVA课设--五子棋--团队博客
1 团队名称.团队成员介绍 徐璐琳 网络1511班 201521123010 祁泽文 网络1511班 201521123011 张晨晨 网络1511班 201521123009 2 项目git地址 团 ...
- JAVA课设个人博客--多源数据教学管理系统
JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块 ...
- java课设数据库打包报错
最近在交java课设时把东西打包给老师遇到许多奇葩问题, 首先是数据库复制时提示: 这是数据库与SQL server服务没有分离(我用的是SQLserver暂时,对于其他的,我以后会继续尝试)可以进行 ...
- 2018-2019学年第一学期Java课设--魔塔
目录 Magic-Towers 一.团队名称.团队成员介绍.任务分配 团队名称:MoTa 团队成员介绍 任务分配 二.项目简介 三.项目采用技术 四.项目亮点 主界面显示主要信息功能 游戏动画 五.项 ...
- JAVA课设——中药古籍《太平圣惠方》数据处理与分析系统
一.配置JAVA环境 本次课设是在Windows 10(64bit)平台上实现的,所以首先得配置下JAVA环境. 步骤一:先下载一个JDK(1.7)安装包,安装好JDK: 步骤二:JDK环境配置(由于 ...
- Java课设--俄罗斯方块Tetris
Java程序设计课程作业报告 作业:俄罗斯方块游戏 姓名 赵璐媛 学号 程序得分 90% 作业报告 得分10% 实验总分 100% 作业目的: 掌握基本的图形程序设计方法 掌握Java事件处理程序编写 ...
- Java课设(学生信息管理系统)
1.团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模板或任务说明 设计登陆界面和学生信息界面的设计,学生信息的显示.退出等功 ...
- JAVA课设 学生基本信息管理 团队博客
1.成员 邹其元 网络1512 201521123060 杨钧宇 网络1512 201521123062 2.项目Git地址 团队项目码云地址 //添加截图 3. 项目git提交记录截图(要体现出每个 ...
随机推荐
- PyV8
待完善 pyv8是个js解析引擎, PyV8 是 V8 引擎的 Python 语言封装,这是 Python 和 JavaScript 对象之间的桥,支持在 Python 脚本中调用 V8 引擎. # ...
- Adaboost、RandomFrest、GBRT的区别
Adaboost.RandomFrest.GBRT都是基于决策树的组合算法 Adaboost是通过迭代地学习每一个基分类器,每次迭代中,把上一次错分类的数据权值增大,正确分类的数据权值减小,然后将基分 ...
- redis(1)
什么是nosql 非关系型数据库 为什么要用nosql web2.0大规模动态网站的兴起 high performance ,高并发读写,动态页面展示与交互,比如微博点赞评论等操作,实时统计在线人数排 ...
- python----------装饰器应用练习
1.编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码注意:从文件中读出字符串形式的字典,可以用eval('{"name& ...
- 教程:基于访问控制的ABAP CDS视图权限
Hi! 对每一个CDS视图,我们都可以通过DCL(Data Control Language)定义访问控制.在这篇文章中,我会介绍ABAP CDS视图中非常重要的一面:权限管理. 本文的阐述基于我正在 ...
- 【Zookeeper】3.4.9 基本配置
[hadoop@master1 ~]$ cat zookeeper/conf/zoo.cfg # The number of milliseconds of each tick 每个心跳的时长 单位为 ...
- openstack配置
参考林海峰老师的配置教程 http://blog.51cto.com/9161406/1839667
- IP地址 子网掩码 默认网关 DNS(转)
突然被问到IP地址方面的知识,吓得我赶紧上网找一找资料,觉得这篇还是写得简单易懂,share一下. Key: 1.IP地址=网络地址+主机地址,(又称:主机号和网络号组成): 2.将IP地址和子网掩码 ...
- 【前端】react学习阶段总结,学习react、react-router与redux的这些事儿
前言 借用阮一峰的一句话:真正学会 React 是一个漫长的过程. 这句话在我接触react深入以后,更有感触了.整个react体系都是全新的,最初做简单的应用,仅仅使用react-tools打包js ...
- Struts2.5 利用Ajax将json数据传值到JSP
AJAX +JSON=>JSP AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着 ...