📄 tkc.java
字号:
if((b[3] && v[14] > -114)){
v[14] -= 6;//调整炮管向上
}
if((b[4] && v[14] < 0)){
v[14] += 6; //调整炮管向下
}
g.setColor(v[49]);//红色
g.drawLine(17,29,22,14); //画发炮角度的 调节线
g.drawLine(17,29,33,29);
g.setColor(v[50]);//绿色
g.drawLine(17,29,sclist[0][v[14]/(-6)],sclist[1][v[14]/(-6)]); //sclist[][] v[14]控制该线段移动
if(v[16] == 0) //炮弹指示条 当力量为 0时
b[10] = true;
else if(v[16] == 40) //当为满力量时
b[10] = false;
if(b[10]){
v[16] += 2;//控制 炮弹指示条的 前进
}
else{
v[16] -= 2; //后退
}
g.setColor(v[50] | v[51]);//绿色|蓝色 按位或
g.fillRect(41,21,v[16],3);//画 炮弹发射力量的指示 v[16]控制变量
}
if((b[6] && v[11] < 110)){
v[11] += 2;//调节炮管向前
if(v[11]+30 > 60){
v[21] += 2; //调节炮身向前
}
}
else if((b[5] && v[11] > 0)){
v[11] -= 2; //调节炮管向后
if(v[11]+30 > 58){
v[21] -= 2;//调节炮身向后
}
}
g.setColor(v[51]);//蓝色
g.fillRect(37,40,48,1);//画 距离指示 底边的蓝色线
g.setColor(v[50]); //绿色
g.fillRect(37+(v[11]/(75/10)),38,4,2);//画距离指示 玩家 方面的 绿色方块
g.setColor(v[49]);//红色
g.fillRect(33+(v[12]/(75/10)),38,4,2);//画距离指示 敌人 方面的 红色方块
g.setColor(getColorOfRGB(191,127,63));//画距离指示 中间 的褐色山峰指示
if(!b[12]){
g.fillRect(56,37,8,3);// 山峰被炮打中 的填充 范围
}
else{
g.fillRect(56,39,8,1); //打中后 变小 b[12] 控制
}
}
}
else if((b[2] && b[1])){
//当玩家炮弹 碰到物体 当换到敌人攻击时 调用
if(v[17] == 0 && v[18] == 0){//当敌人坦克移动时
if(v[44] == v[15]){//当敌人坦克停止移动时
v[5] = 5;
v[23] = v[21];
b[1] = false;
if(v[10] > 0){//敌人坦克炮弹 大于 0
//敌人坦克发炮
v[28] = 0;
v[24] = v[12] - 10;
v[25] = 72;
if(v[15] < -6){ //判断敌人坦克发炮力度
v[25] -= 4;//炮弹的移动 Y 坐标 --
}if(v[15] < -24){
v[25] -= 3; //Y坐标 --
}if(v[15] < -42){//力度加大
v[24] += 2; //X坐标 增加 提高 炮弹高度
v[25] -= 3;
}if(v[15] < -60){
v[24] += 2;
v[25] -= 2;
}
}
else{ //敌人没有炮弹
v[5] = 10;
v[10] = Math.abs(rnd.nextInt() % 7) + 3;//敌人的炮弹通过随机数产生
v[16] = 0;
v[19] = 0;
v[20] = 0;
v[23] = v[21];
v[21] = v[22];
b[2] = false;
b[10] = true;
}
}
else{
if(v[44] > v[15])
v[44] -= 6;//调整敌人炮管 的角度
if(v[44] < v[15])
v[44] += 6;
}
}
if(v[12] > 334){
v[18]=0;
//当敌人坦克坐标 大于一定范围时 停止移动 向右
}
if(v[18] > 0){
v[18]-=1;
v[12]+=2;
//如果没有达到移动的最大范围 敌人坦克炮管坐标 增加
if(v[12] <= 300){
v[21]+=2;
//如果没有达到移动的最大范围 敌人坦克身体 移动 向右
}
}
if(v[12] < 218){
v[17]=0;
//当敌人坦克坐标 大于一定范围时 停止移动 向左
}
if(v[17] > 0){
v[17]-=1;
v[12]-=2;
//如果没有达到移动的最大范围 敌人坦克炮管坐标 减少
if(v[12] < 300){
v[21]-=2;
//如果没有达到移动的最大范围 敌人坦克身体 移动 向左
}
}
}
else if((b[1] ^ b[2])){
attack();
}
if(v[21] < 0){//判断敌人坦克身 的移动
v[21] = 0;
}
if(v[21] > 240){
v[21] = 240;
}
//if(txtshowtime<30)
//{
g.setColor(v[48]);
setSoftLabel(1,"返回");
setSoftLabel(0,"退出");
//}
}
if(v[2] == 6){//敌人死时的界面
edge(0,0);
drawImage(image[36],35,17);//result
drawImage(image[37],14,48);//destroy
drawImage(image[38],14,73);//average
g.setColor(v[50]);//绿色
drawString(Integer.toString(v[35]),84-(Integer.toString(v[35]).length() * 6),45);
if(v[36] != 0)
drawString(Integer.toString(((v[37]*100)/v[36])),87-(Integer.toString((v[37]*100)/v[36]).length() * 6),70);
else
drawString("0",78,90);
drawString("个",90,45);
drawString("%",93,70);
if(b[15]){
b[15] = false;
v[5] = 10;
//setSoftLabel(1,"返回");
}
g.setColor(v[48]);
setSoftLabel(1,"返回");
}
//加载资源
if(v[2] == 0)
{
loadImage();
if(lcont>54)
{
v[2]=1;
}
}
}
//-----------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------
public void keyPressed(int keycode)//up-1 down-6 left-2 right-5 中间确认键 -20 左键 -21 右键 -22
{
// int key = keycode;
//System.out.println(keycode);
//System.out.println(b[16]);
switch(keycode)
{
case 53: //数字键 "5"
if(v[2]==5)
{
if(!(b[1] || b[2]))
{
if(!b[9]) //发炮
{
v[30] = -1;
if(v[8] > 0)
{
v[8]--;
v[36]++;
v[28] = 0;
v[22] = v[21];
b[1] = true;
if(v[16] != 0)
{
v[20] = (((v[14] / -6)) * 3);
v[20] = (v[20]*v[16]*100 / 4000);
}
if(v[14] < -78)
{
v[16] = v[16] * (10-(v[14]+78) / -6)/10;
}
v[24] = v[11] + 37;
v[25] = 72;
if(v[14] < -6)
{
v[25] -= 4;
}if(v[14] < -24){
v[25] -= 3;
}if(v[14] < -42){
v[24] -= 2;
v[25] -= 3;
}if(v[14] < -60){
v[24] -= 1;
v[25] -= 1;
}if(v[14] < -78){
v[24] -= 7;
v[25] -= 2;
}
}
else{
v[5] = 5;
v[8] = 10;
v[19] = 0;
v[22] = v[21];
v[21] = v[23];
e_act();
b[1] = true;
b[2] = true;
}
}
}
}
break;
case 49: //数字键 “1”
if(v[2]==5)
{
if(!(b[1] || b[2]))
{
if(b[9])
{
//回到正常游戏中界面
v[21] = v[22];
b[7] = false;
b[8] = false;
b[9] = false;
}else
{
//进入search 界面
v[22] = v[21];
b[3] = false; //发炮从新复位 上
b[4] = false; // 下
b[5] = false; // 移动从新复位 左
b[6] = false; // 右
b[9] = true;
}
}
}
break;
case 50: //数字键 2 代表向上
if(v[2]==5)
{
if(!(b[1] || b[2]))
{
if(!b[9])
{
b[3] = true;
}
}
}
break;
case 56: //数字键 8 代表向下
if(v[2]==5)
{
if(!(b[1] || b[2]))
{
if(!b[9])
{
b[4] = true;
}
}
}
break;
case 52: //数字键 4 代表向左
if(v[2]==5)
{
if(!(b[1] || b[2]))
{
if(!b[9])
{
b[5] = true;
}
}
}
break;
case 54: //数字键 6 代表向右
if(v[2]==5)
{
if(!(b[1] || b[2]))
{
if(!b[9])
{
b[6] = true;
}
}
}
break;
case -1: //上方向键
if(v[2]==100) //菜单界面 上方向键
{
if(!gamePause)
{
menucont = (menucont==0)?4:(--menucont);
}else if(gamePause)
{
menucont = (menucont==0)?5:(--menucont);
}
}else if(v[2]==5)
{
if(!(b[1] || b[2]))
{
if(!b[9])
{
b[3] = true;//向上调整发炮角度
}
}
}else
if(v[2]==4) //设置界面 上方向键
{
if(b[14])
{
v[6]--;
if(v[6] < 0)
{
v[6] = 2;
}
}
}else if(v[2]==2)
{
InstCount = (InstCount==0)?9:(--InstCount);
}else if(v[2]==101)
{
help = (help==0)?2:(--help);
}
break;
case -2://下方向键
//case -6://in C650
if(v[2]==100) //菜单界面 下方向键
{
if(!gamePause)
{
menucont = (menucont==4)?0:(++menucont);
}else if(gamePause)
{
menucont = (menucont==5)?0:(++menucont);
}
}else
if(v[2]==4) //设置界面 //下方向键
{
if(b[14])
{
v[6]++;
if(v[6] > 2)
{
v[6] = 0;
}
}
}else if(v[2]==5) //游戏中 下方向键
{
if(!(b[1] || b[2]))
{
if(!b[9])
{
b[4] = true; //向下调整发炮角度
}
}
}else if(v[2]==2)
{
InstCount = (InstCount==9)?0:(++InstCount);
} else if(v[2]==101)
{
help = (help==2)?0:(++help);
}
break;
case -3://左方向键
//case -2://C650
if(v[2]==5) //游戏中 左方向键
{
if(!(b[1] || b[2]))
{
if(b[9])
{
b[7]=true;
}else
{
b[5]=true;//向左移动
}
}
if(b[14])
{
b[16]=!b[16]; //出现 继续 退出 进行选择。调整到方向键
}
}else if(v[2]==4)
{
if(!b[14])
{
if(v[41] == 65) //选择mission 或者是 crew
v[41]=7;
}else
{
if(v[41]==7)
{
b[16]=true;
}
}
}
break;
case -4://右方向键
//case -5://C650
if(v[2]==4) //设置界面 右方向键 //b[14]=true 为 已经选择了
{
if(!b[14])
{
if(v[41] == 7)
v[41]=65;
}else
{
if(v[41]==7)
{
b[16]=false;
}
}
}else if(v[2]==5)//游戏中 右方向键
{
if(!(b[1] || b[2]))
{
if(b[9])
{
b[8]=true;
}else
{
b[6]=true;//向右移动
}
}
if(b[14])
{
b[16]=!b[16]; //出现 继续 退出 进行选择。调整到方向键
}
}
break;
case -5://中间确认键
//case -20://C650
if(v[2]==100) //菜单界面 中间确认键
{
switch(menucont)
{
case 0:
if(!gamePause)
{
v[2]=4;
}else if(gamePause)
{
}
break;
case 1:
if(!gamePause)
{}
else if(gamePause)
{}
break;
case 2:
if(!gamePause)
{}
else if(gamePause)
{}
case 3:
if(!gamePause)
{}
else if(gamePause)
{}
break;
case 4:
if(!gamePause)
{}
else if(gamePause)
{}
break;
}
}else if(v[2]==4) //设置界面 中间确认键
{
if(!b[14])
{
b[14] = true;
if(v[41] == 7)
b[16] = false;
}else
{
if(v[41] == 7)
{ //如果是任务
if(b[16]){
v[7] = 400;
v[35] = 0;
v[36] = 0;
v[37] = 0;
v[38] = 0;
v[45] = 0;
iniPara();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -