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

📄 screen.java

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


               if(select==0)
               {
                   g.drawString("游戏描述:",0+bt,0+30,0);
                   g.drawString("这是一款精美的音乐足",0+bt,20+30,0);
                   g.drawString("球游戏.随着优美的乐曲",0+bt,40+30,0);
                   g.drawString(",迅速准确地扑出飞面而",0+bt,60+30,0);
                   g.drawString("来的彩色足球.给您带来",0+bt,80+30,0);
                   g.drawString("视听享受的同时,又锻炼",0+bt,100+30,0);
                   g.drawString("了您的脑筋和手指.",0+bt,120+30,0);
               }
               else if(select==1)
               {
                   g.drawString("游戏使用规则:",0+bt,0+30,0);
                   g.drawString("开始守门吧!屏幕的左下",0+bt,20+30,0);
                   g.drawString("方,有两排黑白相间的能",0+bt,40+30,0);
                   g.drawString("量球.能量球的数量随着",0+bt,60+30,0);
                   g.drawString("级别提高而减少.随着音",0+bt,80+30,0);
                   g.drawString("乐,不断有彩色足球落下",0+bt,100+30,0);
                   g.drawString(",若你错扑了一个彩球,能",0+bt,120+30,0);
               }
               else if(select==2)
               {
                   g.drawString("量球就会减少一个.当能",0+bt,0+30,0);
                   g.drawString("量球消失时,游戏将自动",0+bt,20+30,0);
                   
				   g.drawString("结束。",0+bt,40+30,0);
                   g.drawString("游戏分为易、中、难3",0+bt,60+30,0);
                   g.drawString("个级别,每通过一级后才",0+bt,80+30,0);
                   g.drawString("可进入更高一级,在统计",0+bt,100+30,0);
                   g.drawString("画面如果有8个以上的奖",0+bt,120+30,0);
               }
               else if(select==3)
               {
                   g.drawString("杯高亮显示,才可以升级.",0+bt,0+30,0);
                   //g.drawString("",0,20+30,0);
                   g.drawString("游戏操作方法:",0+bt,40+30,0);
                   g.drawString("四方向键左或数字4键",0+bt,60+30,0);
                   g.drawString(",对应绿色的足球。",0+bt,80+30,0);
                   g.drawString("四方向键下或数字8键",0+bt,100+30,0);
                   g.drawString(",对应紫色的足球。",0+bt,120+30,0);
               }
               else if(select==4)
               {
                   g.drawString("四方向键上或数字2键",0+bt,0+30,0);
                   g.drawString(",对应黄色的足球。",0+bt,20+30,0);
                   g.drawString("四方向键右或数字6键",0+bt,40+30,0);
                   g.drawString(",对应红色的足球。",0+bt,60+30,0);
                   //g.drawString("",0,80+30,0);
                   g.drawString("联系我们:",0+bt,100+30,0);
                   g.drawString("客服电话:010-",0+bt,120+30,0);
               }
               else
               {
                   g.drawString("客服E-MAIL:",0+bt,0+30,0);
                   g.drawString("xxx",0+bt,20+30,0);
               }


