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

📄 gamescreen.java

📁 J2me游戏代码 J2me游戏代码 J2me游戏代码 J2me游戏代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            // fall through

        case 1: // '\001'
            if(_rebound == 0)
            {
                if(_startY < 80)
                    _startY += 10;
                if(_startY == 80)
                    _rebound++;
            } else
            if(_rebound == 1)
            {
                if(_startY > 60)
                    _startY -= 5;
                if(_startY == 60)
                    _rebound++;
            } else
            if(_rebound == 2)
            {
                if(_startY < 80)
                    _startY += 5;
                if(_startY == 80)
                    _rebound++;
            } else
            if(_rebound == 3)
            {
                if(_startY > 70)
                    _startY -= 2;
                if(_startY == 70)
                    _rebound++;
            } else
            if(_rebound == 4)
            {
                if(_startY < 80)
                    _startY += 2;
                if(_startY == 80)
                    _rebound++;
            } else
            {
                _cptStart++;
                if(_cptStart >= 30)
                    _gameState = 2;
            }
            Draw_Game(g);
            break;

        case 2: // '\002'
            if(_keyMap[0] > 0 || _keyMap[1] > 0)
            {
                _keyMap[0] = -1;
                _keyMap[1] = -1;
                _gameState = 3;
                _curs = 0;
                if(_isMusic == 0)
                    music.stopMusic(0);
                return;
            }
            if(_keyMap[4] > 0 || _keyMap[10] > 0)
            {
                _dir = -1;
                if(_cptTurn > 0)
                    _cptTurn = 0;
                else
                if(_cptTurn > -6)
                    _cptTurn--;
            } else
            if(_keyMap[5] > 0 || _keyMap[12] > 0)
            {
                _dir = 1;
                if(_cptTurn < 0)
                    _cptTurn = 0;
                else
                if(_cptTurn < 6)
                    _cptTurn++;
            } else
            {
                _dir = 0;
                if(_cptTurn > 0)
                    _cptTurn--;
                else
                if(_cptTurn < 0)
                    _cptTurn++;
            }
            _roadX += _dir * 2;
            if(_cptMain % 2 == 0)
                _roadX -= _curvX;
            else
            if(_curvX > 0)
                _roadX -= 2 - _weight;
            else
            if(_curvX < 0)
                _roadX += 2 - _weight;
            _X = 88 + (_roadX >> 1);
            if(_cptBoost > 0 && _Y > 198)
                _Y--;
            else
            if(_cptBoost == 0 && _Y < 203)
                _Y++;
            if(_X < _xLeft - 5 || _X > _xRight + 5)
            {
                _offRoad = true;
                _cptOff++;
                _speedMax = 60;
                _shakeY = (byte)(1 - _shakeY);
            } else
            {
                _offRoad = false;
                _cptOff = 0;
                if(_cptShake > 0)
                    _shakeY = (byte)(1 - _shakeY);
                else
                    _shakeY = 0;
                if(_cptBoost > 0)
                    _speedMax = 140;
                else
                if(_kart == 0)
                    _speedMax = 100;
                else
                if(_kart == 1)
                    _speedMax = 90;
                else
                if(_kart == 2)
                    _speedMax = 120;
            }
            if(_cptOff >= 50)
            {
                _X = 88;
                _offRoad = false;
                _cptOff = 0;
                _shakeY = 0;
                _cptBoost = 0;
                _speed = 0;
                _roadX = 0;
            }
            _anim = (byte)(3 + (_cptTurn >> 1));
            _scroll -= _dir * 2;
            if(_level == 0)
            {
                if(_scroll > 0)
                    _scroll = -187;
                else
                if(_scroll < -187)
                    _scroll = 0;
            } else
            if(_level == 1)
            {
                if(_scroll > 0)
                    _scroll = -189;
                else
                if(_scroll < -189)
                    _scroll = 0;
            } else
            if(_level == 2 || _level == 4)
            {
                if(_scroll < -88)
                    _scroll = 44;
                else
                if(_scroll > 132)
                    _scroll = 0;
            } else
            if(_level == 3)
                if(_scroll < -36)
                    _scroll = 18;
                else
                if(_scroll > 158)
                    _scroll = 0;
            if(_speed > 0)
            {
                if(_yellow1[0] <= 5)
                    _yellow1[0] += 1 + _speed / 30;
                else
                if(_yellow1[0] <= 10)
                    _yellow1[0] += 2 + _speed / 30;
                else
                if(_yellow1[0] <= 22)
                    _yellow1[0] += 4 + _speed / 30;
                else
                if(_yellow1[0] <= 34)
                    _yellow1[0] += 6 + _speed / 30;
                else
                    _yellow1[0] += 8 + _speed / 30;
                if(_yellow2[0] <= 5)
                    _yellow2[0] += 1 + _speed / 30;
                else
                if(_yellow2[0] <= 10)
                    _yellow2[0] += 2 + _speed / 30;
                else
                if(_yellow2[0] <= 22)
                    _yellow2[0] += 4 + _speed / 30;
                else
                if(_yellow2[0] <= 34)
                    _yellow2[0] += 6 + _speed / 30;
                else
                    _yellow2[0] += 8 + _speed / 30;
            }
            _yellow1[1] = 1 + _yellow1[0] / 3;
            _yellow2[1] = 1 + _yellow2[0] / 3;
            if(_yellow1[0] > 54 + _speed / 20)
            {
                _yellow1[0] = 0;
                _yellow1[1] = 1;
            }
            if(_yellow2[0] > 54 + _speed / 20)
            {
                _yellow2[0] = 0;
                _yellow2[1] = 1;
            }
            _cptDecor += _speed / 10;
            if(_cptDecor >= 80)
            {
                New_Object(0);
                _cptDecor = 0;
            }
            _cptObj += _speed / 10;
            if(_cptObj > 300)
            {
                New_Object(2);
                _cptObj = 0;
            }
            if(_cptSumo >= SUMO_TIME[_level])
            {
                New_Object(3);
                _cptSumo = 0;
            }
            if(_obj._state <= 1)
                _obj.Update();
            if(_finish._state <= 1)
                _finish.Update();
            if(_sumo._state <= 1)
                _sumo.Update();
            for(byte byte0 = 0; byte0 < 3; byte0++)
                _decor[byte0].Update();

            if(_obj._state == 1 && _obj._zoom == 4 && _X + 25 >= _obj._posX && _X - 25 <= _obj._posX + OBJ_WIDTH[_obj._nb])
            {
                if(_obj._nb == 2)
                {
                    _boost++;
                } else
                {
                    _speed = 0;
                    _cptShake = 1;
                }
                _obj._state = 3;
            }
            if(_sumo._state == 1 && _sumo._zoom >= 3 && _X + 25 >= _sumo._posX && _X - 25 <= _sumo._posX + 41 && _sumo._posY + 150 >= _Y - 19)
                if(_sumo._posY + 150 > _Y + 5)
                {
                    _speed -= 50;
                    if(_speed < 0)
                        _speed = 0;
                    _sumo._posY -= 5;
                } else
                if(_sumo._posX + 20 <= _X)
                {
                    _speed -= 20;
                    if(_speed < 0)
                        _speed = 0;
                    _sumo._posX -= 10;
                    _X += 10;
                } else
                {
                    _speed -= 20;
                    if(_speed < 0)
                        _speed = 0;
                    _sumo._posX += 10;
                    _X -= 10;
                }
            if(_finish._state == 1 && _cptLap == 0 && _finish._posY + 150 >= _Y)
            {
                _lap++;
                _cptLap = 1;
                _cptRoad = 0;
                _cptRace = 0;
                _cptBend = 0;
                if(_lap > 3)
                    _cptFinish = 1;
            }
            if(_keyMap[3] > 0 || _keyMap[14] > 0)
            {
                _speed -= _acc * 2;
                if(_speed < 0)
                    _speed = 0;
            } else
            if(_keyMap[11] > 0 && _boost > 0 && _cptBoost == 0)
            {
                _boost--;
                _acc += 2;
                _cptBoost = 1;
            } else
            if(_speed < _speedMax)
                _speed += _acc;
            if(_speed > _speedMax)
                _speed -= _acc;
            if(_curvX < _curvWanted && _cptMain % 2 == 0)
                _curvX++;
            if(_curvX > _curvWanted && _cptMain % 2 == 0)
                _curvX--;
            if(System.currentTimeMillis() - _roadTime >= 1000L)
            {
                _cptRace += _speed / 10;
                _roadTime = System.currentTimeMillis();
                if(_cptRace >= _race[_level][_cptRoad * 3] && _finish._state == 3)
                    if(_race[_level][_cptRoad * 3 + 2] == 0)
                    {
                        _finish._state = 0;
                    } else
                    {
                        _bendLength = _race[_level][_cptRoad * 3 + 1];
                        _curvWanted = (byte)_race[_level][_cptRoad * 3 + 2];
                        _cptBend = 0;
                        _cptRoad++;
                    }
                if(_bendLength > 0)
                {
                    _cptBend += _speed / 10;
                    if(_cptBend == _bendLength)
                    {
                        _curvWanted = 0;
                        _bendLength = 0;
                    }
                }
            }
            if(_startY > -30)
            {
                _startY -= 10;
                _startX += 8;
            }
            if(System.currentTimeMillis() - _sec >= 1000L)
            {
                _time++;
                _sec = System.currentTimeMillis();
                if(_sumo._state == 3)
                {
                    _cptSumo++;
                    int i = Abs(_rand.nextInt() % 6);
                    if(_speed >= 100 && i < 1)
                        _cptSumo++;
                    else
                    if(_speed >= 120 && i < 2)
                        _cptSumo++;
                }
            }
            if(_cptBoost > 0)
            {
                _cptBoost++;
                if(_cptBoost > 50)
                {
                    _cptBoost = 0;
                    _acc -= 2;
                }
            }
            if(_cptShake > 0)
            {
                _cptShake++;
                if(_cptShake > 10)
                    _cptShake = 0;
            }
            if(_cptLap > 0)
            {
                _cptLap++;
                if(_cptLap > 20)
                    _cptLap = 0;
            }
            if(_cptFinish > 0)
            {
                _cptFinish++;
                if(_cptFinish > 15)
                    if(_position == 0)
                    {
                        _gameState = 5;
                        _img[23] = new Image2("/gfx/girls_racing_win.png", 1, 1, true);
                    } else
                    {
                        _gameState = 4;
                        _score = 1000 - _time;
                        if(_score < 0)
                            _score = 0;
                        _tmpScore = 0;
                    }
            }
            Draw_Game(g);
            break;

        case 3: // '\003'
            g.setColor(0xff70bc85);
            g.fillRect(5, 40, 166, 124);
            g.setColor(-1);
            g.fillRect(10, 45, 156, 114);
            Graphics _tmp = g;
            mu.print(g, 60, 60, 20, 4);
            Graphics _tmp1 = g;
            mu.print(g, 60, 100, 21, 4);
            Graphics _tmp2 = g;
            mu.print(g, 60, 120, 22, 4);
            if(_keyMap[2] > 0 || _keyMap[8] > 0 || _keyMap[3] > 0 || _keyMap[14] > 0)
            {
                Reset_Direction_Keys();
                _curs = (byte)(1 - _curs);
            }
            Graphics _tmp3 = g;
            Graphics _tmp4 = g;
            _img[4].drawFrame(g, 12, 92 + 20 * _curs, _cptCurs / 2, 16 + 4);
            _cptCurs++;
            if(_cptCurs > 7)
                _cptCurs = 0;
            if(_keyMap[11] <= 0 && _keyMap[18] <= 0 && _keyMap[0] <= 0)
                break;
            _keyMap[11] = -1;
            _keyMap[18] = -1;
            _keyMap[0] = -1;
            if(_curs == 0)
            {
                _gameState = 2;
                if(_isMusic == 0)
                    music.startMusic(0);
            } else
            {
                _mainState = 3;
                _cptLoad = 0;
            }
            break;

        case 5: // '\005'
            Graphics _tmp5 = g;
            Graphics _tmp6 = g;
            _img[23].draw(g, 0, 0, 16 + 4);
            if(_keyMap[11] <= 0 && _keyMap[18] <= 0 && _keyMap[0] <= 0)
                break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -