java cell报错_青蛙过河java的一部分代码,有错误,跪求大神帮忙改正,红线都是错误的,不会改...

import java.awt.Color;

99530587f2eb272132431ceb0cfd311a.png

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

//import java.io.IOException;

//import javax.imageio.ImageIO;

import javax.swing.*;

public class frogPanel extends JPanel implements MouseListener{

private frogCell[]  cells;//动物方块数组

private frogCell cellBlank=null;//空白方格

private Image image;//河流背景图片

public frogPanel(){//构造方法

super();

setLayout(null);//设置空布局

try{

image=ImageIO.read(new File("pic\\game.jpg"));

}catch(IOException e){

e.printStackTrace();

}

setOpaque(false);//设置为透明

//init (6);

}

public void init(int n){

if(cells!=null)

this.removeAll();

cells=new frogCell[n+1];//创建动物方块数组

int i=0;

Icon icon=null;//动物图标

frogCell cell=null;

for(i=0;i

if(i

icon=new ImageIcon("pic\\frog_R.png");//获取动物图标

cell=new frogCell(icon,false);//实例化动物方块对象

//cell.setLeft(false);

}

if(i==(int)cells.length/2){

icon=new ImageIcon("pic\\blank.jpg");

cell=new frogCell(icon,false);//实例化动物方块对象

cell.setBackground(Color.BLACK);

cell.setVisible(true);

cell.setBlank(true);

}

if(i>cells.length/2){//右边青蛙

icon =new ImageIcon("pic\\frog_L.png");

cell=new frogCell(icon,true);

//cell.setLeft(true);

}

cell.setLocation(i*frogCell.IMAGEWIDTH,100);//设置坐标

cells[i]=cell;//将动物方块存储到动物方块数组中

}

for(i=0;i

this.add(cells[i]);//向面板中添加所有动物方块

cells[i].addMouseListener(this);

}

}

public boolean isOver(){

for(int i=0;i

if(i

if(!cells[i].isLeft()) return false;

}

if(i==(int)(cells.length/2)){

if(!cells[i].isBlank()) return false;

}

if(i>cells.length/2){

if(cells[i].isLeft()) return false;

}

}

return true;

}

public void modeClicked(MouseEvent e){

int i;

for(i=0;i

if(cells[i]==e.getSource())

break;

}

if(cells[i].isBlank()) return;

if(cells[i].isLeft()&&cells[i-1].isBlank()){

Icon icon =null;//动物图标

icon=cells[i].getIcon();

cells[i].setIcon(cells[i-1].getIcon());

cells[i-1].setIcon(icon);

cells[i].setBlank(true);//标记此动物方块为空白图标

cells[i-1].setBlank(false);//标记此动物方块为非空白图标

cells[i-1].setLeft(true);//标记此动物方块为向左图标

if(isOver())

JOptionPane.showMessageDialog(null,"成功","提示",JOptionPane.OK_OPTION);

}else if(cells[i].isLeft()&&!cells[i-1].isBlank()&&cells[i-2].isBlank()){

Icon icon =null;

icon=cells[i].getIcon();

cells[i].setIcon(cells[i-2].getIcon());

cells[i-2].setIcon(icon);

cells[i].setBlank(true);//标记此方块为空白图标

cells[i-2].setBlank(false);//标记此方块为非空白图标

cells[i-2].setLeft(true);//标记此方块为向左图标

if(isOver())

JOptionPane.showMessageDialog(null,"成功","提示",JOptionPane.OK_OPTION);

}else//向右的青蛙方块

if(!cells[i].isLeft()&&cells[i+1].isBlank()){

Icon icon=null;

icon=cells[i].getIcon();

cells[i].setIcon(cells[i+1].getIcon());

cells[i+1].setIcon(icon);

cells[i].setBlank(true);//标记此动物方块为空白图标

cells[i+1].setBlank(false);//标记此动物方块为非空白图标

cells[i+1].setLeft(false);//标记此动物方块为向右图标

if(isOver())

JOptionPane.showMessageDialog(null,"成功","提示",JOptionPane.OK_OPTION);

}else

if(!cells[i].isLeft()&&!cells[i+1].isBlank()&&cells[i+2].isBlank()){

Icon icon=null;

icon=cells[i].getIcon();

cells[i].setIcon(cells[i+2].getIcon());

cells[i+2].setIcon(icon);

cells[i].setBlank(true);//标记此动物方块为空白图标

cells[i+2].setBlank(false);//标记此动物方块为非空白图标

cells[i+2].setLeft(false);//标记此动物方块为向右图标

if(isOver())

JOptionPane.showMessageDialog(null,"成功","提示",JOptionPane.OK_OPTION);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值