//wolf               g.drawString("返回", 3, 180, 0);
//wolf               g.drawString("更多", 142, 180, 0);


        g.drawString("返回", 142, 180, 0);//wolf
        g.drawString("更多", 3, 180, 0);  //wolf

           }


           public void keyPressed(int code)
           {
                if(code==-7/*21*/) //wolf 改成右键
                {
                    scr.gamestate=COVER2;
                    Display.getDisplay(DJ.instance).setCurrent(scr);
                    return;
                }
                else if(code==-6/*22*/) //wolf 改成左键
                {
                    select=select==5?(byte)0:(++select);
                    repaint();
                    serviceRepaints();
                    return;
                }

                int cc = getGameAction(code);

                if( cc==UP )
                {
                    select=select==0?(byte)5:(--select);
                }
                else if( cc==DOWN )
                {
                    select=select==5?(byte)0:(++select);
                }

                repaint();
                serviceRepaints();

           }


     }


     class AboutScreen extends Canvas
     {
         Screen scr;

         public AboutScreen(Screen s)
         {
              scr=s;
              setFullScreenMode(true);
         }


         public void paint(Graphics g)
         {

             g.setColor(0xFFFFFF);
             g.fillRect(0, 0, WD, HI);
             g.setFont(Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD, Font.SIZE_SMALL));

             g.setColor(0x00ffFF);
             g.fillRect(0, 0, WD, 20);
             g.setColor(128,128,128);
             g.drawLine(0, 20, WD, 20);

             g.setColor(0);
             g.drawString("关于",WD/2,1,g.TOP|g.HCENTER);


             g.drawString("名称:音乐足球-爱如潮水", 3, 30, 0);
             g.drawString("版本:1.0", 3, 50, 0);
             g.drawString("厂商:TIANBEN CO.,LTD.", 3, 70, 0);
             g.drawString("版权:\u00A9 TIANBEN CO.,LTD.", 3, 90, 0);
             g.drawString("网址:www.tianben.com.cn", 3, 110, 0);
             g.drawString("安装后:63KB", 3, 130, 0);
             g.drawString("安装前:63KB", 3, 150, 0);

//wolf             g.drawString("返回", 3, 180, 0);
             
g.drawString("返回", 142, 180, 0);//wolf


         }



         public void keyPressed(int code)
         {
              if(code==-7/*21*/)//wolf改成右键
              {
                  scr.gamestate=COVER2;
                  Display.getDisplay(DJ.instance).setCurrent(scr);
              }

         }


     }



     void drawGame(Graphics g)
     {

          if( isover<26 )
          {
              drawGaming(offg);
              g.drawImage(offS, 0, -15, 0);
              g.setColor(0xE8EB01);
       //wolf       g.fillRect(0,HI-15,WD,15);
        g.fillRect(0,HI-15,WD,15+6);  //wolf        
              setClipImage(g, 2, 189, menu3, 216, 0, 31, 16);
              setClipImage(g, 142, 189, menu3, 247, 0, 32, 16);

          }
          else if( isover<80 )
          {
              g.drawImage(offS, 0, -15, 0);
              g.setColor(0xE8EB01);
              g.fillRect(0,HI-15,WD,15);

              if(ispassed)
              {
                  if(gametime<=50)
                  {
                      if(gametime%2==0)
                          g.drawImage(passedimg,56,54,0);
                  }
                  else
                      g.drawImage(passedimg,56,54,0);
              }
              else
                  g.drawImage(overimg,51,54,0);

              isover++;

          }
          else
          {
              gamestate=GAMERESULT;
              gametime=0;
          }


     }



     void drawGaming(Graphics g)
     {
          if( gametime<3 )
              GetTime1=GetTime2=System.currentTimeMillis();

          g.drawImage(back1img, 0, 0, 0);

          //if(gametime % 2 == 0)     //画闪动区域1
          //{
              setClipImage(g, 9, 172, Cflash1, 6 * Random(5), 0, 31, 31);
              g.drawImage(Bflash1, 9, 172, 0);
          //}
          //if(gametime % 2 == 0)     //画闪动区域2
          //{
              setClipImage(g, 160, 16, Cflash2, 0, 0, 12, 60);
              g.setColor(0xffffff);
              g.fillRect(160, 16, 12, Random(60));
              g.drawImage(Bflash2, 160, 16, 0);
          //}


          if(timexx<75)
              Compare(g,key);     //每一帧做一次对球的比较
          key=-1;



          for(byte k=0;k<4;k++)     //画光盘的旋转
          {
              if(dieturn[k][0]==1)
              {
                   // dieturn[k][1]==1 顺时针旋转
                   // dieturn[k][1]==0 逆时针旋转

                   setClipImage(g, 11+38*k, 111, dieimg, 28*Math.abs( (3*dieturn[k][1]-dieturn[k][2]%4) ), 0, 28, 28);

                   dieturn[k][2]++;

                   if(dieturn[k][2]==9+3*dieturn[k][1])
                       dieturn[k][0]=0;
              }

          }


          for(byte i=0;i<6;i++)
          {
              if( ball[i]>=0 )    //画下落的球
              {

                  if(d1.data[ball[i]][1]>-12 && d1.data[ball[i]][1]<=111)
                      setClipImage(g, d1.data[ball[i]][0], d1.data[ball[i]][1], ballimg, d1.data[ball[i]][2]*28, 0, 28, 28);

                  if(d1.data[ball[i]][1]>-12 && d1.data[ball[i]][1]<16)
                      setClipImage(g, 0, 0, back1img, 0, 0, WD, 16);

                  d1.data[ball[i]][1]+=step;
              }


              if( ballup[i][0]>=0 )     //画上升的球
              {
                  if(d1.data[ballup[i][0]][1]>-12 && d1.data[ballup[i][0]][1]<=111)
                      setClipImage(g, d1.data[ballup[i][0]][0], d1.data[ballup[i][0]][1], ballimg, d1.data[ballup[i][0]][2]*28, 0, 28, 28);

                  if(d1.data[ballup[i][0]][1]>-12 && d1.data[ballup[i][0]][1]<16)
                      setClipImage(g, 0, 0, back1img, 0, 0, WD, 16);


                  if( ballup[i][1]==1 )
                      d1.data[ballup[i][0]][1]-=20;
                  else if( ballup[i][1]==2 )
                      d1.data[ballup[i][0]][1]-=30;

                  if(d1.data[ballup[i][0]][1]<=-12)
                      ballup[i][0]=-1;

              }


              if( balldown[i][0]>=0 )  //画自由落体的球
              {
                  if(d1.data[balldown[i][0]][1]<=111)
                      setClipImage(g, d1.data[balldown[i][0]][0], d1.data[balldown[i][0]][1], ballimg, d1.data[balldown[i][0]][2]*28, 0, 28, 28);


                  if( balldown[i][1]<YY.length )
                  {
                      d1.data[balldown[i][0]][1]-=YY[balldown[i][1]];
                      balldown[i][1]++;
                  }
                  else
                      d1.data[balldown[i][0]][1]+=step;

              }


          }


          GetTime2=System.currentTimeMillis();

          if( level==1 )
          {
              if( isaddball && GetTime2-GetTime1>55000 )
                  isaddball=false;
          }
          else if( level==2 )
          {
              if( isaddball && GetTime2-GetTime1>57000 )
                  isaddball=false;
          }
          else
          {
              if( isaddball && GetTime2-GetTime1>59000 )
                  isaddball=false;
          }



          if( balldown[0][0]>=0 && d1.data[balldown[0][0]][1]>(111+step) )
          {
              Updataballdown();
              message=1;
              messagetime=0;
              Numcombo=0;
              Numlossed++;

              if(lifeball1==lifeball2)
                  lifeball2--;
              else if(lifeball1<lifeball2)
                  lifeball2--;
              else
                  lifeball1--;

          }


          if( ball[0]>=0 && d1.data[ball[0]][1]>(111+step) )  // 增加新的球
          {

              addball(0,0);

              message=1;
              messagetime=0;
              Numcombo=0;
              Numlossed++;


              if(lifeball1==lifeball2)
                  lifeball2--;
              else if(lifeball1<lifeball2)
                  lifeball2--;
              else
                  lifeball1--;

          }


          if( message>0 )    //画提示信息
          {
              g.drawImage(messageimg1, -5, 46-15, 0);
              switch(message)
              {
              default:
                  break;

              case 1: // '\001'
                  setClipImage(g, 58+9, 49-14, messageimg2, 0, 0, 32, 15);
                  break;

              case 2: // '\002'
                  setClipImage(g, 62+13, 48-12, messageimg2, 66, 0, 16, 15);
                  break;

              case 3: // '\003'
                  setClipImage(g, 62-4, 49-13, messageimg2, 32, 0, 50, 15);
                  break;

              case 4: // '\004'
                  setClipImage(g, 58+9, 49-14, messageimg2, 82, 0, 33, 15);
                  setClipImage(g, 58+6,  60, messageimg3, 130, 0, 17, 17);
                  if( Numcombo>9 )
                      Numcombo=9;
                  setClipImage(g, 78+9, 60, messageimg3, 13*Numcombo, 0, 13, 17);

                  /*
                  if(Numcombo < 10)
                  {
                      setClipImage(g, 63, 76, messageimg3, 130, 0, 26, 31);
                      setClipImage(g, 99, 76, messageimg3, 13 * Numcombo, 0, 13, 31);
                      break;
                  }
                  if(Numcombo < 100)
                  {
                      setClipImage(g, 57, 76, messageimg3, 130, 0, 26, 31);
                      setClipImage(g, 89, 76, messageimg3, 13 * (Numcombo / 10), 0, 13, 31);
                      setClipImage(g, 105, 76, messageimg3, 13 * (Numcombo % 10), 0, 13, 31);
                  } else
                  {
                      setClipImage(g, 49, 76, messageimg3, 130, 0, 26, 31);
                      setClipImage(g, 81, 76, messageimg3, 13 * (Numcombo / 100), 0, 13, 31);
                      setClipImage(g, 97, 76, messageimg3, 13 * ((Numcombo / 10) % 10), 0, 13, 31);
                      setClipImage(g, 113, 76, messageimg3, 13 * (Numcombo % 10), 0, 13, 31);
                  }
                  */
                  break;
              }


              messagetime++;
              if( messagetime==2 )
                  message = -1;
          }


          if(score>999999)
             score=999999;
          drawscore2(g, 73, 150, score);



          g.setColor(0x0000FF);    //画计时器的指针
          if( clock%20>=0 && clock%20<5 )
              g.drawLine(58, 192, 61, 192);
          else if( clock%20>=5 && clock%20<10 )
              g.drawLine(62, 188, 62, 191);
          else if( clock%20>=10 && clock%20<15 )
              g.drawLine(63, 192, 66, 192);
          else
              g.drawLine(62, 193, 62, 196);

          if( timexx<75  && isover==0 )
              clock=(clock==(byte)20)?0:(++clock);


          if( timexx>75 )
          {
              timexx=75;
              isaddball=false;
          }

⌨️ 快捷键说明

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