📄 zappercanvas.java
字号:
timeOut = false;
fuel = 100;
road.mainX = 0;
}
DrawBGS(g);
g.setFont(Font.getFont(0, 1, 8));
g.setColor(252, 255, 255);
g.drawString(" 新的游戏", 30, 65, 0x10 | 0x4);//25, 65, 0x10 | 0x4);
g.drawString(" 帮助文档", 30, 85, 0x10 | 0x4);//25, 85, 0x10 | 0x4)
g.drawString(" 按键说明", 30, 105, 0x10 | 0x4);//25, 105, 0x10 | 0x4)
g.drawString(" 积分排行", 30, 125, 0x10 | 0x4);//25, 125, 0x10 | 0x4)
g.drawString(" 声音设置", 30, 145, 0x10 | 0x4);//25, 145, 0x10 | 0x4)
g.drawString(" 游戏说明", 30, 165, 0x10 | 0x4);//25, 165, 0x10 | 0x4)
g.drawString(" 退出游戏", 30, 185, 0x10 | 0x4);//25, 185, 0x10 | 0x4)
g.setColor(255, 255, 255);
switch(selRectPos)
{
case 0: // '\0'
g.fillRoundRect(20, 60, 136, 18, 5, 5);
g.setColor(0, 102, 204);
g.drawString(" 新的游戏", 30, 65, 0x10 | 0x4);//25, 65, 0x10 | 0x4)
break;
case 1: // '\001'
g.fillRoundRect(20, 80, 136, 18, 5, 5);
g.setColor(0, 102, 204);
g.drawString(" 帮助文档", 30, 85, 0x10 | 0x4);//25, 85, 0x10 | 0x4)
break;
case 2: // '\002'
g.fillRoundRect(20, 100, 136, 18, 5, 5);
g.setColor(0, 102, 204);
g.drawString(" 按键说明", 30, 105, 0x10 | 0x4);//
break;
case 3: // '\003'
g.fillRoundRect(20, 120, 136, 18, 5, 5);
g.setColor(0, 102, 204);
g.drawString(" 积分排行", 30, 125, 0x10 | 0x4);//
break;
case 4: // '\004'
g.fillRoundRect(20, 140, 136, 18, 5, 5);
g.setColor(0, 102, 204);
g.drawString(" 声音设置", 30, 145, 0x10 | 0x4);//
break;
case 5: // '\005'
g.fillRoundRect(20, 160, 136, 18, 5, 5);
g.setColor(0, 102, 204);
g.drawString(" 游戏说明", 30, 165, 0x10 | 0x4);//
break;
case 6: // '\006'
g.fillRoundRect(20, 180, 136, 18, 5, 5);
g.setColor(0, 102, 204);
g.drawString(" 退出游戏", 30, 185, 0x10 | 0x4);//
break;
}
} else
if(page == 3)
{
DrawBGS(g);
g.setFont(Font.getFont(0, 1, 8));
g.setColor(255, 255, 255);
g.setColor(62, 112, 226);
g.fillRect(5, 40, 166, 160);
g.setColor(255, 255, 0);
g.drawRect(5, 40, 166, 160);
g.setColor(255, 255, 255);
g.setFont(Font.getFont(0, 1, 8));
g.drawString("按键说明", 45, 50, 0x10 | 0x4);
g.setFont(Font.getFont(0, 0, 8));
int i = 65;
byte byte2 = 17;
byte byte5 = 10;
g.drawString("按键菜单", byte5, i, 0x10 | 0x4);
i += byte2;
g.drawString("控制 / 数字键", byte5, i, 0x10 | 0x4);
i += byte2;
g.drawString("Right / Num6 - 加速", byte5, i, 0x10 | 0x4);
i += byte2;
g.drawString("Up / Num2 - 左转", byte5, i, 0x10 | 0x4);
i += byte2;
g.drawString("Down / Num8 - 右转", byte5, i, 0x10 | 0x4);
i += byte2;
g.drawString("比赛中捡到燃料罐就会",byte5,i, 0x10 | 0x4);
i += byte2;
g.drawString("加快你车跑的速度",byte5,i,0x10|0x4);
g.drawString(" 返回", 110, 185, 0x10 | 0x4);
} else
if(page == 9)
{
DrawBGS(g);
g.setColor(62, 112, 226);
g.fillRect(5, 40, 166, 160);
g.setColor(255, 255, 0);
g.drawRect(5, 40, 166, 160);
g.setColor(255, 255, 255);
g.setFont(Font.getFont(0, 1, 8));
g.drawString("积分排行", 50, 48, 0x10 | 0x4);
g.setFont(Font.getFont(0, 0, 8));
g.drawString("比赛练习", 55, 65, 0x10 | 0x4);
g.drawString("姓名 ", 45, 80, 0x10 | 0x4);
g.drawString("积分 ", 105, 80, 0x10 | 0x4);
g.drawString("" + rnames[0], 45, 95, 0x10 | 0x4);
g.drawString("" + rscores[0], 105, 95, 0x10 | 0x4);
g.drawString("Championship", 55, 110, 0x10 | 0x4);
g.drawString("姓名 ", 45, 125, 0x10 | 0x4);
g.drawString("积分 ", 105, 125, 0x10 | 0x4);
g.drawString("" + rnames[1], 45, 140, 0x10 | 0x4);
g.drawString("" + rscores[1], 105, 140, 0x10 | 0x4);
g.drawString("帮助", 75, 155, 0x10 | 0x4);
g.drawString("姓名 ", 45, 170, 0x10 | 0x4);
g.drawString("积分 ", 105, 170, 0x10 | 0x4);
g.drawString("" + rnames[2], 45, 185, 0x10 | 0x4);
g.drawString("" + rscores[2], 105, 185, 0x10 | 0x4);
} else
if(page == 4)
{
DrawBGS(g);
g.setColor(62, 112, 226);
g.fillRect(5, 40, 166, 160);
g.setColor(255, 255, 0);
g.drawRect(5, 40, 166, 160);
g.setColor(255, 255, 255);
g.setFont(Font.getFont(0, 1, 8));
g.drawString("游戏帮助", 75, 45, 20);
g.setFont(Font.getFont(0, 0, 8));
byte byte0 = 12;
byte byte3 = 10;//byte byte3 = 15;
byte byte6 = 60;
g.drawString("你准备好参加机车狂飚的比赛", byte3, byte6 + byte0 * 0, 20);
g.drawString("了吧!所有参赛选手都是经过", byte3, byte6 + byte0 * 1, 20);
g.drawString("精选出来的。本场比赛共分:", byte3, byte6 + byte0 * 2, 20);
g.drawString("练习赛、锦标赛和马拉松赛三", byte3, byte6 + byte0 * 3, 20);
g.drawString("级。游戏中你需要注意的就是", byte3, byte6 + byte0 * 4, 20);
g.drawString("控制好你的速度和方向,小心", byte3, byte6 + byte0 * 5, 20);
//g.drawString("否则容易撞车", byte3, byte6 + byte0 * 6, 20);
//g.drawString("你要经常观察四周! ", byte3, byte6 + byte0 * 7, 20);
g.drawString("撞车。你有信心吗?有的话那", byte3, byte6 + byte0 * 6, 20);//8,20
g.drawString("就加油吧!", byte3, byte6 + byte0 * 7, 20);//9,20
g.drawString(" 返回", 110, (byte6 + byte0 * 11) - 5, 0x4 | 0x10);//请按键g.drawString(" 返回", byte3 + 80, (byte6 + byte0 * 11) - 5, 0x4 | 0x10)
} else
if(page == 5)
{
DrawBGS(g);
showSignals = true;
signalCtr = 0;
g.setFont(Font.getFont(0, 1, 8));
g.setColor(255, 255, 255);
g.drawString("游 戏 难 度", 45, 65, 0x4 | 0x10);
if(level == 1)
g.drawString("练 习 赛 ", 50, 95, 0x4 | 0x10);
else
if(level == 2)
g.drawString("锦 标 赛 ", 50, 95, 0x4 | 0x10);
else
if(level == 3)
g.drawString("马 拉 松 赛 ", 70, 95, 0x4 | 0x10);
if(level == 1)
{
opponents = 1;
time = new timeKeeper(900);
} else
if(level == 2)
{
opponents = 2;
time = new timeKeeper(1200);
} else
{
opponents = 3;
time = new timeKeeper(1500);
}
g.drawString("其它赛手 : " + opponents, 25, 115, 0x4 | 0x10);
g.drawString("比赛时间 : " + time.min + ":" + time.sec + ":" + time.ms, 25, 135, 0x4 | 0x10);
} else
if(page == 6)
{
if(paused)
page = 11;
if(gameOver)
{
gameOver = false;
gameStart = false;
page = 7;
} else
if(timeOut)
page = 8;
else
if(outoffuel)
{
page = 8;
} else
{
road.drawRoad(g, quadrant);//这里不知道是不是画红绿灯
g.setColor(0, 0, 0);
g.fillRect(0, 192, 176, 28);// g.fillRect(0, 180, 176, 28);
g.setColor(255, 255, 0);
g.drawRect(2, 192, 90, 15); //左边的一个小黄框
g.drawImage(fuelImg, 96, 192, 0x4 | 0x10); //马鞍的图片
g.setColor(255, 255, 0);
g.drawRect(120, 192, 51, 12); //右边的小框
g.setColor(255, 0, 0);
if(gameStart)
g.fillRect(121, 193, fuel / 2, 11); //填充的条是由一个变量控制的
g.setColor(0, 0, 0); //左上角的黑色框
g.fillRect(0, 0, 176, 20);
g.setColor(255, 255, 0);
g.setFont(Font.getFont(0, 0, 8));
//g.setColor(255, 255, 0);
//g.setFont(Font.getFont(0, 0, 8));
//g.setColor(255, 255, 0);
//g.drawRect(2, 182, 90, 24);
//g.drawImage(fuelImg, 96, 182, 0x4 | 0x10);
//g.setColor(255, 255, 0);
//g.drawRect(120, 184, 51, 12);
// g.setColor(255, 0, 0);
// if(gameStart)
//g.fillRect(121, 185, fuel / 2, 11);
// g.setColor(0, 0, 0);
// g.fillRect(0, 0, 176, 20);
// g.setColor(255, 255, 0);
// g.setFont(Font.getFont(0, 0, 8));
//**********************************原来是
g.drawString("倒计时 : " + time.minS + ":" + time.secS + ":" + time.msS, getWidth()- 5, 5, 0x10 | 0x8);//getWidth()- 5, 5, 0x10 | 0x8);
if(gameStart)
{
drawCar(g);
} else
{
initializeCars(level, g);
ttt++;
if(ttt % 2 != 0)
g.drawImage(arrow, 74, getHeight() - 57, 3);
if(showSignals)
{
if(signalCtr <= 1)
{
if(sndEnable && signalCtr == 1)
{
gamesound.stopSounds();
gamesound.playSignal();
}
// g.drawImage(signal, 88 - signal.getWidth() / 2, 104 - signal.getHeight() / 2, 0x4 | 0x10);
g.drawImage(signal, 88 - signal.getWidth() / 2, (104 - signal.getHeight() / 2) + 2, 0x4 | 0x10);
g.setColor(255, 0, 0);
g.fillArc((88 - signal.getWidth() / 2) + 8, (104 - signal.getHeight() / 2) + 10, 10, 10, 0, 360);
} else
if(signalCtr > 1 && signalCtr <= 3)
{
if(sndEnable && signalCtr == 3)
{
gamesound.stopSounds();
gamesound.playSignal();
}
g.drawImage(signal, 88 - signal.getWidth() / 2, (104 - signal.getHeight() / 2) + 2, 0x4 | 0x10);
g.setColor(255, 0, 0);
g.fillArc((88 - signal.getWidth() / 2) + 8, (104 - signal.getHeight() / 2) + 10, 10, 10, 0, 360);
g.setColor(255, 255, 0);
g.fillArc((88 - signal.getWidth() / 2) + 20, (104 - signal.getHeight() / 2) + 10, 10, 10, 0, 360);
} else
if(signalCtr > 3 && signalCtr <= 6)
{
if(sndEnable && signalCtr == 5)
{
gamesound.stopSounds();
gamesound.playSignal();
}
g.drawImage(signal, 88 - signal.getWidth() / 2, (104 - signal.getHeight() / 2) + 2, 0x4 | 0x10);
g.setColor(255, 0, 0);//这里就是画红绿灯
g.fillArc((88 - signal.getWidth() / 2) + 8, (104 - signal.getHeight() / 2) + 10, 10, 10, 0, 360);
// g.fillArc((88 - signal.getWidth() / 2) + 1, (104 - signal.getHeight() / 2) + 7, 10, 10, 0, 360);
g.setColor(255, 255, 0);
g.fillArc((88 - signal.getWidth() / 2) + 20, (104 - signal.getHeight() / 2) + 10, 10, 10, 0, 360);
g.setColor(0, 255, 0);
g.fillArc((88 - signal.getWidth() / 2) + 33, (104 - signal.getHeight() / 2) + 10, 10, 10, 0, 360);
}
signalCtr++;
if(signalCtr >= 6)
{
showSignals = false;
gameStart = true;
signalCtr = 0;
}
}
}
}
} else
if(page == 7)
{
System.gc();
DrawBGS(g);
g.setFont(Font.getFont(0, 1, 8));
g.setColor(255, 255, 255);
g.drawString("完成比赛", 45, 50, 0x4 | 0x10);
g.drawString("时间积分: " + time.finalTime, 25, 70, 0x4 | 0x10);
g.drawString("马鞍积分 : " + fuel * 10, 25, 90, 0x4 | 0x10);
g.drawString("等级 : " + (opponents - rank) * 10, 25, 110, 0x4 | 0x10);
Score = time.finalTime + fuel * 10 + (opponents - rank) * 10;
g.drawString("总积分 : " + Score, 25, 130, 0x4 | 0x10);
road.mainX = 0;
ttt = 0;
if(Score > rscores[level - 1])
{
hCtr++;
hiScore = true;
if(hCtr % 2 == 0)
g.drawString("积分排行", 55, 160, 0x4 | 0x10);
}
} else
if(page == 8)
{
System.gc();
level = 1;
Cars.clear();
paused = false;
gameOver = false;
gameStart = false;
showSignals = true;
changeLaneUp = false;
changeLaneDn = false;
road.mainX = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -