日期:2014-05-20  浏览次数:20935 次

ArrayIndexOutOfBoundsException
//import   java.lang.*;
import   javax.microedition.lcdui.*;
//import   java.util.Random;
//import   javax.microedition.rms.*;
//import   java.io.*;
//import   MainMid;
//import   MainPit.*;
//import   com.*;
class   MyCanvas   extends   Canvas   implements   Runnable
{
MyMIDlet   myMid;
//   按键表
// private   static   final   byte   KEY_NONE   =   0;
private   static   final   byte   KEY_UP   =   -1;
private   static   final   byte   KEY_DOWN   =   -2;
private   static   final   byte   KEY_LEFT   =   -3;
private   static   final   byte   KEY_RIGHT   =   -4;
private   static   final   byte   KEY_FIRE   =   -5;
private   static   final   byte   KEY_GAM_LEFT   =   -6;
private   static   final   byte   KEY_GAM_RIGHT   =   -7;
private   static   final   byte   KEY_NUM5   =   53;
private   int   hangfire   =   300;//   延时大小
Graphics   gb;
private   Image   bufImg;//   缓存
//   屏幕大小
private   int   nWidth;
private   int   nHeight;
/**
  *   构造方法
  *   @param   mid
  */
public   MyCanvas(MyMIDlet   mid)
{
myMid   =   mid;
nWidth   =   getWidth();//   屏幕大小
nHeight   =   getHeight();
cw   =   nWidth   /   10;//把屏幕分成   10*10   的小格子
ch   =   nHeight   /   10;
try
{
bufImg   =   Image.createImage(nWidth,   nHeight);//   申请缓存空间
gb   =   bufImg.getGraphics();
}   catch   (Exception   e)
{
System.out.println( "构造方法 ");
e.printStackTrace();
}
}
/**
  *   刷新屏幕
  *   @param   c
  */
private   void   clearScreen(int   c)//   用颜色c刷新屏幕
{
gb.setColor(c);
gb.fillRect(0,   0,   nWidth,   nHeight);
}
/**
  *   画笔
  */
public   void   paint(Graphics   g){gb   =   g;}
private   int   cx,   cy;//鼠标按下的时候   所在的起始点小方格的   行和列
/**
  *   显示鼠标位置
  */
private   void   showCursor()
{
gb.setColor(0x000000ff);
gb.drawRect(cx   *   cw   +   2,   cy   *   ch   +   2,   cw   -   4,   ch   -   4);
}
/**
  *   按下起始位置
  *
  */
private   void   showBegin()
{
gb.setColor(0x0000ff00);
gb.fillArc(begin_x   *   cw,   begin_y   *   ch,   cw,   ch,   0,   360);
}
private   int   cw,   ch;//每一个小格子的宽度和高度
/**
  *   显示初始界面
  *
  */
private   void   showMap()
{
try{
clearScreen(0x00ffffff);//背景色
for   (int   i   =   0;   i   <   10;   i++)
{
for   (int   j   =   0;   j   <   10;   j++)
{
if   (moveSpace[i][j]   ==   1)//索引是   1   则绘制线条   否则填充障碍物