📄 screen.java
字号:
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 + -