⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamedatasimple.java

📁 j2me 横版过关游戏工程。(demo).可以参考下
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	 * array[3]=共有多少祯 
	 * array[4]=第一个NPC向右攻击的起始祯数
	 * array[5]=共有多少祯 
	 * array[6]=第一个NPC向右挨打的起始祯数 
	 * array[7]=共有多少祯
	 * @return
	 */
	public short[] getNpcFrame(){
//		short array[] = {
//				0,1,2,3,//走0
//				4,5,4,5,4,//攻击4
//				6,6,6,//被攻击9
//				7,7,8,8//死亡12
//				
//		};
		return arrayNpcFrameSequence;
	}
	
	/**
	 * 云层的基础信息//0不动  1左右动 2上下动 3呼唤出来的左 4呼唤出来的右
	 * array[n][0]=云层的图片号
	 * array[n][1]=云层图片单元格的宽度
	 * array[n][2]=云层图片单元格的高度 
	 * array[0][3]=云层移动的速度
	 * @return
	 */
	public short[][] getCloundKind(){
//		switch(WestGameCanvas.gameLevel){
//		case 1:
//		case 4:
//			short[][] array = {
//					{1,96,32,0},//不动的
//					{1,96,32,3},//左右动的
//					{1,96,32,3},//上下动的
//					{2,64,25,0},//左边的
//					{2,64,25,0}//左边的
//			};
//			return array;
//		case 2:
//			short[][] array1 = {
//					{1,128,32,0},//不动的
//					{1,128,32,3},//左右动的
//					{1,128,32,3},//上下动的
//					{2,50,25,0},//左边的
//					{2,50,25,0}//左边的
//			};
//			return array1;
//		case 3:
//			short[][] array2 = {
//				{1,128,40,0},//不动的
//				{1,128,40,3},//左右动的
//				{1,128,40,3},//上下动的
//				{2,50,30,0},//左边的
//				{2,50,30,0}//左边的
//		};
//			return array2;
//		}
		return arrayCloudKind;
	}
	
	
	public short[][] NpcFrame(int id){
//		switch(id){
//		case 0:
//		case 3:
//		short array[][] = {
//					{13,1,21,41,23},
//					{12,2,19,40,21},
//					{14,1,18,41,23},
//					{12,2,20,40,22},
//					{15,3,18,39,24},
//					{14,1,18,41,23},
//					{6,10,27,32,19},
//					{17,2,25,40,29},
//					{7,1,33,31,23},
//					{4,22,41,20,24},
//					{12,1,19,41,21},
//					{13,2,21,40,23},
//					{11,1,20,41,21},
//					{13,2,19,40,22},
//					{12,3,10,39,17},
//					{12,1,17,41,20},
//					{6,10,35,32,23},
//					{0,2,35,40,17},
//					{1,1,37,31,19},
//					{1,22,38,20,20}
//		};
//		return array;
//		case 1:
//			short array1[][] ={
//				{10,10,30,39,20},
//				{9,8,31,41,20},
//				{0,10,31,39,15},
//				{18,9,29,40,23},
//				{8,13,35,36,21},
//				{19,16,31,33,25},
//				{22,1,25,48,23},
//				{25,0,35,49,30},
//				{23,26,22,23,22},
//				{5,10,40,39,22},
//				{16,8,30,41,23},
//				{18,10,12,39,20},
//				{26,9,28,40,27},
//				{19,13,32,36,25},
//				{16,16,30,33,23},
//				{16,1,27,48,21},
//				{20,0,37,49,28},
//				{20,26,44,23,32}
//				};
//			return array1;
//		case 2:
//			short array2[][] ={
//				{4,2,42,50,25},
//				{10,0,41,52,30},
//				{6,2,46,50,29},
//				{12,0,40,52,32},
//				{28,5,33,47,44},
//				{0,5,64,47,32},
//				{17,5,49,47,41},
//				{4,5,57,47,32},
//				{7,28,71,24,42},
//				{28,2,42,50,49},
//				{23,0,41,52,43},
//				{22,2,46,50,45},
//				{22,0,40,52,42},
//				{13,5,33,47,29},
//				{18,5,64,47,50},
//				{9,5,49,47,33},
//				{13,5,57,47,41},
//				{0,28,71,24,35}
//				};
//			return array2;
//		}
	return arrayNpcFrame;
	}
	
	public short[][] BossFrame(int id){
//		switch(id){
//		case 0:
//		case 3:
//			short array[][]={
//			{35,15,61,70,62},
//			{39,13,52,72,62},
//			{38,19,55,66,62},
//			{39,13,51,72,62},
//			{40, 0,74,84,62},//打
//			{ 0,23,90,84,62},//打
//			{40,15,54,70,62},
//			{35,21,72,64,62},
//			{27,49,77,36,62},
//			
//			{26,15,61,70,62},
//			{34,13,52,72,62},
//			{31,19,55,66,62},
//			{35,13,51,72,62},
//			{10, 0,74,84,62},
//			{34,23,90,84,62},
//			{30,15,54,70,62},
//			{18,21,72,64,62},
//			{22,49,77,36,62}
//		};
//			return array;
//		case 1:
//			short array1[][] = {
//				{29,9,46,56,52},
//				{22,11,51,54,47},
//				{28,9,46,56,51},
//				{20,11,51,54,45},
//				{43,4,46,61,66},
//				{9,16,83,49,50},
//				{41,9,51,56,66},
//				{38,0,71,65,73},
//				{41,23,74,42,78},
//				{3,9,46,56,26},
//				{9,11,51,54,34},
//				{12,9,46,56,35},
//				{18,11,51,54,33},
//				{5,4,46,61,28},
//				{5,16,83,49,46},
//				{10,9,51,56,35},
//				{10,0,71,65,45},
//				{17,23,74,42,54}	
//			};
//			return array1;
//		case 2:
//			short array2[][] = {
//				{31,21,37,73,49},
//				{21,25,43,69,42},
//				{30,22,38,72,49},
//				{19,25,37,69,37},
//				{28,17,26,77,41},
//				{4,39,90,55,49},
//				{16,25,46,69,39},
//				{21,37,69,57,55},
//				{18,62,69,32,52},
//				{23,21,35,73,40},
//				{23,25,44,69,45},
//				{16,22,40,72,36},
//				{27,25,41,69,47},
//				{33,17,32,77,49},
//				{3,39,86,55,46},
//				{25,25,43,69,46},
//				{3,37,65,57,35},
//				{1,62,69,32,35}
//			};
//			return array2;
////	    case 3:
////	    	//---------------------------------------------------------临时
////	    	short array3[][] = {
////	    		{31,21,37,73,49},
////				{21,25,43,69,42},
////				{30,22,38,72,49},
////				{19,25,37,69,37},
////				{28,17,26,77,41},
////				{4,39,90,55,49},
////				{16,25,46,69,39},
////				{21,37,69,57,55},
////				{18,62,69,32,52},
////				{23,21,35,73,40},
////				{23,25,44,69,45},
////				{16,22,40,72,36},
////				{27,25,41,69,47},
////				{33,17,32,77,49},
////				{3,39,86,55,46},
////				{25,25,43,69,46},
////				{3,37,65,57,35},
////				{1,62,69,32,35}
////	    	};
////	    	return array3;
//	    };
		return arrayBossFrame;
	}
	
	/**
     * 打开数据流
     * 
     * @param name
     *            String 路径+数据名
     * @return DataInputStream 返回数据流
     */
    private DataInputStream dataOpen(String name)
    {
        return new DataInputStream(getClass().getResourceAsStream(name));
    }
    
    /**
     * @param dis
     *            DataInputStream 数据流
     * @return short 2维数组
     */
    private short[][] dataStreamRead2(DataInputStream dis)
    {
        //最后一个用来存最后一维有多少个
        short data[] = dataStreamRead1(dis);
        int len = data.length - 1;
        short useCol = data[len];
        short row = 0;
        short col = 0;
        short array2D[][] = new short[len / useCol][useCol];
        for (int i = 0; i < len;)
        {
            if (col == useCol)
            {
                row++;
                col &= 0;
            }
            //System.out.println(i + ": row=" + row + ", col=" + col);
            array2D[row][col++] = data[i++];
        }
        //test start将数组在控制台打出------------>>
		//System.out.println("read2 size: " + array2D.length + " X " + useCol);
		//for (int i = 0; i < array2D.length; i++)
		//{
		//    System.out.print("{ ");
		//    for (int j = 0; j < array2D[0].length; j++)
		//    {
		//        System.out.print(array2D[i][j]);
		//        if (j == array2D[0].length - 1)
		//        {
		//            if (i == array2D.length - 1)
		//            	System.out.println("} ");
		//            else
		//            	System.out.println("}, ");
		//        }
		//        else
		//            System.out.print(", ");
		//    }
		//}
        //end -----------------------------------<<
        //this.loadCounts++;
        return array2D;
    }
    
    /** 
     * 从数据流读取byte型数组   
     *  
     * @param dis   
     *            DataInputStream数据流 
     * @return short 1维数组    
     */ 
    private short[] dataStreamRead1(DataInputStream dis)    
    {   
        try 
        {   
            int part1 = this.dataReadTowBytes(dis); 
            int part2 = this.dataReadTowBytes(dis); 
            int data = (part1 << 16) | (part2 & 0xffff);    
            //读取第一维数 2 byte   
            int row = data >>> 22;  
            //读取第二维数 2 byte   
            int col = (data & 0x3fffff) >>> 12; 
            //数组元素个数  
            int num = row * col;    
            //test------------------------------------start>>   
            //Tools.txtOut("size: " + row + " X " + col + ", binLen=" + (part2 & 0xfff)); 
            //test------------------------------------end<< 
            //如果是二维数组,在数据数组后面增加一位,记录第二维长度    
            short[] array1D = new short[num + 1];   
            array1D[num] = (short) col; 
            //临时变量  
            byte flag;  
            short type, n;  
            int count;  
            for (int idx = 0, j; idx < num;)    
            {   
                //取得一位数据  
                flag = dis.readByte();  
                //不是标志位    
                if (flag != (byte) 0x80)    
                    array1D[idx++] = flag;  
                //是标志位  
                else    
                {   
                    //取得压缩信息  
                    data = this.dataReadTowBytes(dis);  
                    //取得压缩类型  
                    type = (short) (data >> 12);    
                    //取得压缩数据个数  
                    count = data & 0xfff;   
                    //Tools.txtOut("type=" + type + ", count=" + count);    
                    //判断压缩类型  
                    switch (type)   
                    {   
                        case 1://大数据 2 bits  
                            //循环读取 count 个大数 
                            for (j = 0; j++ < count;)   
                                array1D[idx++] = (short) this   
                                        .dataReadTowBytes(dis); 
                            break;  
                        default:    
                            if (2 == type)//相同的小数据 1 bit  
                                n = dis.readByte(); 
                            else    
                                // if(3==type)//相同的大数据 2 bits 
                                n = (short) this.dataReadTowBytes(dis); 
                            //循环赋值 count 次 
                            for (j = 0; j++ < count;)   
                                array1D[idx++] = n; 
                            break;  
                    }   
                }//else end 
            }//for end  
            return array1D; 
        }   
        catch (EOFException e)  
        {   
        }   
        catch (IOException e)   
        {   
        }   
        return null;    
    }   
    
    /**
     * 
     * @param dis
     * @return
     * @throws IOException
     */
    private int dataReadTowBytes(DataInputStream dis) throws IOException
    {
        byte back = dis.readByte();
        return (dis.readByte() << 8) | (back & 0xff);
    }

    /**
     * @param dis
     *            DataInputStream数据流
     * @param index
     *            int 跳过几个数据
     */
    private void dataStreamJump(DataInputStream dis, int index)
    {
        try
        {
            for (int i = 0, skip; i++ < index;)
            {
                dis.skipBytes(2);
                skip = this.dataReadTowBytes(dis) & 0xfff;
                dis.skipBytes(skip);
            }
        }
        catch (IOException e)
        {
        }
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -