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

📄 jmps.java

📁 一个j2me的滑雪游戏
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
              progress = 0;
              LoadGraph(18, 36, 3);              
            }
            
            if (I[45] == null) LoadTeamGraph();
            else ChangeTeamGraph();
            
						GM = 350;
						CreateWind();
					}
					HowTo = 0;
				}
				nSel = 0;
				Frame = 0;
				return;
			}
		}
		//--------------------------------------------------------------------------		
		if (GM == 100){			
      
			if (Frame < 4) Frame++;

			if( !GF[13] ) {	
          
				if( ( Key[1] & 131076 ) != 0 ){
					nSel -= 4;
					Frame = 0;
					GF[1] = true;
				}
				
				if( ( Key[1] & 524544 ) != 0 ){

					if( fClear != 0 ){
						if( nSel != 7 && !GF[13] ){
							nSel += 4;
						} else GF[13] = true;
					}
					else nSel += 4;

					Frame = 0;
					GF[1] = true;
				}
				
				if( ( Key[1] & 65682 ) != 0 ){
					nSel--;
					Frame = 0;
					GF[1] = true;
				}

				if( ( Key[1] & 262728 ) != 0 ){
					nSel++;
					Frame = 0;
					GF[1] = true;
				}
			}
			else if( ( Key[1] & ( 131076 | 524544 | 65682 | 262728 ) ) != 0 )
				GF[13] = false;

			nSel %= 8;
			if (nSel < 0)  nSel += 8;
			if (nSel == 7) VSList[ 0 ] = Math.abs( R.nextInt() % 7 );
			else VSList[0] = nSel;

			if(GF[13]) VSList[0] = 7;

			GF[1] = true;

      if( ( Key[1] & 1048608 ) != 0 ){   // action key (OK)
				Draw();
        totalScore = 0;
				nStage = 1;
        if (I[18] == null) {
          progmax = 19*3 + 11;
          progress = 0;
          LoadGraph(18, 36, 3);				  
        }
        
        if (I[45] == null) LoadTeamGraph();
        else ChangeTeamGraph();
        
				GF[11] = true;
				Frame = 0;
				GM = 200;
				nSel = 0;
				Kaisuu = 1;
				return;
			}
		}
    
		//--------------------------------------------------------------------------
		if(GM == 200){
			
			if( GF[11] ){

				System.gc();				

				for(i = 1; i < 4;) {
					j = Math.abs( R.nextInt() % 7 );
					if (i == 1 && nStage == 5) j = 7;
          for( x = 0; x < i; x++)
            if( j == VSList[ x ] && j != 7 ) break;

					if( x == i ){
						VSList[ i ] = j;
						i++;
					}
				}
				GF[11] = false;
			}

			Frame++;
			if(nSel < 5 && CupTime[nSel] < Frame) {
				nSel++;
				//if(nSel == 5) setSoftLabel(SOFT_KEY_1, "delete?");
			}

			GF[1] = true;

			if( ( Key[1] & ( 1048608 | 2097152 ) ) != 0 && nSel == 5 ){
				GM = 300;

        nScore[0] = 0;
        // changed difficulty progression (harder first stages, same last stage) (15 +)
				nScore[1] = 15 + CpuScore[  (nStage-1)*6] + Math.abs(R.nextInt() % CpuScore[30+(nStage-1)*6]);
				nScore[2] = 15 + CpuScore[1+(nStage-1)*6] + Math.abs(R.nextInt() % CpuScore[31+(nStage-1)*6]);
				nScore[3] = 15 + CpuScore[2+(nStage-1)*6] + Math.abs(R.nextInt() % CpuScore[32+(nStage-1)*6]);

				GF[11] = true;
				Frame = 0;
				return;
			}
		}
		
		//--------------------------------------------------------------------------
		if( GM == 300 ){

      // GF[15] = GF[14];

			if (GF[11]) {
				LineY = 0;
				nScroll = 0;
				LineX = 0;
				Frame = 0;
				JX = 59;
				PXY = 0;
				GF[11] = false;
			}

      // GF[2] = true;
			if (Frame > 24) {				
				GM = 350;
				CreateWind();
				WindTime = 0;
				Frame = 0;
				GF[1] = true;
			}
      else Frame++;
		}

		//--------------------------------------------------------------------------
		if (GM == 350) {

			GF[2] = true;
			GF[15] = false;

			// Tutorial 3
			if (GF[14] && Frame > 54 ) {
				Key[1] = 1048608;				
				Wind = 0;
				WindPow = 1;
				WindUD = 255;
				WindLRPow = 0;
				GF[15] = false;
			}
			
			if( ( Key[1] & ( 1048608 | 2097152 ) ) != 0 ){
				GM = 400;
				WindTime = 10 + Math.abs( R.nextInt() % 11 );				
				Frame = 0;
				WindLR = 0;
				OffJP = 0;
				Pow = 0;
				GF[1] = true;
				GF[11] = false;
				return;
			}

			WindTime = ( WindTime + 1 ) % 5;
			if( WindTime == 0 ){
				CreateWind();
				WindTime = 0;
			}
			Frame++;

			// Tutorial 1
			if( GF[14] && ( Frame > 24 && Frame < 40 ) ){
				GF[15] = true;
			}
              
			// Tutorial 2
			if( GF[14] && Frame > 39 ){      
				HowTo = 1;
				GF[15] = true;
			}
      
		}

		//--------------------------------------------------------------------------
		if( GM == 400 ){

      // GF[1] = true;
			Frame++;

			if( Frame < 31)	CVY = ( 10 * Frame ) / 30;
			LineOY = LineY;
			LineY -= CVY;
			
			if( LineY < 0 ) LineY += 32;

			nScroll += CVY;

			if( nScroll > 297 ) {
				JX -= 10;
				GF[1] = true;
			}

			if( nScroll > 317 && !GF[11] ){
				Pow = ( Pow + 5 ) % 55;
				if( ( Key[1] & 1048608 ) != 0 ) GF[11] = true;
			}

			if( Frame == 51 ){
				PXY = 0;
				Draw();
				GM = 500;
				Frame = 0;
				CVY = 1;
				JX = -2;

				// Tutorial Timer
				Temp[0] = 0;
				// Tutorial Frag
				GF[16] = GF[14];
				HowTo = 2;
				return;
			}
		}
		
		//--------------------------------------------------------------------------
		if( GM == 500 ){

			GF[1] = true;

			if( !GF[16] ){
				LineOY = LineY;
				LineY -= CVY;
				nScroll += 3 * CVY;
				
				if( ( Key[1] & 1048608 ) != 0 || Pow == 0 ) GF[11] = true;

				if( LineY < 0 ) LineY += 32;

				if( !GF[11] )	Pow = ( Pow + 5 ) % 55;

				if( Pow == 50 && GF[14] && !GF[11] ){
					GF[11] = true;// Tutorial (..)
					GF[16] = true;
				}

				Frame++;
				LineX = -( 100 * Frame ) / 10;
				OffJP = 3 * Frame;

				if( Frame == 11 ){
					Draw();

					Pow = ( 60 * ( 50 + Pow ) ) / 100;
					CVY = 10;

					GM = 600;
					Frame = 0;
					Kyori = 0;
					LineX = -100;
					LineY = 0;
          // RedLine = 0;
					Hikyori = 0;
					RedPoint = 0;
					GF[3] = true;
					GF[12] = false;
					GF[16] = GF[14];
					
					if( Pow == 60 ) Pow = Power[ VSList[0] ];
					return;
				}
			}
			else {				
				GF[15] = true;
				Temp[0] = ( Temp[0] + 1 ) % 15;
				if( Temp[0] == 0 ){
					HowTo++;          
					GF[15] = false;
					GF[16] = false;
				}
			}
		}
		//-------------------------------------------------------------------------------------------------------------------------------------------- 懾嬻
		if( GM == 600 ){

			Frame++;			
			Hikyori++;
			GF[1] = true;
			LineOY = LineY;
			LineY -= CVY;
			if( LineY < 0 ) LineY += 32;

			GF[15] = false;
			if (GF[14] && (Frame == 11 || Frame == 12 || Frame == 22 || Frame == 23)){        
				GM = 650; // Tutorial
				Temp[0] = 0;
				GF[15] = true;
				return;
			}
			else{
				Kyori += (5*Pow)/6;
				WindTime--;
				if( WindTime <= 0 )	CreateWind();

				if( Frame % 3 == 0 ){
					i = WindPow * 2;
					if( Math.abs( WindLR ) > ( Meter[ i + 5 ] / 2 ) ){
						Pow--;
					}
					if( Math.abs( WindLR ) > ( Meter[ i + 4 ] / 2 ) ){
						RedPoint++;
						Pow--;
					}
				}

				if( Frame % WindUD == 0 )	Pow--;
				
				Pow--;
				if( GF[12] ) Pow--;


				if( GF[14] && Math.abs( WindLR ) > 10 ){// How To (...)
					if(WindLR < 0) Key[0] = 262728;
          else if(WindLR > 0) Key[0] = 65682;
				}

				i = 0;

				if( ( Key[0] & 65682 ) != 0 ) i -= Math.abs( WindLRPow ) + 1;
				if( ( Key[0] & 262728 ) != 0 ) i += Math.abs( WindLRPow ) + 1;
				if( ( Key[1] & ( 524544 | 1048608 ) ) != 0 ) GF[12] = true;

        WindLR += WindLRPow + i;
				if(Math.abs(WindLR) > 32) WindLR = (32 * WindLR) / Math.abs(WindLR);

				// 拝抧Tutorial
				if( Pow <= 10 && GF[16] ){
					Frame = 0;
					GM = 650;
					GF[16] = false;
				}
				// 拝抧
				if( Pow <= 0 ){
					GM = 700;
					Frame = 30;
					Pow = 0;
					Temp[0] = 0;
				}
				LineX = ( -200 * Pow ) / 60;
			}

		}
		//--------------------------------------------------------------------------
		if( GM == 650 ){
//			GF[1] = true;
			GF[15] = true;

			Temp[0] = ( Temp[0] + 1 ) % 16;
			if( Temp[0] == 0 ){
				HowTo++;
				if( HowTo == 9 ) return;

				GF[12] = true;
				GF[15] = false;
				GM = 600;
				return;
			}
		}
		//--------------------------------------------------------------------------
		if( GM == 700 ){

			GF[1] = true;
			LineOY = LineY;

			Frame--;
			if( Frame > 0 ) {
				PXY = 5 * ( 30 - Frame );
				if(Frame > 19 && (Key[1] & 1048608) != 0 && (VSList[0] == 7 || VSList[0] == 6))
					GF[12] = true;

				if( Temp[0] < 6 && GF[12]) Temp[0]++;
			}
			else{
				Temp[0] = 0;
				Temp[1] = 60 + ( ( Kyori - 1200 ) * 18 ) / 100; // 86.6 meters = score 0
				
				if( Temp[1] < 0 ) Temp[1] = 0;
				Temp[0] += Temp[1];

        Hikei = 50 - ( 50 * RedPoint ) / Hikyori + Math.abs( R.nextInt() % 3 );
				if( GF[12] ) Hikei += 8;
				Temp[0] += Hikei;

				nScore[0] += Temp[0];

				Frame = 0;

⌨️ 快捷键说明

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