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

📄 gamescreen.java~6~

📁 Source code of J2ME game called Action Soccer. Great for used. Already configurations with JBuilder
💻 JAVA~6~
📖 第 1 页 / 共 5 页
字号:
            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 + -