📄 gamescreen.java~6~
字号:
c = '\u0151';
c1 = '\u0205';
j = 7;
}
if(ball.distance(10, 520) < ball.distance(c, c1))
{
c = '\r';
c1 = '\u0205';
j = 1;
}
for(int k = 0; k < 14; k++)
if(((Sprite) (all[k])).type == 1 - ball.lastBallOwner && (i == -1 || all[i].distance(c, c1) > all[k].distance(c, c1)))
i = k;
all[i].setPos(c, c1);
all[i].direction = j;
all[i].setBallOwn();
all[i].correctBallPosition();
}
public void goalLineKickBall()
{
for(int i = 0; i < 16; i++)
if(((Sprite) (all[i])).hasBall)
{
int j = ((Sprite) (all[i])).direction;
if(messageType == 12)
{
int k = -1;
int l = -1;
for(int i2 = 0; i2 < 14; i2++)
if(((Sprite) (all[i])).type == ((Sprite) (all[i2])).type && (k == -1 || all[i].distance(all[i2]) < l))
{
l = all[i].distance(all[i2]);
k = i2;
}
if(((Sprite) (all[i])).y < 275)
{
j = 4;
int i1 = all[k].distance(((Sprite) (all[i])).x, ((Sprite) (all[i])).y + 10);
if(i1 > all[k].distance(((Sprite) (all[i])).x + 10, ((Sprite) (all[i])).y + 10))
{
i1 = all[k].distance(((Sprite) (all[i])).x + 10, ((Sprite) (all[i])).y + 10);
j = 3;
}
if(i1 > all[k].distance(((Sprite) (all[i])).x - 10, ((Sprite) (all[i])).y + 10))
{
int j1 = all[k].distance(((Sprite) (all[i])).x - 10, ((Sprite) (all[i])).y + 10);
j = 5;
}
} else
{
j = 0;
int k1 = all[k].distance(((Sprite) (all[i])).x, ((Sprite) (all[i])).y - 10);
if(k1 > all[k].distance(((Sprite) (all[i])).x + 10, ((Sprite) (all[i])).y - 10))
{
k1 = all[k].distance(((Sprite) (all[i])).x + 10, ((Sprite) (all[i])).y - 10);
j = 1;
}
if(k1 > all[k].distance(((Sprite) (all[i])).x - 10, ((Sprite) (all[i])).y - 10))
{
int l1 = all[k].distance(((Sprite) (all[i])).x - 10, ((Sprite) (all[i])).y - 10);
j = 7;
}
}
}
all[i].hasBall = false;
ball.kickBall(j);
ball.ballMove();
}
mode = 1;
}
public void run()
{
while(!GameMidlet.stopGame)
try
{
if(mode == 0)
{
GameScreen _tmp = this;
Thread.sleep(500L);
} else
{
if(mode == 11)
{
if(messageTime <= 0)
{
if(messageType == 12)
goalKick();
else
cornerKick();
goalLineKickWait = 0;
mode = 12;
}
} else
if(mode == 12)
{
goalLineKickWait++;
if(ball.lastBallOwner == 1 && goalLineKickWait >= 5 || ball.lastBallOwner == 0 && keyKick)
{
goalLineKickBall();
keyKick = false;
}
} else
if(mode == 13 && messageTime <= 0)
{
kickOffTeam = 1 - startKickOffTeam;
startRound(1 - compSide);
} else
if(mode == 14 && messageTime <= 0)
{
faultKickWait = 0;
if(messageType == 17)
penaltyKick();
else
freeKick();
} else
if(mode == 15)
{
faultKickWait++;
if(faultTeam == 0)
{
if(faultKickWait > 10)
doPenaltyKick();
else
if(faultKickWait == 7)
{
if(((Sprite) (ball)).y < 275)
all[faultKicker].direction = rnd(3) != 0 ? rnd(2) : 7;
else
all[faultKicker].direction = 3 + rnd(3);
all[faultKicker].correctBallPosition();
}
} else
if(keyKick)
doPenaltyKick();
else
if(direction != -1)
{
all[faultKicker].direction = direction;
all[faultKicker].correctBallPosition();
}
} else
if(mode == 16)
{
faultKickWait++;
if(faultTeam == 0)
{
if(faultKickWait > 10)
doFreeKick();
else
if(faultKickWait == 7)
{
if(((Sprite) (all[faultKicker])).direction == 0)
all[faultKicker].direction = rnd(3) != 0 ? rnd(2) : 7;
else
if(((Sprite) (all[faultKicker])).direction == 4)
all[faultKicker].direction = 3 + rnd(3);
all[faultKicker].correctBallPosition();
}
} else
if(keyKick)
doFreeKick();
else
if(direction != -1)
{
all[faultKicker].direction = direction;
all[faultKicker].correctBallPosition();
}
} else
if(mode == 6 && messageTime <= 0)
{
if(gameType == 0)
{
mode = 0;
GameMidlet.m_display.setCurrent(GameMidlet.menuScreen);
} else
if(scoreComp > scoreUser)
{
mode = 0;
GameMidlet.m_display.setCurrent(GameMidlet.menuScreen);
} else
if(scoreComp == scoreUser)
{
mode = 0;
GameMidlet.m_display.setCurrent(GameMidlet.menuScreen);
} else
if(round == 3)
{
mode = 0;
GameMidlet.m_display.setCurrent(GameMidlet.menuScreen);
} else
{
round++;
scoreComp = scoreUser = 0;
timeToEnd = roundTime * 10;
firstTime = true;
randomizePlayers();
kickOffTeam = rnd(2);
startKickOffTeam = kickOffTeam;
selectCompCommand();
startRound(0);
messageTime = 3000;
messageType = round;
}
} else
if(mode == 5)
{
goalTime++;
if(goalTime > 15)
startRound(compSide);
} else
if(mode == 3)
{
if(keyKick)
{
mode = 1;
keyKick = false;
}
} else
if(mode == 8)
{
boolean flag = true;
for(int j = 0; j < 14; j++)
{
flag = all[j].goToTarget() && flag;
flag = all[j].goToTarget() && flag;
flag = all[j].goToTarget() && flag;
}
if(all[nearestPlayer].distance(ball) < 50)
{
all[nearestPlayer].setBallOwn();
all[nearestPlayer].correctBallPosition();
}
if(flag)
mode = 9;
keyKick = false;
} else
if(mode == 9)
{
if(nearestPlayer >= 7 || keyKick)
kickOutBall();
} else
if(mode == 4)
{
boolean flag1 = true;
for(int k = 0; k < 7; k++)
{
flag1 = users[k].goToTarget() && flag1;
flag1 = comps[k].goToTarget() && flag1;
}
if(flag1)
mode = 3;
} else
if(mode == 1)
{
int i = -1;
for(int l = 0; l < 7; l++)
if(((Sprite) (users[l])).hasBall)
i = l;
boolean aflag[] = new boolean[7];
for(int i1 = 0; i1 < 7; i1++)
{
aflag[i1] = false;
users[i1].active = false;
}
if(i != -1)
{
aflag[i] = true;
users[i].userMove();
users[i].active = true;
if(keyKick)
{
ball.kickBall(((Sprite) (users[i])).direction);
users[i].hasBall = false;
keyKick = false;
}
} else
{
int j1 = -1;
int k1 = -1;
for(int i2 = 0; i2 < 7; i2++)
{
if(j1 == -1 || j1 > ball.distance(users[i2]))
j1 = ball.distance(users[i2]);
if(k1 < ball.distance(users[i2]))
k1 = ball.distance(users[i2]);
}
for(int k2 = 0; k2 < 7; k2++)
if(j1 == ball.distance(users[k2]) && (ball.distance(users[k2]) != k1 || j1 == k1))
{
aflag[k2] = true;
users[k2].userMove();
users[k2].active = true;
}
}
boolean aflag1[] = new boolean[nearBallPositions.length];
for(int l1 = 0; l1 < nearBallPositions.length; l1++)
aflag1[l1] = false;
for(int j2 = 0; j2 < 7; j2++)
if(!aflag[j2])
{
int l2 = ((Sprite) (ball)).x + ((Sprite) (ball)).sW / 2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -