📄 mainscreen.java
字号:
break;
/*
*kadoor beinaim
*/
case 4:
int x = deltaX + 6;
// initilaize palers and ball position
meX = myWidth / 2 - 11;
meY = myHeight * 3 / 4;
compX = myWidth / 2 + 11;
compY = myHeight * 3 / 4;
xBall = myWidth / 2;
freeBallY = myHeight * 3 / 4 - 12;
yBall = 0;
// throws ball
deltaX++;
if (deltaX >= 9) {
//temp = Math.abs(rnd.nextInt()) % 2;
deltaX = 1;
if (Math.abs(rnd.nextInt()) % 2 == 0) {
compMode = 2;
}
else {
compMode = 3;
}
}
freeBallY = freeBallY - (-x*x*1/8 - 6*x*1/8) - 37;
break;
/*
*me throws the ball
*/
case 5:
//freeBallY = freeBallY - (-deltaX*deltaX*10/11 - 6*deltaX*10/11) - 37;
freeBallY = originalY - deltaY[deltaX];
deltaX++;
xBall++;
// checks if the ball hits the basket
//if (xBall > (x2 + x3) / 2 - 10 && freeBallY > (y1 + y4) / 2 && freeBallY > oldY) {
if (deltaX >= 29 && (xBall >= (x2 + x3) / 2 - 10 && xBall <= (x2 + x3) / 2 + 10)) {
myScore += 2;
oldY = 0;
compMode = 3;
// reset player and the balls
meX = myWidth * 3 / 16;
meY = myHeight * 3 / 4;
compX = myWidth * 13 / 16;
compY = myHeight * 3 / 4;
xBall = compX - 8;
yBall = 3;
deltaX = 0;
}
// if the ball reaches the floor
else if (deltaX >= 29 && (xBall < (x2 + x3) / 2 - 10 || xBall > (x2 + x3) / 2 + 10)) {
freeBallY = meY;
compMode = 1;
oldY = 0;
deltaX = 0;
}
else {
oldY = freeBallY;
}
break;
/*
*comp throws the ball
*/
case 6:
freeBallY = originalY - deltaY[deltaX];
deltaX++;
xBall--;
// checkes if the ball hits the basket
if (deltaX >= 29) {
compScore += 2;
oldY = 0;
compMode = 2;
// reset player and the balls
meX = myWidth * 3 / 16;
meY = myHeight * 3 / 4;
compX = myWidth * 13 / 16;
compY = myHeight * 3 / 4;
xBall = meX + 8;
yBall= 3;
deltaX = 0;
}
else {
oldY = freeBallY;
}
break;
default:
//sdfgsdfgsdgf
}
repaint();
}
private void compCheckBorders()
{
if (compY < y1) {
compY = y1;
}
if (compY > y4) {
compY = y4;
}
if (compX > (x2 + x3) / 2) {
compX = (x2 + x3) / 2;
}
if (compX < (x1 + x4) / 2) {
compX = (x1 + x4) / 2;
}
}
private void ballJump()
{
if (ballDir == 0) {
yBall--;
if (yBall < 3) {
ballDir = 1;
}
}
else {
yBall++;
if (yBall > 9) {
ballDir = 0;
}
}
}
public void startGame()
{
myScore = 0;
compScore = 0;
clockMinute = 2;
clockSecond = 0;
compYDirection = 0;
meX = myWidth* 3 / 16;
meY = myHeight * 3 / 4;
compX = myWidth* 13 / 16;
compY = myHeight * 3 / 4;
xBall = meX + 8;
yBall = 3;
yBallOwner = 0;
//compMode = 4;
BallAfterTimer = 1;
timerStatus = 1;
delay = 0;
case3Mode = 1;
delay2 = 0;
counter = 0;
keyStatus = 0;
//startTimer();
}
public void startTimer()
{
TimerTask mover = new TimerTask() {
public void run() {
myMove2();
}
};
TimerTask myCounter = new TimerTask() {
public void run() {
counter++;
if (clockSecond == 0) {
clockMinute--;
clockSecond = 59;
}
clockSecond--;
if (clockMinute == 0 && clockSecond == 0) {
compMode = 0;
parent.deleteRMS();
stopTimer();
finishGame = 1;
if (myScore >= compScore) {
parent.setCurrent("YouWin");
}
else {
parent.setCurrent("IWin");
}
}
}
};
timer = new Timer();
timerCounter = new Timer();
try {
timer.schedule(mover, parent.getLevel(), parent.getLevel());
}
catch (IllegalArgumentException e) {
timer.schedule(mover, 50, 50);
}
timerCounter.schedule(myCounter, 1000, 1000);
}
public void stopTimer()
{
timer.cancel();
timerCounter.cancel();
}
/**
* Called when a key is pressed.
*/
protected void keyPressed(int keyCode) {
if (this.getGameAction(keyCode) == UP) {
keyStatus = KEY_NUM2;
}
else if (this.getGameAction(keyCode) == DOWN) {
keyStatus = KEY_NUM8;
}
else if (this.getGameAction(keyCode) == LEFT) {
keyStatus = KEY_NUM4;
}
else if (this.getGameAction(keyCode) == RIGHT) {
keyStatus = KEY_NUM6;
}
else if (this.getGameAction(keyCode) == FIRE) {
keyStatus = KEY_NUM5;
}
else {
keyStatus = keyCode;
}
}
/**
* Called when a key is released.
*/
protected void keyReleased(int keyCode) {
keyStatus = 0;
}
public void setStatus(byte[] rec) {
myScore = (int)rec[0];
compScore = (int)rec[1];
clockMinute = (int)rec[2];
clockSecond = (int)rec[3];
compYDirection = (int)rec[4];
meX = (int)rec[5];
meY = (int)rec[6];
compX = (int)rec[7];
compY = (int)rec[8];
xBall = (int)rec[9];
yBall = (int)rec[10];
yBallOwner = (int)rec[11];
compMode = (int)rec[12];
BallAfterTimer = (int)rec[13];
timerStatus = (int)rec[14];
delay = (int)rec[15];
case3Mode = (int)rec[16];
delay2 = (int)rec[17];
counter = (int)rec[18];
keyStatus = (int)rec[19];
ballDir = (int)rec[20];
ballOwner = (int)rec[21];
xBallOwner = (int)rec[22];
deltaX = (int)rec[23];
oldY = (int)rec[24];
doneY = (int)rec[25];
freeBallX = (int)rec[26];
freeBallY = (int)rec[27];
originalY = (int)rec[28];
parent.setLevel((int)rec[29]);
if ((int)rec[30] == 1)
parent.setSoundEnable(true);
else
parent.setSoundEnable(false);
}
public byte[] getStatus() {
byte[] rec = new byte[31];
rec[0] = (byte)myScore;
rec[1] = (byte)compScore;
rec[2] = (byte)clockMinute;
rec[3] = (byte)clockSecond;
rec[4] = (byte)compYDirection;
rec[5] = (byte)meX;
rec[6] = (byte)meY;
rec[7] = (byte)compX;
rec[8] = (byte)compY;
rec[9] = (byte)xBall;
rec[10] = (byte)yBall;
rec[11] = (byte)yBallOwner;
rec[12] = (byte)compMode;
rec[13] = (byte)BallAfterTimer;
rec[14] = (byte)timerStatus;
rec[15] = (byte)delay;
rec[16] = (byte)case3Mode;
rec[17] = (byte)delay2;
rec[18] = (byte)counter;
rec[19] = (byte)keyStatus;
rec[20] = (byte)ballDir;
rec[21] = (byte)ballOwner;
rec[22] = (byte)xBallOwner;
rec[23] = (byte)deltaX;
rec[24] = (byte)oldY;
rec[25] = (byte)doneY;
rec[26] = (byte)freeBallX;
rec[27] = (byte)freeBallY;
rec[28] = (byte)originalY;
rec[29] = (byte)parent.getLevel();
if (parent.getSoundEnable())
rec[30] = (byte)1;
else
rec[30] = (byte)0;
return rec;
}
public int getCompMode() {
return compMode;
}
public void setCompMode(int i) {
compMode = i;
}
/**
* called when the screen disapear
*/
protected void hideNotify() {
if (finishGame == 0) {
parent.setCurrent("MainMenu");
}
stopTimer();
}
/**
* called when the screen reapear
*/
protected void showNotify() {
startTimer();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -