⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainscreen.java

📁 simple mobile basketball game!It is very good!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                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 + -