Java写了一个小游戏,但是用了键盘监听器按键没反应,请大神们帮忙看看

Daying__16 2017-10-09 02:38:59
package RGP走迷宫;
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
public class MyPanel extends JPanel implements KeyListener,MouseMotionListener{
private static final long serialVersionUID=1L;
private static final int CHANG=480;
private static final int KUAN=480;
private static final int HANG=15;
private static final int LIE=15;
private static final int XIANGSU=32;
private static final int ZUO=0;
private static final int YOU=1;
private static final int SHANG=2;
private static final int XIA=3;
private static final int GUANQIA=2;
private static int grade;
private static int map[][][]= {..
private Image DIImage,DI11Image,DI12Image,DI13Image,DI14Image,DI21Image,DI22Image,
DI23Image,DI24Image,DI31Image,DI32Image,DI33Image,DI34Image,DI41Image,DI42Image;
private Image QIANGImage;
private Image RENImage;
private Image CHUImage;
private Image NEIImage;
private int x,y;
private int count;
private Thread xian;
private int FANG;
public MyPanel() {
setPreferredSize(new Dimension(CHANG,KUAN));
loadImage();
FANG=XIA;
x=1;
y=1;
grade=1;
count=0;
setFocusable(true);
addKeyListener(this);
xian=new Thread(new AnimationThread());
xian.start();
this.addKeyListener(this);
}
public void paintComponent(Graphics g) {..
private void RENWU(Graphics g) {..
private void loadImage() {..
private void DITU(Graphics g) {..
public void NEXT() {..
private void DUIHUA(String str) {..
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_UP) YIDONG(SHANG);
if(e.getKeyCode()==KeyEvent.VK_DOWN) YIDONG(XIA);
if(e.getKeyCode()==KeyEvent.VK_LEFT) YIDONG(ZUO);
if(e.getKeyCode()==KeyEvent.VK_RIGHT) YIDONG(YOU);
repaint();
if(map[grade-1][x][y]==2) {
if(grade==GUANQIA) {
String str="恭喜通过第"+grade+"关!\n是否进入下一关?";
int type=JOptionPane.YES_NO_OPTION;
int i=0;
i=JOptionPane.showConfirmDialog(null, str,"过关",type);
if(i==1) System.exit(0);
else if(i==0) NEXT();
}
}
}
private boolean GUIZE(int x,int y) {..
private void YIDONG (int event) {..
private class AnimationThread extends Thread{..
public void keyReleased(KeyEvent e) {..
public void keyTyped(KeyEvent e) {..
public void mouseDragged(MouseEvent arg0) {..
public void mouseMoved(MouseEvent arg0) {..
public static void main(String[] args) {
JFrame mi = new JFrame();
mi.setTitle("RGP走迷宫");
mi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ) ;
mi.setVisible(true);
MyPanel panel=new MyPanel();
Container contentPane=mi.getContentPane();
contentPane.add(panel);
panel.setFocusable(true);
mi.pack();
}
}
...全文
572 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
110成成 2017-10-10
  • 打赏
  • 举报
回复
mi.pack();
之后 加上
panel.requestFocus();
因为JPanel需要获取焦点,才能监听键盘事件
geezer_c 2017-10-09
  • 打赏
  • 举报
回复
帮顶一下吧!!!
码农高射炮 2017-10-09
  • 打赏
  • 举报
回复
我只是个Java小白,求大神们放过
李德胜1995 2017-10-09
  • 打赏
  • 举报
回复
好牛逼。。。。
Daying__16 2017-10-09
  • 打赏
  • 举报
回复
引用 2 楼 scqlmm 的回复:
全部代码拿出来
package RGP走迷宫; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; public class MyPanel extends JPanel implements KeyListener,MouseMotionListener{ private static final long serialVersionUID=1L; private static final int CHANG=480; private static final int KUAN=480; private static final int HANG=15; private static final int LIE=15; private static final int XIANGSU=32; private static final int ZUO=0; private static final int YOU=1; private static final int SHANG=2; private static final int XIA=3; private static final int GUANQIA=2; private static int grade; private static int map[][][]= {{ {39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,}, {39,31,12,19,11,41,12,19,11,41,12,19,31,12,39,}, {39,19,42,19,42,19,42,19,42,19,42,19,19,42,39,}, {39,19,42,19,42,19,42,19,42,19,42,19,19,42,39,}, {39,19,42,19,42,19,42,19,42,19,42,19,19,42,39,}, {39,19,14,41,13,19,42,19,42,19,42,19,19,42,39,}, {39,19,19,19,19,19,42,19,42,19,14,23,41,22,39,}, {39,19,11,41,41,41,24,41,13,19,19,42,19,42,39,}, {39,11,13,19,19,19,19,19,19,19,19,42,19,42,39,}, {39,42,19,19,11,41,41,41,41,32,19,42,19,42,39,}, {39,21,41,41,13,19,19,19,19,19,19,42,19,42,39,}, {39,42,19,19,19,19,19,11,41,41,41,13,19,34,39,}, {39,42,19,11,41,12,19,42,19,19,19,19,19,19,39,}, {39,14,41,13,19,34,19,14,41,41,41,41,41,12,39,}, {39,39,39,39,39,39,39,39,39,39,39,39,39,29,39,}}, { {39,39,39,39,39,39,39,39,39,39,39,39,39,29,39,}, {39,33,19,11,41,12,19,19,19,11,41,12,19,42,39,}, {39,42,19,42,19,14,41,41,41,13,19,42,19,42,39,}, {39,42,19,42,19,19,19,19,19,19,19,34,19,42,39,}, {39,14,41,22,19,11,41,23,41,41,12,19,19,42,39,}, {39,19,19,42,19,34,19,42,19,19,14,32,19,42,39,}, {39,19,19,42,19,19,19,14,41,12,19,19,19,42,39,}, {39,11,41,24,23,41,32,19,19,21,41,41,41,13,39,}, {39,42,19,19,42,19,19,11,41,13,19,19,19,19,39,}, {39,42,19,19,42,19,19,42,19,19,19,11,41,12,39,}, {39,21,32,19,14,41,41,24,41,41,41,13,19,42,39,}, {39,42,19,19,19,19,19,19,19,19,19,19,19,42,39,}, {39,21,41,12,19,19,19,11,41,41,12,19,19,42,39,}, {39,34,19,14,41,41,41,13,19,19,14,41,41,13,39,}, {39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,},} }; private Image DIImage,DI11Image,DI12Image,DI13Image,DI14Image,DI21Image,DI22Image, DI23Image,DI24Image,DI31Image,DI32Image,DI33Image,DI34Image,DI41Image,DI42Image; private Image QIANGImage; private Image RENImage; private Image CHUImage; private Image NEIImage; private int x,y; private int count; private Thread xian; private int FANG; public MyPanel() { setPreferredSize(new Dimension(CHANG,KUAN)); loadImage(); FANG=XIA; x=1; y=1; grade=1; count=0; setFocusable(true); addKeyListener(this); xian=new Thread(new AnimationThread()); xian.start(); this.addKeyListener(this); } public void paintComponent(Graphics g) { super.paintComponent(g); DITU(g); RENWU(g); } private void RENWU(Graphics g) { switch(FANG) { case XIA: g.drawImage(RENImage, x*XIANGSU, y*XIANGSU, x*XIANGSU+XIANGSU,y*XIANGSU+XIANGSU, count*XIANGSU,0,XIANGSU+count*XIANGSU,XIANGSU,this); break; case ZUO: g.drawImage(RENImage, x*XIANGSU, y*XIANGSU, x*XIANGSU+XIANGSU,y*XIANGSU+XIANGSU, (count+2)*XIANGSU,0,XIANGSU+(count+2)*XIANGSU,XIANGSU,this); break; case YOU: g.drawImage(RENImage, x*XIANGSU, y*XIANGSU, x*XIANGSU+XIANGSU,y*XIANGSU+XIANGSU, (count+4)*XIANGSU,0,XIANGSU+(count+4)*XIANGSU,XIANGSU,this); break; case SHANG: g.drawImage(RENImage, x*XIANGSU, y*XIANGSU, x*XIANGSU+XIANGSU,y*XIANGSU+XIANGSU, (count+6)*XIANGSU,0,XIANGSU+(count+6)*XIANGSU,XIANGSU,this); break; } } private void loadImage() { ImageIcon icon=new ImageIcon(getClass().getResource("image/地面.png")); DIImage = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面41.png")); DI41Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面42.png")); DI42Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面11.png")); DI11Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面12.png")); DI12Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面13.png")); DI13Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面14.png")); DI14Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面21.png")); DI21Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面22.png")); DI22Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面23.png")); DI23Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面24.png")); DI24Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面31.png")); DI31Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面32.png")); DI32Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面33.png")); DI33Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面34.png")); DI34Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/内墙.png")); QIANGImage = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/人物.png")); RENImage = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/出口.png")); CHUImage = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/外墙.png")); NEIImage = icon.getImage(); } private void DITU(Graphics g) { int i,j; for(i=0;i<HANG;i++) { for(j=0;j<LIE;j++) { switch(map[grade-1][i][j]) { case 41 : g.drawImage(DI41Image, j*XIANGSU, i*XIANGSU, this); break; case 42 : g.drawImage(DI42Image, j*XIANGSU, i*XIANGSU, this); break; case 11 : g.drawImage(DI11Image, j*XIANGSU, i*XIANGSU, this); break; case 12 : g.drawImage(DI12Image, j*XIANGSU, i*XIANGSU, this); break; case 13 : g.drawImage(DI13Image, j*XIANGSU, i*XIANGSU, this); break; case 14 : g.drawImage(DI14Image, j*XIANGSU, i*XIANGSU, this); break; case 21 : g.drawImage(DI21Image, j*XIANGSU, i*XIANGSU, this); break; case 22 : g.drawImage(DI22Image, j*XIANGSU, i*XIANGSU, this); break; case 23 : g.drawImage(DI23Image, j*XIANGSU, i*XIANGSU, this); break; case 24 : g.drawImage(DI24Image, j*XIANGSU, i*XIANGSU, this); break; case 31 : g.drawImage(DI31Image, j*XIANGSU, i*XIANGSU, this); break; case 32 : g.drawImage(DI32Image, j*XIANGSU, i*XIANGSU, this); break; case 33 : g.drawImage(DI33Image, j*XIANGSU, i*XIANGSU, this); break; case 34 : g.drawImage(DI34Image, j*XIANGSU, i*XIANGSU, this); break; case 19: g.drawImage(QIANGImage, j*XIANGSU, i*XIANGSU, this); break; case 29 : g.drawImage(CHUImage, j*XIANGSU, i*XIANGSU, this); break; case 39 : g.drawImage(NEIImage, j*XIANGSU, i*XIANGSU, this); break; case 49 : g.drawImage(DIImage, j*XIANGSU, i*XIANGSU, this); break; default: break; } } } } public void NEXT() { Graphics g = null; if(grade>=GUANQIA) { DUIHUA("恭喜你完成所有关卡!"); } else { grade++; paintComponent(g); } } private void DUIHUA(String str) { JOptionPane.showMessageDialog(null, str,"提示",JOptionPane.ERROR_MESSAGE); } public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_UP) YIDONG(SHANG); if(e.getKeyCode()==KeyEvent.VK_DOWN) YIDONG(XIA); if(e.getKeyCode()==KeyEvent.VK_LEFT) YIDONG(ZUO); if(e.getKeyCode()==KeyEvent.VK_RIGHT) YIDONG(YOU); repaint(); if(map[grade-1][x][y]==2) { if(grade==GUANQIA) { String str="恭喜通过第"+grade+"关!\n是否进入下一关?"; int type=JOptionPane.YES_NO_OPTION; int i=0; i=JOptionPane.showConfirmDialog(null, str,"过关",type); if(i==1) System.exit(0); else if(i==0) NEXT(); } } } private boolean GUIZE(int x,int y) { if(map[grade-1][x][y]==19||map[grade-1][x][y]==39) return false; return true; } private void YIDONG (int event) { switch(event) { case ZUO: if(GUIZE(x-1,y)) x--; FANG =ZUO; break; case YOU: if(GUIZE(x+1,y)) x++; FANG =YOU; break; case SHANG: if(GUIZE(x,y-1)) y--; FANG =SHANG; break; case XIA: if(GUIZE(x,y+1)) y++; FANG =XIA; break; default: break; } } private class AnimationThread extends Thread{ public void run() { while(true){ if(count==1) count=0; else if(count==0) count=1; repaint(); try { Thread.sleep(300); }catch(InterruptedException e) { e.printStackTrace(); } } } } public static int getGrade() { return grade; } public static int[][][] getMap() { return map; } public int getX() { return x; } public int getY() { return y; } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } public void mouseDragged(MouseEvent arg0) { } public void mouseMoved(MouseEvent arg0) { } public static void main(String[] args) { JFrame mi = new JFrame(); mi.setTitle("RGP走迷宫"); mi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ) ; mi.setVisible(true); MyPanel panel=new MyPanel(); Container contentPane=mi.getContentPane(); contentPane.add(panel); panel.setFocusable(true); mi.pack(); } } 这是完整代码 谢了
Daying__16 2017-10-09
  • 打赏
  • 举报
回复
引用 1 楼 zc881124 的回复:
完整代码给出来。
package RGP走迷宫; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; public class MyPanel extends JPanel implements KeyListener,MouseMotionListener{ private static final long serialVersionUID=1L; private static final int CHANG=480; private static final int KUAN=480; private static final int HANG=15; private static final int LIE=15; private static final int XIANGSU=32; private static final int ZUO=0; private static final int YOU=1; private static final int SHANG=2; private static final int XIA=3; private static final int GUANQIA=2; private static int grade; private static int map[][][]= {{ {39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,}, {39,31,12,19,11,41,12,19,11,41,12,19,31,12,39,}, {39,19,42,19,42,19,42,19,42,19,42,19,19,42,39,}, {39,19,42,19,42,19,42,19,42,19,42,19,19,42,39,}, {39,19,42,19,42,19,42,19,42,19,42,19,19,42,39,}, {39,19,14,41,13,19,42,19,42,19,42,19,19,42,39,}, {39,19,19,19,19,19,42,19,42,19,14,23,41,22,39,}, {39,19,11,41,41,41,24,41,13,19,19,42,19,42,39,}, {39,11,13,19,19,19,19,19,19,19,19,42,19,42,39,}, {39,42,19,19,11,41,41,41,41,32,19,42,19,42,39,}, {39,21,41,41,13,19,19,19,19,19,19,42,19,42,39,}, {39,42,19,19,19,19,19,11,41,41,41,13,19,34,39,}, {39,42,19,11,41,12,19,42,19,19,19,19,19,19,39,}, {39,14,41,13,19,34,19,14,41,41,41,41,41,12,39,}, {39,39,39,39,39,39,39,39,39,39,39,39,39,29,39,}}, { {39,39,39,39,39,39,39,39,39,39,39,39,39,29,39,}, {39,33,19,11,41,12,19,19,19,11,41,12,19,42,39,}, {39,42,19,42,19,14,41,41,41,13,19,42,19,42,39,}, {39,42,19,42,19,19,19,19,19,19,19,34,19,42,39,}, {39,14,41,22,19,11,41,23,41,41,12,19,19,42,39,}, {39,19,19,42,19,34,19,42,19,19,14,32,19,42,39,}, {39,19,19,42,19,19,19,14,41,12,19,19,19,42,39,}, {39,11,41,24,23,41,32,19,19,21,41,41,41,13,39,}, {39,42,19,19,42,19,19,11,41,13,19,19,19,19,39,}, {39,42,19,19,42,19,19,42,19,19,19,11,41,12,39,}, {39,21,32,19,14,41,41,24,41,41,41,13,19,42,39,}, {39,42,19,19,19,19,19,19,19,19,19,19,19,42,39,}, {39,21,41,12,19,19,19,11,41,41,12,19,19,42,39,}, {39,34,19,14,41,41,41,13,19,19,14,41,41,13,39,}, {39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,},} }; private Image DIImage,DI11Image,DI12Image,DI13Image,DI14Image,DI21Image,DI22Image, DI23Image,DI24Image,DI31Image,DI32Image,DI33Image,DI34Image,DI41Image,DI42Image; private Image QIANGImage; private Image RENImage; private Image CHUImage; private Image NEIImage; private int x,y; private int count; private Thread xian; private int FANG; public MyPanel() { setPreferredSize(new Dimension(CHANG,KUAN)); loadImage(); FANG=XIA; x=1; y=1; grade=1; count=0; setFocusable(true); addKeyListener(this); xian=new Thread(new AnimationThread()); xian.start(); this.addKeyListener(this); } public void paintComponent(Graphics g) { super.paintComponent(g); DITU(g); RENWU(g); } private void RENWU(Graphics g) { switch(FANG) { case XIA: g.drawImage(RENImage, x*XIANGSU, y*XIANGSU, x*XIANGSU+XIANGSU,y*XIANGSU+XIANGSU, count*XIANGSU,0,XIANGSU+count*XIANGSU,XIANGSU,this); break; case ZUO: g.drawImage(RENImage, x*XIANGSU, y*XIANGSU, x*XIANGSU+XIANGSU,y*XIANGSU+XIANGSU, (count+2)*XIANGSU,0,XIANGSU+(count+2)*XIANGSU,XIANGSU,this); break; case YOU: g.drawImage(RENImage, x*XIANGSU, y*XIANGSU, x*XIANGSU+XIANGSU,y*XIANGSU+XIANGSU, (count+4)*XIANGSU,0,XIANGSU+(count+4)*XIANGSU,XIANGSU,this); break; case SHANG: g.drawImage(RENImage, x*XIANGSU, y*XIANGSU, x*XIANGSU+XIANGSU,y*XIANGSU+XIANGSU, (count+6)*XIANGSU,0,XIANGSU+(count+6)*XIANGSU,XIANGSU,this); break; } } private void loadImage() { ImageIcon icon=new ImageIcon(getClass().getResource("image/地面.png")); DIImage = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面41.png")); DI41Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面42.png")); DI42Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面11.png")); DI11Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面12.png")); DI12Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面13.png")); DI13Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面14.png")); DI14Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面21.png")); DI21Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面22.png")); DI22Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面23.png")); DI23Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面24.png")); DI24Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面31.png")); DI31Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面32.png")); DI32Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面33.png")); DI33Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/地面34.png")); DI34Image = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/内墙.png")); QIANGImage = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/人物.png")); RENImage = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/出口.png")); CHUImage = icon.getImage(); icon=new ImageIcon(getClass().getResource("image/外墙.png")); NEIImage = icon.getImage(); } private void DITU(Graphics g) { int i,j; for(i=0;i<HANG;i++) { for(j=0;j<LIE;j++) { switch(map[grade-1][i][j]) { case 41 : g.drawImage(DI41Image, j*XIANGSU, i*XIANGSU, this); break; case 42 : g.drawImage(DI42Image, j*XIANGSU, i*XIANGSU, this); break; case 11 : g.drawImage(DI11Image, j*XIANGSU, i*XIANGSU, this); break; case 12 : g.drawImage(DI12Image, j*XIANGSU, i*XIANGSU, this); break; case 13 : g.drawImage(DI13Image, j*XIANGSU, i*XIANGSU, this); break; case 14 : g.drawImage(DI14Image, j*XIANGSU, i*XIANGSU, this); break; case 21 : g.drawImage(DI21Image, j*XIANGSU, i*XIANGSU, this); break; case 22 : g.drawImage(DI22Image, j*XIANGSU, i*XIANGSU, this); break; case 23 : g.drawImage(DI23Image, j*XIANGSU, i*XIANGSU, this); break; case 24 : g.drawImage(DI24Image, j*XIANGSU, i*XIANGSU, this); break; case 31 : g.drawImage(DI31Image, j*XIANGSU, i*XIANGSU, this); break; case 32 : g.drawImage(DI32Image, j*XIANGSU, i*XIANGSU, this); break; case 33 : g.drawImage(DI33Image, j*XIANGSU, i*XIANGSU, this); break; case 34 : g.drawImage(DI34Image, j*XIANGSU, i*XIANGSU, this); break; case 19: g.drawImage(QIANGImage, j*XIANGSU, i*XIANGSU, this); break; case 29 : g.drawImage(CHUImage, j*XIANGSU, i*XIANGSU, this); break; case 39 : g.drawImage(NEIImage, j*XIANGSU, i*XIANGSU, this); break; case 49 : g.drawImage(DIImage, j*XIANGSU, i*XIANGSU, this); break; default: break; } } } } public void NEXT() { Graphics g = null; if(grade>=GUANQIA) { DUIHUA("恭喜你完成所有关卡!"); } else { grade++; paintComponent(g); } } private void DUIHUA(String str) { JOptionPane.showMessageDialog(null, str,"提示",JOptionPane.ERROR_MESSAGE); } public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_UP) YIDONG(SHANG); if(e.getKeyCode()==KeyEvent.VK_DOWN) YIDONG(XIA); if(e.getKeyCode()==KeyEvent.VK_LEFT) YIDONG(ZUO); if(e.getKeyCode()==KeyEvent.VK_RIGHT) YIDONG(YOU); repaint(); if(map[grade-1][x][y]==2) { if(grade==GUANQIA) { String str="恭喜通过第"+grade+"关!\n是否进入下一关?"; int type=JOptionPane.YES_NO_OPTION; int i=0; i=JOptionPane.showConfirmDialog(null, str,"过关",type); if(i==1) System.exit(0); else if(i==0) NEXT(); } } } private boolean GUIZE(int x,int y) { if(map[grade-1][x][y]==19||map[grade-1][x][y]==39) return false; return true; } private void YIDONG (int event) { switch(event) { case ZUO: if(GUIZE(x-1,y)) x--; FANG =ZUO; break; case YOU: if(GUIZE(x+1,y)) x++; FANG =YOU; break; case SHANG: if(GUIZE(x,y-1)) y--; FANG =SHANG; break; case XIA: if(GUIZE(x,y+1)) y++; FANG =XIA; break; default: break; } } private class AnimationThread extends Thread{ public void run() { while(true){ if(count==1) count=0; else if(count==0) count=1; repaint(); try { Thread.sleep(300); }catch(InterruptedException e) { e.printStackTrace(); } } } } public static int getGrade() { return grade; } public static int[][][] getMap() { return map; } public int getX() { return x; } public int getY() { return y; } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } public void mouseDragged(MouseEvent arg0) { } public void mouseMoved(MouseEvent arg0) { } public static void main(String[] args) { JFrame mi = new JFrame(); mi.setTitle("RGP走迷宫"); mi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ) ; mi.setVisible(true); MyPanel panel=new MyPanel(); Container contentPane=mi.getContentPane(); contentPane.add(panel); panel.setFocusable(true); mi.pack(); } } 这个完整代码 谢了
枫醉秋 2017-10-09
  • 打赏
  • 举报
回复
全部代码拿出来
110成成 2017-10-09
  • 打赏
  • 举报
回复
完整代码给出来。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