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

📄 screen.java

📁 一个商业的J2ME音乐游戏
💻 JAVA
📖 第 1 页 / 共 5 页
字号:

          g.drawImage(timeimg1, 77, 183, 0);    //画时间的进度条
          g.setColor(128, 128, 128);
          g.fillRect(77 + timexx, 183, 75 - timexx, 15);
          g.drawImage(timeimg2, 76, 182, 0);

          if( timexx<75 && isover==0 )
              timexx=(int)(4*(19*(GetTime2-GetTime1)/65000));


          for(byte i = 0; i < lifeball1; i++)    //画上层的生命球
              g.drawImage(lifeimg, 140 - 13 * i, 145, 0);

          for(byte i = 0; i < lifeball2; i++)    //画下层的生命球
              g.drawImage(lifeimg, 140 - 13 * i, 158, 0);



          if( lifeball1<=0 )     //生命球个数为零时游戏结束
          {
              if(lifeball1==0)
              {
                  isover=22;
                  lifeball1=-1;
              }

              setover();

          }
          else if( timexx==75 )    //游戏正常结束
          {
              Check();
              setover();
          }



     }


     void Check()
     {
          byte ccc=0;

          for(int i=0;i<6;i++)
          {
              if( ball[i]>=0 )          //下落的球
              {
                  if( d1.data[ball[i]][1]>-12 && d1.data[ball[i]][1]<=111 )
                      ccc++;
                  else
                      ball[i]=-1;
              }


              if( ballup[i][0]>=0 )     //上升的球
              {
                  if( d1.data[ballup[i][0]][1]>-12 && d1.data[ballup[i][0]][1]<=111 )
                      ccc++;
                  else
                      ballup[i][0]=-1;
              }


              if( balldown[i][0]>=0 )   //自由落体的球
              {
                  if( d1.data[balldown[i][0]][1]<=111 )
                      ccc++;
                  else
                      balldown[i][0]=-1;
              }

          }

          if( ccc==0 )
              isover=25;


     }


     void setover()
     {
         isover++;

         if(isover==26)
         {
             fenmu=Numlossed+Numgoods+Numgreats;
             WriteRecord1();

             if(soundselect==1)
                activeBKSound(3);

             gametime=0;
         }

     }


     void drawPause(Graphics g)
     {
         g.drawImage(offS, 0, -15, 0);

         g.setColor(0xE8EB01);
         g.fillRect(0,HI-15,WD,15);
         setClipImage(g, 2, 189, menu3, 216, 0, 31, 16);
         setClipImage(g, 142, 189, menu3, 247, 0, 32, 16);

         /*
         if(selectp == 0)
             g.drawImage(menu1, 42, 60, 0);
         else
             g.drawImage(menu1, 42, 85, 0);

         setClipImage(g, 68, 62, menu3, 216, 0, 31, 16);
         setClipImage(g, 68, 87, menu3, 247, 0, 32, 16);
         */

     }




     void drawGameResult(Graphics g)
     {
         for(int i=0;i<20;i++)
         {
             setClipImage(g,xy[i][0],xy[i][1],back2img,0,0,66,66);
             xy[i][0]++;
             xy[i][1]++;
         }

         if(xy[0][0]==0)
         {
             for(int i=0;i<20;i++)
             {
                 xy[i][0]-=66;
                 xy[i][1]-=66;
             }
         }


         setClipImage(g, 20+5, 16, messageimg2, 0, 0, 32, 15);      //missed
         setClipImage(g, 27+5, 69, messageimg2, 63, 0, 16, 15);     //good
         setClipImage(g, 10+5, 122, messageimg2, 32, 0, 50, 15);   //great


         // 画进度条
         g.drawImage(jindutiaoimg1,103-5,16,0);
         g.drawImage(jindutiaoimg2,103-5,69,0);
         g.drawImage(jindutiaoimg3,103-5,122,0);

         g.setColor(0);
         g.fillRect(106-5,19,63-63*lossx/fenmu,11);
         g.fillRect(106-5,72,63-63*goodx/fenmu,11);
         g.fillRect(106-5,125,63-63*greatx/fenmu,11);

         if(goodx<Numgoods)
            goodx+=5;
         else
            goodx=Numgoods;

         if(lossx<Numlossed)
            lossx+=5;
         else
            lossx=Numlossed;

         if(greatx<Numgreats)
            greatx+=5;
         else
            greatx=Numgreats;



         // 画成绩
         if( (goodx+lossx+greatx)==fenmu )
         {
             drawscore1(g, 172-5, 36, Numlossed);
             drawscore1(g, 172-5, 36+53, Numgoods);
             drawscore1(g, 172-5, 36+106, Numgreats);


             if( flagstar )
             {
                 //starnum=10*(Numgreats+(Numgoods*4/5))/fenmu;
                 starnum=10*Numgreats/fenmu;
                 gametime=0;
                 flagstar=false;
             }

         }



        // 画星星
        for(int i=0;i<10;i++)
            setClipImage(g,9+i*16,165,starimg,13,0,13,14);


        if(gametime/5<starnum)
        {
           for(int i=0;i<gametime/5;i++)
               setClipImage(g,9+i*16,165,starimg,0,0,13,14);
        }
        else
        {
           for(int i=0;i<starnum;i++)
               setClipImage(g,9+i*16,165,starimg,0,0,13,14);
        }


//wolf        setClipImage(g, 1, 188, menu3, 216, 0, 31, 16);
setClipImage(g, 144, 188, menu3, 216, 0, 31, 16);//wolf

        if(!ispassed)
           //wolf   setClipImage(g, 144, 188, menu3, 247, 0, 32, 16);
           setClipImage(g, 1, 188, menu3, 247, 0, 32, 16);  //wolf
        else
           //wolf   setClipImage(g, 144, 188, menu3, 279, 0, 31, 16);
           setClipImage(g, 1, 188, menu3, 279, 0, 31, 16);//wolf



     }



     void drawscore1(Graphics g, int x, int y, int nNumber)   //无位数限制
     {
         do
         {
            setClipImage(g, x-=11, y,numimg,(nNumber%10)*9,0,9,13);
         }
         while ((nNumber/=10) != 0);
     }


     void drawscore2(Graphics g, int x, int y, int nNumber)   //有位数限制
     {
         for(int i=0; i<6; i++)
         {
             setClipImage(g, x-11*i, y, numimg, (nNumber%10)*9, 0, 9, 13);
             //g.drawString(Integer.toString( (nNumber%10) ),x-=9, y,0);
             nNumber/=10;
         }
     }


     public void setClipImage(Graphics g, int i, int j, Image image,int k, int l,int i1,int j1)
     {
         g.setClip(i, j, i1, j1);
         g.drawImage(image, i - k, j - l, 0);
         g.setClip(0, 0, WD, HI);
     }


     public int Random(int length)
     {
         return Math.abs(rand.nextInt()%length);
     }


     public void hideNotify()
     {
         gt.showmenu=true;
//wolf         repaint();
//wolf         serviceRepaints();

activeBKSound(2);//wolf
     }

