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

📄 gamescreen.java

📁 充气球的j2me代码,可以自由的部署在eclipse,netbeas里面.希望大家喜欢.
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            int temp = blankFrame[letterCounter];
            blankFrame[letterCounter] = letterFrame[cursorPosition];
            letterFrame[cursorPosition] = temp;
            letterFlags[cursorPosition] = true;
            letterCounter++;
        }
    }

    private void doMoveCursor(int dx)
    {
        if(letterCounter != presentNumLetters)
        {
            cursorPosition = (cursorPosition + dx + presentNumLetters) % presentNumLetters;
            if(cursorPosition < presentNumLetters && cursorPosition >= 0)
                for(; letterFlags[cursorPosition]; cursorPosition = (cursorPosition + dx + presentNumLetters) % presentNumLetters);
        }
    }

    private void doClear()
    {
        playerWord = "";
        for(int i = presentNumLetters - 1; i >= 0; i--)
            if(letterFlags[i])
            {
                letterCounter--;
                int temp = letterFrame[i];
                letterFrame[i] = blankFrame[letterCounter];
                blankFrame[letterCounter] = temp;
                letterFlags[i] = false;
            }

        letterCounter = 0;
    }

    private void doBack()
    {
        if(playerWord.length() >= 1)
        {
            playerWord = playerWord.substring(0, playerWord.length() - 1);
            if(letterCounter > 0)
            {
                for(int i = presentNumLetters - 1; i >= 0; i--)
                {
                    if(!letterFlags[i])
                        continue;
                    letterCounter--;
                    int temp = letterFrame[i];
                    letterFrame[i] = blankFrame[letterCounter];
                    blankFrame[letterCounter] = temp;
                    letterFlags[i] = false;
                    cursorPosition = i;
                    break;
                }

            }
        }
    }

    private void doEnter()
    {
        calculateWord(playerWord);
        playerWord = "";
        for(int i = presentNumLetters - 1; i >= 0; i--)
            if(letterFlags[i])
            {
                letterCounter--;
                int temp = letterFrame[i];
                letterFrame[i] = blankFrame[letterCounter];
                blankFrame[letterCounter] = temp;
                letterFlags[i] = false;
            }

        letterCounter = 0;
    }

    private void doTwist()
    {
        randomizeFrames();
    }

    public void randomizeFrames()
    {
        Random rand = new Random();
        int y[] = new int[6];
        int counter = 0;
        for(int i = 0; i < presentNumLetters; i++)
            if(!letterFlags[i])
                y[counter++] = letterFrame[i];

        for(int i = 0; i < counter; i++)
        {
            int r = Math.abs(rand.nextInt()) % counter;
            transpose(y, i, r);
        }

        counter = 0;
        for(int i = 0; i < presentNumLetters; i++)
            if(!letterFlags[i])
                letterFrame[i] = y[counter++];

        rand = null;
    }

    public void transpose(int a[], int i, int j)
    {
        int temp = a[i];
        a[i] = a[j];
        a[j] = temp;
    }

    public void gameContinue()
    {
        timer.resume();
        gamePaused = false;
    }

    public boolean isPaused()
    {
        return gamePaused;
    }

    private void calculateWord(String s)
    {
        boolean found = false;
        int c = -1;
        if(s.length() > 0)
        {
            for(int i = 0; i < presentNumWords; i++)
            {
                System.out.println(s + "-" + presentWords[i]);
                if(s.compareTo(presentWords[i]) == 0)
                {
                    System.out.println("Congratulations' The word is in Miruko's Dictionary!");
                    found = true;
                    c = i;
                    if(Resources.withSound)
                        try
                        {
                            correctSound.play(1);
                        }
                        catch(Exception e)
                        {
                            e.printStackTrace();
                        }
                    if(wordGuessed[i])
                        found = false;
                    i = presentNumWords;
                }
            }

            if(found)
            {
                playerScore += scoreWord;
                guessedWords++;
                wordGuessed[c] = true;
            } else
            {
                not = true;
                notCounter = 0;
            }
        }
        if(guessedWords == presentNumWords)
        {
            isNextLevel = true;
            playerScore = playerScore + 100;
        }
    }

    public void pause()
    {
        timer.pause();
    }

    public void nextLevel()
        throws Exception
    {
        level++;
        guessedWords = 0;
        playerScore = playerScore + scoreLevel;
        if(level < 5)
        {
            notRepaint = true;
            presentWordSet = null;
            presentWords = null;
            try
            {
                presentWordSet = WordBuilder.wordSets[wordIndex[level]];
                presentNumLetters = presentWordSet.getNumChars();
                presentAsc = presentWordSet.getAscLetters();
                presentWords = presentWordSet.getWords();
                presentNumWords = presentWordSet.getNumWords();
                wordGuessed = new boolean[presentNumWords];
                time = 0x249f0 - (level + 1) * 300 * 60;
                if(time < 45000)
                    time = 45000;
                firstTime = time;
                timer = new StringTimer(time, this);
                letterFlags = new boolean[presentNumLetters];
                wordX = new int[presentNumWords];
                wordY = new int[presentNumWords];
                wordWidth = new int[presentNumWords];
                for(int i = 0; i < 6; i++)
                {
                    letterSprite[i].setX(90 + i * 13);
                    if(i % 2 == 1)
                        letterSprite[i].setY(56);
                    else
                        letterSprite[i].setY(60);
                    letterSprite[i].setVisible(true);
                    letterFrame[i] = presentAsc[i];
                    letterSprite[i].setFrame(letterFrame[i]);
                    blankSprite[i].setX(90 + i * 13);
                    blankSprite[i].setY(25);
                    letterSprite[i].setVisible(true);
                    blankFrame[i] = 26;
                    blankSprite[i].setFrame(blankFrame[i]);
                }

                for(int i = 0; i < presentNumLetters; i++)
                {
                    letterFlags[i] = false;
                    letterSprite[i].setFrame(letterFrame[i]);
                    blankSprite[i].setFrame(blankFrame[i]);
                }

                for(int i = presentNumLetters; i < 6; i++)
                {
                    letterFlags[i] = true;
                    letterSprite[i].setFrame(letterFrame[i]);
                    blankSprite[i].setFrame(blankFrame[i]);
                }

                for(int i = 0; i < presentNumWords; i++)
                {
                    wordWidth[i] = Font.getDefaultFont().stringWidth(presentWords[i]);
                    wordGuessed[i] = false;
                }

                balloonSprite.setFrame(0);
            }
            catch(Exception e)
            {
                e.printStackTrace();
                throw new Exception("Memory Full");
            }
            for(int i = 0; i < presentNumWords - 1; i++)
            {
                wordX[i] = 4;
                wordY[i] = 1 + i * 7;
                if(wordWidth[i] + wordWidth[i + 1] + 15 < 85)
                {
                    i++;
                    wordX[i] = 52;
                    wordY[i] = wordY[i - 1];
                }
            }

            wordX[presentNumWords - 1] = 4;
            if(wordY[presentNumWords - 2] == wordY[presentNumWords - 3])
                wordY[presentNumWords - 1] = 1 + (presentNumWords - 1) * 7;
            else
                wordY[presentNumWords - 1] = 1 + (presentNumWords - 1) * 7 + 7;
            notCounter = 0;
            not = false;
            cursorPosition = 0;
            letterCounter = 0;
            balloonFrame = 0;
            n = 0;
            m = 0;
            up = true;
            down = false;
            saved = false;
            notRepaint = false;
            playerWord = "";
            System.gc();
        } else
        {
            gameOver = true;
        }
    }

    private static void getLength()
    {
        for(last = 0; last < 5 && Resources.highscore[last] != null; last++);
    }

    private static boolean saveScore()
    {
        String score = Resources.score + "." + Record.getLevel(Resources.level) + "." + Resources.name + ".";
        getLength();
        for(int i = 0; i < 5; i++)
        {
            if(Resources.highscore[i] == null)
            {
                Resources.highscore[i] = score;
                score = null;
                return true;
            }
            if(Resources.score > getScore(Resources.highscore[i]))
            {
                if(i == 4)
                {
                    Resources.highscore[i] = score;
                    return true;
                }
                for(int j = last; j > i; j--)
                {
                    if(j >= 5)
                        j--;
                    Resources.highscore[j] = Resources.highscore[j - 1];
                }

                Resources.highscore[i] = score;
                return true;
            }
        }

        return false;
    }

    private static int getScore(String s)
    {
        int l = 0;
        String str = "";
        char c;
        do
        {
            c = s.charAt(l);
            if(c != '.')
                str = str + c;
            l++;
        } while(c != '.');
        return Integer.parseInt(str.trim());
    }

    public void countdownPlay()
    {
        if(Resources.withSound)
            try
            {
                countdownSound.play(1);
            }
            catch(Exception e) { }
    }

    static 
    {
        TIMEFIRST = 2500;
    }






}

⌨️ 快捷键说明

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