亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gameworld.java

?? 手機(jī)版泡泡龍游戲
?? JAVA
?? 第 1 頁 / 共 3 頁
字號(hào):
package paopao;

import javax.microedition.lcdui.*;
import java.io.InputStream;
import com.nokia.mid.ui.*;

public class GameWorld extends FullCanvas implements Runnable
{
  final int screenW = getWidth();
  final int screenH = getHeight();
  final int paintW = 128;
  final int paintH = 208 - 3;
  final int orgX = 7;
  final int orgY = 3;
  final int midX = paintW / 2;
  final int midY = paintH / 2;
//score
  int score;
//Thread
  boolean killThread = false;
  boolean pauseThread = false;
  boolean overThread = false;
  int overCount;
  Thread thread = null;
  int interval = 50;
//hardlevel setting
  int hardLevel;
  final int EASY = 9;
  final int MIDDLE = 8;
  final int HARD = 6;
  int shakeAt; //when ball shooted number equals or more then it shakes
  boolean shaking = false;
  int shakeOffX[];
// top press
  int pressCount; //round intervals per top down count
  int shakeCount;
  int nowTop;
//angle
  int angle = 90;
  int _angle = 6;
  int angleSinValue;
  int angleCosValue;
//paopao
  int nextOneColor;
  int toBeShootColor;
  int isMovingColor;
  boolean isMoving = false; //擊出的球是否處于運(yùn)動(dòng)過程中
  int shootAngle;
  int v = 10;
  int timeCount;
  final int effectiveR = 8;
  final int localStand = 6;
  int startX;
  int startY;
  int nowX;
  int nowY;
  boolean hitted = false;
  int hittedI;
  int hittedJ;
//falling
  int fallingNum;
  int[][] fallingPara;
  int fallingV = 8;
//time

//round
  int[][] roundPara;
  int roundCount; //read roundPara from map.txt & count
  boolean roundStart = true;
  int roundStartCount;
  int round = 1;

//
  int disappearCount;
  /** Constructor */
  public GameWorld(int hardLevel)
  {
    this.hardLevel = hardLevel;
    try
    {
      jbInit();
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }

  protected void show()
  {
    if (thread == null)
      thread = new Thread(this);
    thread.start();
  }

  /**Component initialization*/
  private void jbInit() throws Exception
  {
    roundPara = new int[11][8];
    this.readroundPara();
    switch (hardLevel)
    {
      case EASY:
        shakeAt = 6;
        break;
      case MIDDLE:
        shakeAt = 5;
        break;
      case HARD:
        shakeAt = 4;
        break;
      default:
        break;
    }
    toBeShootColor = 1 + Math.abs(Resource.random.nextInt() % 8);
    nextOneColor = 1 + Math.abs(Resource.random.nextInt() % 8);
    fallingPara = new int[50][3];
    shakeOffX = new int[]
        {1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1};
// Set up this Displayable to listen to command events
    // add the Exit command
  }

  private void readroundPara()
  {
    InputStream is = null;
    try
    {
      is = getClass().getResourceAsStream("/round.txt");
    }
    catch (Exception e)
    {}
    int symbol;
    try
    {
      while ( (symbol = is.read()) != -1)
      {
        if (symbol == '&')
        {
          roundCount++;
          if (roundCount == round)
          {
            for (int i = 0; i < 5; i++)
              is.read();
            int symbol2;
            int rowCount = 0;
            int lineCount = 0;
            while ( (symbol2 = is.read()) != '&')
            {
              if (symbol2 == '\r')
              {
                rowCount++;
                lineCount = 0;
                is.read();
              }
              else roundPara[rowCount][lineCount++] = (int) symbol2 - 48;
            }
            break;
          }
        }
      }

    }
    catch (Exception ex)
    {
    }

  }

  private void nextPaoPao()
  {
    isMovingColor = toBeShootColor;
    toBeShootColor = nextOneColor;
    nextOneColor = 1 + Math.abs(Resource.random.nextInt() % 8);
  }

  protected void keyPressed(int keyCode)
  {
    if (!pauseThread)
    {
      if (keyCode == -6)
        PaoPao.quitApp();
      else if ( (keyCode == -5 || keyCode == 53) && isMoving == false)
        shoot();
      else if (keyCode == -3)
      {
        if (angle < 174)
          angle += 6;
      }
      else if (keyCode == -4)
      {
        if (angle > 6)
          angle -= 6;
      }
      else if (keyCode == -1)
      {
        if (angle == 90)
          return;
        angle = (angle > 90 ? angle - 6 : angle + 6);
      }

    } //if(!pauseThread)
  }

  /**Handle command events*/
  synchronized private void shoot()
  {
//pressCount ++;
//pressCount %= hardLevel;
//if(pressCount >= shakeAt)
//shaking = true;
//if(pressCount == 0)
//topDown();
    startX = 71 - orgX;
    startY = 170 - orgY;
    nowX = startX;
    nowY = startY;
    shootAngle = angle;
    angleSinValue = Resource.getSinAngleValue(shootAngle);
    angleCosValue = Resource.getCosAngleValue(shootAngle);
    isMoving = true;
    timeCount = 0;
    nextPaoPao();
  }

  private void topDown()
  {
    nowTop++;
    shaking = false;
  }

  public void run()
  {
    while (!killThread)
    {
      if (!pauseThread)
      {
        if (!overThread)
        {
          if (roundStart)
          {
            roundStartCount++;
            if (roundStartCount >= 48)
            {
              roundStartCount = 0;
              roundStart = false;
            }
          }
          if (isMoving) //被擊出的球處于運(yùn)動(dòng)狀態(tài)中
          {
            paoPaoMoving();
          }
          Falling();
          if (disappearCount > 0)
          {
            disappearCount--;
            if (disappearCount == 0)
              for (int i = 0; i < 10; i++)
                for (int j = 0; j < (i % 2 == 0 ? 8 : 7); j++)
                {
                  if (roundPara[i][j] > 8 && roundPara[i][j] < 17)
                    roundPara[i][j] = 0;
                }
          }
          if (shaking)
          {
            shakeCount++;
            shakeCount %= 16;
          }
          try
          {
            repaint();
            thread.sleep(interval);
          }
          catch (Exception ex)
          {}
        } //if(!overThread)
        //overCount ++;
        // if(overCount >= paintH - nowTop * 14)
        //  killThread = true;
      }
    } //while(!killThread)
//System.out.println("killThread = "+ killThread);
    this.serviceRepaints();
    System.gc();
    PaoPao.shiftCanvas(PaoPao.MENU_ID, 0);

  }

  private void Falling()
  {
    if (fallingNum > 0)
    {
      for (int i = 0; i < fallingNum; i++)
      {
        fallingPara[i][2] += fallingV;
      }
    }

    for (int i = 0; i < fallingNum; i++)
    {
      if (fallingPara[i][2] > paintH + 8)
      {
        for (int j = i; j < fallingNum - 1; j++)
        {
          fallingPara[j][0] = fallingPara[j + 1][0];
          fallingPara[j][1] = fallingPara[j + 1][1];
          fallingPara[j][2] = fallingPara[j + 1][2];
        }
        fallingNum--;
      }
    }

  }

  private void paoPaoMoving()
  {
    int posX = 0;
    int posY = 0;
    int preX;
    int preY;
    int pre_x;
    int pre_y;
    preX = nowX;
    preY = nowY;
    pre_x = nowX;
    pre_y = nowY;
    if (hitted)
    {
      hitted = !hitted;
      dealWithHit(hittedI, hittedJ);
      return;
    }
    timeCount++;
    posX = startX + (timeCount * v) * angleCosValue / 100000;
    posY = startY - (timeCount * v) * angleSinValue / 100000;
    while (true)
    {
      if (posX - 8 < 0)
      {
        startX = 8;
        startY = nowY;
        nowX = 8;
        timeCount = 0;
        angleCosValue = 0 - angleCosValue;
        //timeCount ++;
        break;
      }
      else if (posX + 8 > paintW)
      {
        startX = paintW - 8;
        startY = nowY;
        nowX = paintW - 8;
        timeCount = 0;
        angleCosValue = 0 - angleCosValue;
        //timeCount ++;
        break;
      }
      else if (posY - 8 <= 0) //reach the top
      {
        this.roundPara[0][posX / 16] = isMovingColor;
        nowX = posX;
        nowY = 8;
        checkConnect(0, nowX / 16, isMovingColor);
        if (checkDisappear())
          checkFall();
        isMoving = false;
        return;
      }
      else
      {
        nowX = posX;
        nowY = posY;
        break;
      }
    }

    if (nowY == 8)
      return;

    for (int i = 0; i < 10; i++)
    {
      if (i % 2 == 0)
      {
        for (int j = 0; j < 8; j++)
        {
          if (isCollided(nowX, nowY, j * 16 + 8, i * 14 + 8) &&
              roundPara[i][j] > 0 && roundPara[i][j] < 9)
          {
            for (int m = 1; m <= v; m++)
            {

              preX = startX +
                  ( (timeCount - 1) * v + m) * angleCosValue / 100000;
              preY = startY -
                  ( (timeCount - 1) * v + m) * angleSinValue / 100000;
              if (isCollided(preX, preY, j * 16 + 8, i * 14 + 8))
              {
                hitted = true;
                nowX = preX;
                nowY = preY;
                hittedI = i;
                hittedJ = j;
                break;
              }
            }
            return;
          }
        }
      }
      else if (i % 2 == 1)
      {
        for (int j = 0; j < 7; j++)
        {
          if (isCollided(nowX, nowY, 8 + j * 16 + 8, i * 14 + 8) &&
              roundPara[i][j] > 0 && roundPara[i][j] < 9)
          {

            for (int m = 1; m <= v; m++)
            {

              preX = startX +
                  ( (timeCount - 1) * v + m) * angleCosValue / 100000;
              preY = startY -
                  ( (timeCount - 1) * v + m) * angleSinValue / 100000;
              if (isCollided(preX, preY, 8 + j * 16 + 8, i * 14 + 8))
              {
                hitted = true;
                nowX = preX;
                nowY = preY;
                hittedI = i;
                hittedJ = j;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本免费在线视频不卡一不卡二| 精品国产一区二区三区忘忧草| 美日韩一区二区三区| 亚洲蜜臀av乱码久久精品| 国产精品国产a级| 亚洲人成网站精品片在线观看| 中文字幕在线一区免费| 亚洲婷婷在线视频| 亚洲男人的天堂一区二区| 久久精品视频一区二区三区| 国产日韩欧美精品综合| 国产欧美精品一区aⅴ影院| 国产精品网站在线| 国产精品久久久久久久午夜片| 中文字幕+乱码+中文字幕一区| 国产精品国产三级国产aⅴ无密码| 亚洲视频精选在线| 激情成人综合网| 国产精品一级黄| 国产91丝袜在线播放0| 99国产麻豆精品| 欧美午夜精品久久久久久超碰| 欧美少妇一区二区| 精品少妇一区二区三区在线播放| 国产日产亚洲精品系列| 亚洲精品一二三| 日韩高清欧美激情| 成人做爰69片免费看网站| 色视频成人在线观看免| 日韩一二三区视频| 亚洲色图第一区| 日韩黄色片在线观看| 国产一区二区成人久久免费影院 | 亚洲综合久久久久| 日产欧产美韩系列久久99| 国产成人在线免费| 欧美日韩国产色站一区二区三区| 精品少妇一区二区三区视频免付费| 中文字幕精品—区二区四季| 午夜一区二区三区在线观看| 精品一区二区精品| 欧美色图激情小说| 国产精品美女久久久久高潮 | 亚洲国产精品v| 午夜私人影院久久久久| 国产精品中文字幕欧美| 欧美日韩精品一区二区| 久久久久久久久久美女| 午夜久久久久久| 91视频免费播放| 欧美精品一区二区不卡| 亚瑟在线精品视频| aaa亚洲精品一二三区| 精品国产一区二区三区不卡 | 成人伦理片在线| 日韩亚洲国产中文字幕欧美| 中文字幕一区视频| 国产99久久久国产精品| 精品国产凹凸成av人网站| 午夜不卡av在线| 在线观看91精品国产入口| 亚洲欧洲另类国产综合| 国产精品中文字幕日韩精品 | 91视频一区二区三区| 国产女人aaa级久久久级| 韩日精品视频一区| 日韩美女在线视频 | 成人综合在线观看| 欧美精品一区二区三区在线播放| 性欧美疯狂xxxxbbbb| 欧美制服丝袜第一页| 一区二区三区国产精华| 91亚洲精品乱码久久久久久蜜桃| 欧美激情中文字幕一区二区| 国产一区二区免费视频| 久久久久久99精品| 成人短视频下载 | 色婷婷综合中文久久一本| 中文字幕第一区二区| 岛国精品一区二区| 亚洲欧洲日韩综合一区二区| 丁香激情综合国产| 亚洲精品v日韩精品| 欧美无砖专区一中文字| 天天色 色综合| 欧美大片国产精品| 国产99久久久精品| 亚洲色图视频网| 欧美日韩一区二区三区四区 | 欧美另类videos死尸| 午夜精品久久久久影视| 欧美一区三区四区| 国产精品99久| 亚洲欧洲综合另类在线| 欧美日韩中文一区| 久久电影国产免费久久电影| 精品国产1区二区| 成人午夜免费av| 亚洲一区二区视频| 日韩精品一区二区三区蜜臀 | 亚洲人成网站色在线观看| 欧美视频一区二| 久久99九九99精品| 国产精品久久久一区麻豆最新章节| 色先锋资源久久综合| 久久激情五月激情| 亚洲欧美激情一区二区| 欧美一区二区不卡视频| 成人动漫一区二区在线| 日本不卡一区二区三区高清视频| 国产网红主播福利一区二区| 色婷婷av一区二区三区软件| 裸体在线国模精品偷拍| 亚洲视频中文字幕| 久久久精品综合| 欧美性xxxxxx少妇| 成人在线综合网站| 男女性色大片免费观看一区二区 | 欧美美女喷水视频| 国产成a人亚洲| 美女尤物国产一区| 亚洲精品乱码久久久久久| 久久综合五月天婷婷伊人| 欧美性感一类影片在线播放| 国产精品亚洲午夜一区二区三区 | 免费高清成人在线| 国产精品国产自产拍高清av| 91精品国产综合久久久久久| bt欧美亚洲午夜电影天堂| 久热成人在线视频| 亚洲一级在线观看| 最新国产成人在线观看| 久久久精品黄色| 日韩视频一区二区三区| 在线观看日产精品| 91亚洲男人天堂| a级高清视频欧美日韩| 国产精品一区久久久久| 久久国产麻豆精品| 人人精品人人爱| 日日摸夜夜添夜夜添亚洲女人| 亚洲私人黄色宅男| 亚洲欧美日韩国产综合| 国产偷v国产偷v亚洲高清| 欧美成人福利视频| 26uuu国产日韩综合| 精品国产乱码久久久久久老虎| 欧美一区二区在线视频| 正在播放亚洲一区| 7777精品伊人久久久大香线蕉的 | 激情小说欧美图片| 久久er精品视频| 国产一区二区视频在线播放| 久久成人免费电影| 国产在线麻豆精品观看| 经典一区二区三区| 国产伦精一区二区三区| 国产精品性做久久久久久| 久久福利资源站| 国内欧美视频一区二区| 狠狠色综合播放一区二区| 国产在线日韩欧美| 成人h动漫精品一区二区| 91在线免费视频观看| 91黄色免费看| 欧美一区二区三区精品| 日韩精品一区二区三区在线观看| 久久亚洲精品国产精品紫薇| 久久九九久久九九| 综合网在线视频| 丝袜美腿亚洲色图| 久久99精品国产91久久来源| 激情综合色播五月| av一二三不卡影片| 欧美三级在线播放| 日韩一区国产二区欧美三区| 欧美精品一区二区在线播放| 国产精品入口麻豆九色| 亚洲激情第一区| 日本欧美肥老太交大片| 国产精品亚洲一区二区三区在线 | 石原莉奈在线亚洲二区| 精品一区二区日韩| 99久久99久久精品免费观看 | 国产亚洲精品7777| 亚洲午夜免费视频| 国产精品一级黄| 欧美精品日韩精品| 国产色综合久久| 亚洲国产精品久久艾草纯爱| 韩国女主播一区二区三区| 91免费小视频| 久久蜜臀中文字幕| 亚洲va国产va欧美va观看| 国产成人午夜电影网| 欧美军同video69gay| 欧美激情一区二区三区| 三级不卡在线观看| 91看片淫黄大片一级| 精品国产髙清在线看国产毛片|