int wolfT;//wolf
     public void showNotify()
     {

         if( gamepause && isover>0 )
             gamepause=false;

         gt.showmenu=false;
//wolf         repaint();
//wolf         serviceRepaints();
         
 if(wolfT==0)
 {
     gamestate=TITLE;
     wolfT=1;    
 }
 else 
     gamestate=COVER2;//wolf
     
     }


     void addball(int kkk,int sss)   //增加新的球
     {

         if(isaddballup)
         {
             for(int k=0;k<6;k++)
             {
                 if(ballup[k][0]==-1)
                 {
                     if( kkk==0 )
                         ballup[k][0]=ball[0];
                     else
                         ballup[k][0]=balldown[0][0];

                     ballup[k][1]=sss;
                     break;
                 }
             }

             isaddballup=false;
         }

         if( kkk==1 )
             return;

         for(int i=0;i<5;i++)
             ball[i]=ball[i+1];


         if(isaddball)
         {
             ball[5]+=1;

             switch(level)
             {
                case Screen.Easy:
                     d1.data[ball[5]][1]=d1.data[ball[4]][1]-91;
                     break;

                case Screen.Normal:
                     d1.data[ball[5]][1]=d1.data[ball[4]][1]-90;
                     break;

                case Screen.Hard:
                     d1.data[ball[5]][1]=d1.data[ball[4]][1]-84;
                     break;
             }

         }
         else
         {
             ball[5]=-1;
         }

     }


     void Updataballdown()
     {

          for(int k=0;k<5;k++)
          {
              balldown[k][0]=balldown[k+1][0];
              balldown[k][1]=balldown[k+1][1];
          }

          balldown[5][0]=-1;
          balldown[5][1]=0;

     }


     void addballdown(int kkk)
     {

          if( kkk==0 )
          {
              for(int k=0;k<6;k++)
              {
                  if( balldown[k][0]==-1 )
                  {
                      balldown[k][0]=ball[0];
                      balldown[k][1]=0;
                      break;
                  }
              }

          }
          else
          {
              int temp=balldown[0][0];
              int iii=0;

              for(int k=1;k<6;k++)
              {
                  if( balldown[k][0]!=-1 )
                      iii++;

                  balldown[k-1][0]=balldown[k][0];
                  balldown[k-1][1]=balldown[k][1];

              }


              balldown[iii][0]=temp;
              balldown[iii][1]=0;

          }


     }





//   7     111   104    97    90
//  10     111   101    91
//  14     111    97


     void Compare(Graphics g,byte k)  //判断是否点中
     {

         if( balldown[0][0]>=0                            &&
             d1.data[balldown[0][0]][2]==k                &&
             (d1.data[balldown[0][0]][1]-step)>(111-28)   &&
             (d1.data[balldown[0][0]][1]-step)<=111        )
         {

             boolean flag=false;
             byte speed=0;
             //byte speed=1;

             switch(level)
             {
                 case Screen.Easy:
                      if( (d1.data[balldown[0][0]][1]-step)<=90 )
                           flag=true;
                      else if( (d1.data[balldown[0][0]][1]-step)<=97 )
                      {
                           flag=true;
                           speed=1;
                      }
                      else
                           speed=2;

                      break;

                 case Screen.Normal:
                      if( (d1.data[balldown[0][0]][1]-step)<=91 )
                           flag=true;
                      else if( (d1.data[balldown[0][0]][1]-step)<=101 )
                      {
                           flag=true;
                           speed=1;
                      }
                      else
                           speed=2;

⌨️ 快捷键说明

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