• 大小: 15.64MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-07
  • 语言: Java
  • 标签: java  swing  坦克大战  

资源简介

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).xml

     文件        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\Gobangframe.java

     文件       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\Myframe.java

     文件       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\GameHomeframe.java

     文件        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个文件信息

评论

共有 条评论