资源简介
java swing 坦克大战,使用的技术集合框架,IO流,线程等java常用的基础知识
代码片段和文件信息
/**
*
*/
package fsj;
/**
* 五子棋计算类
* @author 扶沈娟
* @date 2016/01/15
*/
public class GobangCalc {
/**
* 当前棋子
*/
private MyJLabel curChess = null;
/**
* 棋盘
*/
private MyJLabel board[][] = null;
/**
* 定义X坐标为0
*/
int x = 0;
/**
* 定义Y坐标为0
*/
int y = 0;
/**
* 棋盘计算构造器
* @param jl
* @param board
*/
public GobangCalc(MyJLabel jlMyJLabel[][] board){
this.curChess = jl;
this.board = board;
x = jl.getArr_x();
y = jl.getArr_y();
}
/**
* 横向扫描,看是否有棋子连成一线
* @return 返回是否连成一线
*/
public boolean lineX(){
//定义计数器的初始值为0
int count = 0;
//从x坐标开始前4个和后4个的坐标循环
for(int i=x-4;i<=x+4;i++){
//如果计算范围还没有在棋盘范围之内,那么继续循环
if(i<0){
continue;
}
//如果计算范围超出棋盘,那么直接退出循环
if(i>=Gobangframe.BOARD_SIZE){
break;
}
//取出数组中的MyLable对象
MyJLabel jl = board[i][y];
//如果数组中取出的对象和正在下棋的对象中的flag值相等,那么就需要开始计数
if(jl.getFlag()==curChess.getFlag()){
count ++; //计数
//如果大于4,则返回true
if(count>4) {
return true;
}
}else{
count = 0;
//如果遇到不是和当前棋子对应的话,那么立即置为0
}
}
//否则返回false
return false;
}
/**
* 竖向扫描
* @return 返回是否连成一线
*/
public boolean lineY(){
//定义计数器的初始值为0
int count = 0;
//从y坐标开始前4个和后4个的坐标循环
for(int i=y-4;i<=y+4;i++){
//如果计算范围还没有在棋盘范围之内,那么继续循环
if(i<0) {
continue;
}
//如果计算范围超出棋盘,那么直接退出循环
if(i>=Gobangframe.BOARD_SIZE) {
break;
}
//取出数组中的MyLable对象
MyJLabel jl = board[x][i];
//如果数组中取出的对象和正在下棋的对象中的flag值相等,那么就需要开始计数
if(jl.getFlag()==curChess.getFlag()){
count ++;//计数
//返回计数器,如果大于4,说明连成一线
if(count>4) {
return true;
}
}else{
count = 0 ;
//如果遇到不是和当前棋子对应的话,那么立即置为0
}
}
//返回false
return false;
}
/**
* 左斜扫描
* @return 返回左斜是否连成一线
*/
public boolean lineLeft(){
//定义计数器的初始值为0
int count = 0;
//从X坐标开始前4个Y坐标前4个和Y坐标后4个的坐标循环并且X坐标的后4个坐标循环
for(int i=x-4j=y-4;i<=y+4 && j<=x+4;i++j++){
//如果还未到棋盘范围之内,那么继续循环
if(i<0 || j<0) {
continue;
}
//如果计算范围超出棋盘,那么直接退出循环
if(i>=Gobangframe.BOARD_SIZE || j>=Gobangframe.BOARD_SIZE){
break;
}
//取出数组中的MyLable对象
MyJLabel jl = board[i][j];
//如果数组中取出的对象和正在下棋的对象中的flag值相等,那么就需要开始计数
if(jl.getFlag()==curChess.getFlag()){
count ++; //计数
//返回计数器,如果大于4,说明连成一线
if(count>4) {
return true;
}
}else{
count = 0;
//如果遇到不是和当前棋子对应的话,那么立即置为0
}
}
//返回false
return false;
}
/**
* 右斜扫描
* @return 返回右斜是否连成一线
*/
public boolean lineRight(){
//定义计数器的初始值为0
int count = 0;
//从Y坐标开始前4个X坐标后4个和Y坐标后4个坐标的循环并且X坐标的开始前4个坐标循环
for(int i=y-4j=x+4;i<=y+4 && j>=x-4;i++j--){
//如果还未到棋盘范围之内,那么继续循环
if(i<0 || j<0) {
continue;
}
//如果计算范围超出棋盘,那么直接退出循环
if(i>=Gobangframe.BOARD_SIZE || j>=Gobangframe.BOARD_SIZE){
break;
}
//取出数组中的MyLable对象
MyJLabel jl = boar
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 355 2016-01-22 13:47 game\.classpath
文件 854 2016-02-05 17:34 game\.myeclipse\profiler\Denglu(2).xm
文件 380 2016-01-14 08:34 game\.project
文件 629 2016-01-14 08:34 game\.settings\org.eclipse.jdt.core.prefs
文件 105363 2016-01-07 14:56 game\lib\jl1.0.1.jar
文件 4407 2016-01-26 16:16 game\src\fsj\GobangCalc.java
文件 5364 2016-01-27 10:04 game\src\fsj\Gobangfr
文件 2149 2016-01-26 16:33 game\src\fsj\image\bai.png
文件 86848 2016-01-26 16:33 game\src\fsj\image\blue.png
文件 27770 2016-01-26 16:33 game\src\fsj\image\exit1.png
文件 1811 2016-01-26 16:33 game\src\fsj\image\hei.png
文件 27702 2016-01-26 16:33 game\src\fsj\image\help1.png
文件 158946 2016-01-26 16:33 game\src\fsj\image\xiaqi.gif
文件 75322 2016-01-26 16:33 game\src\fsj\image\五子棋的棋盘.png
文件 1165 2016-01-26 18:59 game\src\fsj\Myfr
文件 1057 2016-01-26 16:17 game\src\fsj\MyJLabel.java
文件 2563 2016-01-30 09:43 game\src\fsj\RightJpanel.java
文件 249 2016-01-26 16:52 game\src\fsj\StartTheGame.java
文件 970 2016-01-26 16:31 game\src\fsj\Tools.java
文件 4216 2016-01-30 09:02 game\src\gamehome\Denglu.java
文件 5505 2016-01-26 21:18 game\src\gamehome\GameHomefr
文件 840 2016-01-27 15:15 game\src\gamehome\GameHomeImage.java
文件 559 2016-01-26 14:35 game\src\gamehome\User.java
文件 7856 2016-02-23 10:40 game\src\gamehome\Zhuce.java
文件 2112 2016-01-26 15:41 game\src\image\01.PNG
文件 27798 2016-01-26 15:41 game\src\image\010.PNG
文件 62380 2016-01-26 15:41 game\src\image\011.PNG
文件 43946 2016-01-26 15:41 game\src\image\012.PNG
文件 36611 2016-01-26 15:41 game\src\image\013.PNG
文件 10029 2016-01-26 15:41 game\src\image\014.PNG
............此处省略225个文件信息
相关资源
- 基于Java的物业管理系统
- Java实现网路爬虫爬取新闻信息
- 基于Java的电话号码查询系统—毕业设
- java实现springboot开发微信公众号
- java爬虫需要的jar包
- Java Web宠物诊所
- 基于Java ssh框架的排课系统
- autoCode java 项目代码 自动生成
- java源码实现cmpp2.0协议
- 微课平台系统.
- Jsp+Servlet+JDBC新闻发布系统2.1
- SSM+websocket+freemarker+mybatis分页插件+多
- 疯狂java讲义第三版 光盘内容包含课件
- 订单管理系统Java swing poi
- Java Programming 9th Edition
- Professional Java EE Design Patterns
- JAVA开发某燃气公司气体管理系统
- 毕业设计-Struts2+Hibernate4.2+Spring3的学生
- 毕业设计-Struts2+Hibernate4.2+Spring3的健身
- 毕业设计-Struts2+Hibernate4.2+Spring3的SS
- 尚硅谷佟刚JavaWeb基础视频教程课件
- 架构师路线和java8.rar
- 韩顺平.循序渐进学.java.从入门到精通
- java+ssh+SQL+bootstrap网上订餐系统全套源
- selenium-java-2.44.0.jar包
- 博客系统javaWeb开发
- openstack rest api 调用
- Apache commons API(整套全版
- Java实现飞行棋源码
- FFmpegCommandHandler
评论
共有 条评论