📄 tkc.java
字号:
int at[] = new int[2];
if(v[19] == 0){
//music(2);
//敌人或玩家发炮的时候 调用
}
if(b[1]){
at[1] = v[12];
}
else{
at[1] = v[11];
}
if(v[7] != 0 && v[9] != 0){
drawImage(image[30],v[24]-v[21],v[25]);//画炮弹
at[0] = v[16]/5;
v[25]-=((v[19]-=2)+v[20])/4;
if(b[1]){
v[24] += at[0];
if((v[24]) >= 295 && v[28] == 1){
v[28] = 2;
v[21] = 240;
}
if(v[28] == 1){
v[21] += at[0];
}
if((v[24]-v[21]) >= 55 && v[28] == 0){
v[28] = 1;
v[21] += (v[24]-v[21]) - 55;
}
}
else{
v[24] -= at[0];
if((v[24]) < 55 && v[28] == 1){
v[28] = 2;
v[21] = 0;
}
if(v[28] == 1){
v[21] -= at[0];
}
if((v[24]-v[21]) < 55 && v[28] == 0){
v[28] = 1;
v[21] -= 55 - (v[24]-v[21]);
}
}
}
if(((b[1] ^ b[2]) && !b[11] )){
if( v[24] > 156 && v[24] < 200 && v[25] > 34 && v[25] < 99 && (!b[12])){
v[29] = 2;
v[30] = 3;
b[11] = true;
b[12] = true;
}
}
if(v[24] > at[1] && (v[24]) < (at[1] + 26) && (v[25]) > 64 && v[25] < 89){
b[11] = true;
v[30] = 0;
if(b[1]){
v[38]++;
v[37]++;
}
}
else if( (v[25]) >= 85){
b[11] = true;
if((v[24]) < (at[1] + 41) && (v[24] + 14) > at[1] && (v[25]) > 64){
v[30] = 1;
if(b[1])
v[37]++;
}
else{
v[30] = 2;
}
}
if(b[11]){
v[29] = 2;
if(v[30] == 0 || v[30] == 1){
int dam = 0;
if(b[1]){
dam = (100 + cPara[v[6]][0]*4) - (v[35]/10*10+v[27]);
if(v[30] == 1)
dam /= 2;
v[9] -= dam;
if(v[30] == 0){
if(rnd.nextInt() < 0)
v[18] = (Math.abs(rnd.nextInt() % 15)) + ((360-v[12])/12);
else
v[17] = (Math.abs(rnd.nextInt() % 15)) + ((v[12]-220)/12);
}
if(v[9] <= 0){
if(v[35]<99999)
v[35]++;
v[9] = 0;
}
}
else{
dam = (300 + (v[35]/10*10) + v[26]) - (cPara[v[6]][1]*4);
if(v[30] == 1)
dam /= 2;
v[7] -= dam;
v[45] = 0;
if(v[7] <= 0){
v[7] = 0;
}
}
}
else if(!b[1]){
v[45]++;
}
}
}
}
public void bom(){
if(b[11] && v[29] >= 0 && (!b[14])){
v[16] = 0;
v[19] = 0;
v[20] = 0;
if(v[29] == 2){
int targ=0;
if(!b[1]){
targ = v[11];
if(v[30] <= 1)
v[11]-=2;
}
else{
targ = v[12];
if(v[30] <= 1)
v[12]+=2;
}
if(v[30] == 0)
drawImage(image[31],targ-v[21],65);//画爆炸的图片
else
drawImage(image[31],v[24]-11-v[21],v[25]-15);
if(v[9] <= 0){
drawImage(image[34],20,48);//敌人死时显示的图片destroy
v[5] = 15;
}
if(v[7] <= 0){
drawImage(image[35],27,48); //玩家死时显示的图片failed
v[5] = 15;
}
//music(3);
}
if(v[29] == 1){
if(v[30] <= 1 && v[9] != 0 && v[7] != 0){
if(!b[1]){
v[11] += 2;
}
else{
v[12] -= 2;
}
}
}
if(v[29] == 0){
if((b[1] && !b[2])){
if(v[9] != 0){
v[5] = 5;
v[21] = v[23];
e_act();
b[2] = true;
}
else{
b[14] = true;
b[16] = true;
b[1] = false;
}
v[30] = -1;
}
if((b[2] && !b[1])){
v[10]--;
//当敌人炮弹碰到物体时
if(v[7] != 0){//如果玩家的血量不为0
v[21] = v[22];
v[32] = v[30];
v[33] = v[24];
v[34] = v[25];
b[2] = false;
b[10] = true;
}
else{
if(v[43] < v[35])
{
v[43] = v[35]; //估计是保存最高分的
save_data(); //gwb
}
//当玩家死时执行
b[15] = true;
v[2] = 6;
}
}
b[11] = false;
v[30] = -1;
}
v[29]--;
}
}
public void e_act(){
if(v[45] >= 3){
v[45] = 0;
v[15] = 0;
}
if(v[15] == 0){
int dist = v[12] - v[11];
if((Math.abs(rnd.nextInt() % 3) != 0)){
if(rnd.nextInt() < 0){
v[17] = Math.abs(rnd.nextInt() % 15) * 2;
}
else{
v[18] = Math.abs(rnd.nextInt() % 15) * 2;
}
}
dist = v[12] - (v[17]*2) + (v[18]*2) - v[11];
if(dist <= 120){
v[16] = 2 * (Math.abs(rnd.nextInt() % 4)+10);
}
else if(dist <= 180){
v[16] = 2 * (Math.abs(rnd.nextInt() % 3)+14);
}
else if(dist <= 240){
v[16] = 2 * (Math.abs(rnd.nextInt() % 3)+16);
}
else{
v[16] = 2 * (Math.abs(rnd.nextInt() % 3)+19);
}
if(dist <= 120){
v[15] = -6 * (13-Math.abs(rnd.nextInt() % 10));
}
else if(dist <= 180){
v[15] = -6 * (13-Math.abs(rnd.nextInt() % 7));
}
else if(dist <= 240){
v[15] = -6 * (13-Math.abs(rnd.nextInt() % 4));
}
else{
v[15] = -6 * (13-Math.abs(rnd.nextInt() % 3));
}
}
else{
v[16] = v[31];
switch(v[30]){
case 0:
if(Math.abs(rnd.nextInt() % 3) != 0){
}
else{
if(rnd.nextInt() < 0){
v[16] += 10;
}
else{
v[16] -= 10;
v[15] -= 12;
}
}
break;
case 1:
if(rnd.nextInt() < 0){
if(rnd.nextInt() < 0){
v[16] += 6;
v[15] -= 6;
}
else{
v[16] -= 6;
v[15] += 6;
}
}
else{
if(rnd.nextInt() < 0){
v[16] += 8;
v[15] -= 6;
}
else{
v[16] -= 4;
v[15] += 6;
}
}
break;
case 2:
if(v[33] < 140){
if(rnd.nextInt()< 0){
if(v[11] - 60 > v[33]){
v[16] -= 6;
}
else if(v[33] > (v[11]+30)){
if(rnd.nextInt() < 0){
v[16] += 6;
}
}
else{
if(rnd.nextInt() < 0){
v[16] -= 4;
v[15] -= 12;
}
}
}
else{
if(rnd.nextInt() < 0){
v[16] -= 6;
}
else{
v[16] -= 4;
v[15] += 6;
}
}
}
else{
v[16] += 10;
v[15] -= 12;
}
break;
}
if(v[11] < v[33] && v[17] == 0){
v[17] = ((v[33] - v[11]) / 2) / (Math.abs(rnd.nextInt() % 2)+1);
}
if(v[11] > v[33] && v[18] == 0){
v[18] = ((v[11] - v[33]) / 2) / (Math.abs(rnd.nextInt() % 2)+1);
}
if(v[16] < 10)
v[16] = 10;
if(v[16] > 40)
v[16] = 40;
if(v[15] > -12)
v[15] = -12;
if(v[15] < -78)
v[15] = -78;
}
if(v[16] != 0){
v[20] = (((v[15] / -6)) * 3);
v[20] = ((v[20]*v[16]*100) / 4000);
}
if(v[15] < -78){
v[16] = v[16] * (10-(v[15]+78) / -6)/10;
}
v[31] = v[16];
}
void edge(int kind, int yp){ //画背景图
g.setColor(v[47]);//设置颜色 黑
drawImage(image[51],0,0);//左边框
drawImage(image[51],0,32);
drawImage(image[51],0,64);
drawImage(image[51],0,96);
drawImage(image[51],0,96+32);
drawImage(image[51],125,0); //右边框
drawImage(image[51],125,32);
drawImage(image[51],125,64);
drawImage(image[51],125,96);
drawImage(image[51],125,96+32);
drawImage(image[49],0,0); //上边框
drawImage(image[50],0,113+45); //下边框
switch(kind){
case 0:
g.fillRect(3,3,122,110);
break;
case 1:
g.fillRect(3,yp,122,40);
drawImage(image[49],0,yp-3);
drawImage(image[50],0,yp+40);
g.setColor(v[48]);
break;
case 2:
g.fillRect(3,40,122,yp);
drawImage(image[49],0,40-3);
drawImage(image[50],0,100);
g.setColor(v[48]);
break;
}
}
void music(int s_no){
}
public void resm(){
if(v[2] == 5){
if((!b[14]) && b[13]){
if(b[9] == true){
v[21] = v[22];
b[7] = false;
b[8] = false;
b[9] = false;
}
if(!b[0]){
//setSoftLabel(0,"音乐有");
}
else{
// setSoftLabel(0,"音乐无");
}
// setSoftLabel(1,"返回");
b[3] = false;
b[4] = false;
b[5] = false;
b[6] = false;
b[14] = true;
b[16] = true;
}
}
}
public void showNotify()
{
}
public void hideNotify()
{
}
private int load_data() {
int size=0;
try {
rs = RecordStore.openRecordStore("TankHunter", true);
if (rs.getNumRecords() != 0) {
size = rs.getRecordSize(1);
rs.getRecord(1, rs_data, 0);
pos = 0;
tmp1 = (rs_data[pos++] << 24) & 0xff000000;
tmp2 = (rs_data[pos++] << 16) & 0x00ff0000;
tmp3 = (rs_data[pos++] << 8) & 0x0000ff00;
tmp4 = (rs_data[pos++]) & 0x000000ff;
v[43] = (int) (tmp1 | tmp2 | tmp3 | tmp4);
rs.closeRecordStore();
return size;
}
else {
pos = 0;
v[43] = 0;
rs_data[pos++] = (byte) (v[43] >> 24);
rs_data[pos++] = (byte) ( (v[43] & 0xFF0000) >> 16);
rs_data[pos++] = (byte) ( (v[43] & 0xFF00) >> 8);
rs_data[pos++] = (byte) (v[43] & 0xFF);
rs.addRecord(rs_data, 0, rs_data.length);
rs.closeRecordStore();
return 0;
}
}
catch (Exception e) {
return -1;
}
}
public int save_data() {
// RecordStore rs;
try {
rs = RecordStore.openRecordStore("TankHunter", false);
pos = 0;
rs_data[pos++] = (byte) (v[43] >> 24);
rs_data[pos++] = (byte) ( (v[43] & 0xFF0000) >> 16);
rs_data[pos++] = (byte) ( (v[43] & 0xFF00) >> 8);
rs_data[pos++] = (byte) (v[43] & 0xFF);
rs.setRecord(1, rs_data, 0, rs_data.length);
rs.closeRecordStore();
return 0;
}
catch (Exception e) {
return -1;
}
}
void loadImage()//加载图片
{
for(int i=0;i<image.length;i++)
{
try
{
image[i]=Image.createImage("/tank"+i+".png");
lcont+=2;
repaint();
serviceRepaints();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
public int getColorOfRGB(int r,int g,int b) //设置颜色
{
return (r<<16) | (g<<8) | b;
}
public void drawImage(Image img,int x,int y) //画图
{
g.drawImage(img,x,y,g.TOP|g.LEFT);
}
public void drawString(String s,int x,int y) //画文字
{
g.drawString(s,x,y,g.TOP|g.LEFT);
}
public void setSoftLabel(int i,String ss) //设置 按钮文字
{
if(i!=0)
{
g.drawString(ss,95+5,96+45,g.TOP|g.LEFT);
}
else{
g.drawString(ss,3,96+45,g.TOP|g.LEFT);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -