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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? modelcanvas.java~5~

?? 一款基于j2me技術(shù)的手機(jī)版游戲——飛機(jī)射擊
?? JAVA~5~
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/**
 * <p>Title: 模塊</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: jams</p>
 * @author jams
 * @version 1.0
 */

import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.InputStream;
import java.io.DataInputStream;
import java.io.IOException;

public final class ModelCanvas
    extends Canvas
    implements Runnable, CommandListener {
  ModelMIDlet game;
  private Thread gameThread;

//  private MyMissile mymiss ;
  private MyShip myShip = new MyShip();
  private int  myMissileCount;
  private MyMissile[] myMiss = new MyMissile[]{
      new MyMissile(),
      new MyMissile(),
  } ;
  private int  ufoCount;
  private int  ufoMissCount;
  private Image[] img_map = null; //地圖
  private int ay = 0;
  private Image Map = null; //地圖 //背景地圖
  private UFO[] ufos = new UFO[]{
      new UFO(myShip),
      new UFO(myShip),
      new UFO(myShip),
      new UFO(myShip),
      new UFO(myShip),
      new UFO(myShip),
      new UFO(myShip),
      new UFO(myShip),
      new UFO(myShip),
      new UFO(myShip),

  } ;
  private UfoMissile[] ufoMiss = new UfoMissile[]{
      new UfoMissile(),
      new UfoMissile(),

  } ;
  private long score ;
  private int life;
  private int tickCount;
  private Random random = new Random();
  private boolean isGameover;
  // Fields
  public static final int KEY_SOFTKEY1 = -6;
  public static final int KEY_SOFTKEY2 = -7;
  public static final int KEY_SEND = -10;
  public static final int KEY_END = -11;
  public static final int KEY_SOFTKEY3 = -5;
  public static final int KEY_UP_ARROW = -1;
  public static final int KEY_DOWN_ARROW = -2;
  public static final int KEY_LEFT_ARROW = -3;
  public static final int KEY_RIGHT_ARROW = -4;
  Command left_command = new Command("確定", Command.SCREEN, 1);
  Command right_command = new Command("返回", Command.SCREEN, 2);
  //rms
  RecordStore rStore;
  private Font sysFont; //保存系統(tǒng)字型
  boolean load;

  //游戲圖片變量
  private int  actY=20;

  private int logo_c;

//  private int ey; //屏幕偏移

  private int key_delay = 0; //用來(lái)控制按鍵時(shí)的延遲時(shí)間
  private boolean key_press = false; //立即按鍵,快速執(zhí)行
  private boolean keyRepeat; //控制按鍵
  private int key; //鍵值

  //游戲屏幕的寬度和高度
  private final int WIDTH = getWidth();
  private final int HEIGHT = getHeight();
  private final int TIME_PER_FRAME = 80; //游戲速度的控制

  //調(diào)試錯(cuò)誤的變量,游戲制作完成后要?jiǎng)h除的
  int error;
  String errorString;
  final int GAME_ERROR = 999;

  /*  about variable of game state  */
  private int game_state;
  private final int GAME_LOAD = 0; //游戲最先進(jìn)入的狀態(tài)
  private final int GAME_INIT = 1; //初始化狀態(tài),載入圖片,聲音等資源,初始化變量等。
  private final int GAME_START = 2; //游戲開(kāi)始,設(shè)置每關(guān)的信息
  private final int GAME_RUN = 3; //游戲運(yùn)行狀態(tài)
  private final int GAME_OVER = 4; //游戲結(jié)束
  private final int GAME_WIN = 5; //游戲勝利
  private final int GAME_MENU = 6; //游戲主菜單
  private final int GAME_PICTURE = 8; //得到拼圖
  private final int GAME_TELCALL = 11; //
  private final int GAME_ABOUT = 12; //
  private final int GAME_HELP = 13; //
  private final int GAME_SET = 14; //
  private final int GAME_PAUSE = 15; //游戲暫停
  private final int GAME_CUE = 16; //提示
  private boolean quitGame = false; //游戲結(jié)束
  private int MainMenuId = 1; //字菜單
  private int helpY, helpX;
  private int mainX = 55;



  public ModelCanvas(ModelMIDlet game) {
    this.game = game;
    this.setCommandListener(this);
  }

  //游戲初始化
  private final void game_init() {
    sysFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_LARGE);
    myShip.x = (WIDTH-myShip.getwidth())/2;
    myShip.y = HEIGHT-2*myShip.getheight();
    life = 4 ;
    score = 0;
    for(int i=0;i<myMiss.length;i++){
      myMiss[i].setAlive(false);
    }
    for(int i=0;i<ufos.length;i++){
      ufos[i].setAlive(false);
    }
    ufoCount = 0 ;
    for(int i=0;i<ufoMiss.length;i++){
      ufoMiss[i].setAlive(false);
    }
    ufoMissCount = 0;
    myMissileCount = 0;
    tickCount = 0;
    helpY = sysFont.getHeight();
    helpX = 3;
    Map = null;
    Map = Image.createImage(WIDTH, 2 * HEIGHT);
    ay = 0;
  }

  //開(kāi)始線程
  public final void game_start() {
    gameThread = new Thread(this);
    gameThread.start();
  }

  public final void game_stop() {
    gameThread = null;
    System.gc();
  }

  protected final void paint(Graphics g) {
    g.setFont(sysFont);
    try {
      switch (game_state) {

        case GAME_LOAD: //最先進(jìn)入得畫(huà)面,顯示一些loading畫(huà)面
          g.setColor(0);
          g.fillRect(0, 0, WIDTH, HEIGHT);
          Image  image_point = null;
          image_point = Image.createImage("/point.png");
          g.setClip( (WIDTH - 137) / 2 + 20,
                    (HEIGHT - image_point.getHeight()) / 2 + 10,
                    (logo_c / 3) * 7, 20);
          g.drawImage(image_point, (WIDTH - 137) / 2 + 20,
                      (HEIGHT - image_point.getHeight()) / 2 + 10, 20);
          if (logo_c >= 18) {
            logo_c = 0;
            game_state = GAME_INIT;
          }
          break;
        case GAME_INIT:
          g.setColor(0);
          g.fillRect(0, 0, WIDTH, HEIGHT);
          Image tom = null;
          tom = Image.createImage("/unija.png");
          g.drawImage(tom, (WIDTH - tom.getWidth()) / 2,
                      (HEIGHT - tom.getHeight()) / 2, 20);
          if (logo_c >= 16) {
            tom = null;
            game_init();
            commandChange("確定", "", 1, 0);
            game_state = GAME_MENU;
          }
          break;
        case GAME_MENU:
//          g.setColor(0);
//          g.fillRect(0, 0, WIDTH, HEIGHT);
//          Image menu = null;
//          menu = Image.createImage("/menu.png");
//          g.drawImage(menu, (WIDTH - menu.getWidth()) / 2,
//                      (HEIGHT - menu.getHeight()) / 2, 20);
          Image point = null;
//          point = Image.createImage("/act.png");
//          g.drawImage(point, mainX,
//                      (HEIGHT - menu.getHeight()) / 2 + 4 +
//                      (MainMenuId - 1) * 23, 20);
          break;
        case GAME_START:
          g.setColor(0);
          g.fillRect(0, 0, WIDTH, HEIGHT);
          g.setColor(0xffffFF);
          Image me[] = new Image[1];
          me[0] = Image.createImage("/myshipImg1.png");
//          me[1] = Image.createImage("/myshipImg2.png");
//          me[2] = Image.createImage("/myshipImg3.png");
          point = Image.createImage("/act.png");
          g.drawImage(point, 30, actY, 20);
          g.drawImage(me[0],80,20,20);
//          g.drawImage(me[1],80,60,20);
//          g.drawImage(me[2],80,100,20);
          break;
        case GAME_RUN:

          g.setColor(0x33CCFF);
          g.fillRect(0, 0, WIDTH, HEIGHT);
//          for (int i = 1; i <= 5; i++) {
//            g.drawImage(Map, 0, - (2 * i - 1) * HEIGHT + ay, 20);
//          }
          g.setColor(0);
          g.drawString("S"+score,10,2,20);
          g.drawString("L"+life,60,2,20);
          myShip.doDraw(g);//畫(huà)自己飛機(jī)
          for(int i=0;i<myMiss.length;i++){//畫(huà)自己飛機(jī)子彈
            myMiss[i].doDraw(g);
          }
          //畫(huà)敵人飛機(jī)
          for(int i=0;i<ufos.length;i++){
            ufos[i].doDraw(g);
          }
          //畫(huà)敵人飛機(jī)子彈
          for(int i=0;i<ufoMiss.length;i++){
                 ufoMiss[i].doDraw(g);
               }
          break;
        case GAME_PAUSE:
          break;
        case GAME_CUE:
          break;
        case GAME_WIN:
          break;
        case GAME_OVER:
          g.setColor(0);
          g.fillRect(0, 0, WIDTH, HEIGHT);
          g.setColor(0xffffFF);
          g.drawString("你掛了?。。?quot;, 50, 50, 20);


          break;
        case GAME_SET:
          g.setColor(0);
          g.fillRect(0, 0, WIDTH, HEIGHT);
          drawWord(g, "設(shè)置"
                   , (WIDTH - sysFont.stringWidth("設(shè)置")) / 2
                   , 0
                   , 0x090909, 0xC8FF32);

          break;
        case GAME_ABOUT:
          g.setColor(0);
          g.fillRect(0, 0, WIDTH, HEIGHT);
          drawWord(g, "關(guān)于"
                   , (WIDTH - sysFont.stringWidth("關(guān)于")) / 2
                   , 0
                   , 0x090909, 0xC8FF32);
          g.setColor(0xffffff);
          g.drawString("游戲名稱(chēng):風(fēng)雨者", helpX, 2 * sysFont.getHeight(), 20);
          g.drawString("版本:V1.0.0", helpX, 3 * sysFont.getHeight(), 20);
          g.drawString("電郵:", helpX, 5 * sysFont.getHeight(), 20);
          g.drawString("公司網(wǎng)址:", helpX, 7 * sysFont.getHeight(), 20);
          g.drawString("http://shop33525419.taobao.com/", helpX, 8 * sysFont.getHeight(), 20);
          break;
        case GAME_HELP:
          g.setColor(0);
          g.fillRect(0, 0, WIDTH, HEIGHT);
          drawWord(g, "幫助"
                   , (WIDTH - sysFont.stringWidth("幫助")) / 2
                   , 0
                   , 0x090909, 0xC8FF32);
          g.setColor(0xffffff);
          g.setClip(0, sysFont.getHeight(), WIDTH, HEIGHT);
          g.drawString("方向鍵上/MUN2: 上", helpX, helpY, 20);
          g.drawString("方向鍵下/MUN8: 下", helpX, helpY + 1 * sysFont.getHeight(), 20);
          g.drawString("方向鍵左/MUN4: 左", helpX, helpY + 2 * sysFont.getHeight(), 20);
          g.drawString("方向鍵右/MUN6: 右", helpX, helpY + 3 * sysFont.getHeight(), 20);
          g.drawString("MUN5: 發(fā)射子彈 ", helpX, helpY + 4 * sysFont.getHeight(), 20);
          g.drawString("右軟鍵: 暫停菜單", helpX, helpY + 5 * sysFont.getHeight(), 20);
          g.drawString(" ", helpX, helpY + 6 * sysFont.getHeight(), 20);
          g.drawString(" ", helpX, helpY + 7 * sysFont.getHeight(), 20);
          g.drawString(" ", helpX, helpY + 8 * sysFont.getHeight(), 20);
          g.drawString(" ", helpX, helpY + 9 * sysFont.getHeight(), 20);
          g.drawString(" ", helpX, helpY + 10 * sysFont.getHeight(), 20);
          g.drawString(" ", helpX, helpY + 11 * sysFont.getHeight(),20);

          g.fillRect(WIDTH - 6, sysFont.getHeight(), 6,
                     HEIGHT - sysFont.getHeight());
          g.setColor(0);
          g.fillRect(WIDTH - 5, 2 * sysFont.getHeight() + 1 - helpY, 4,
                     (HEIGHT / sysFont.getHeight() -
                      (11 - HEIGHT / sysFont.getHeight() + 1)) *
                     sysFont.getHeight());
          break;

        case GAME_ERROR: //游戲錯(cuò)誤狀態(tài)
          g.drawString("" + error, 20, 40, 20);
          break;
      }
    }
    catch (Exception e) {
//      //游戲完成后請(qǐng)刪除try{} catch{}
      System.out.println("paint: " + e);
      g.setClip(0, 0, WIDTH, HEIGHT);
      g.setColor(0x000000);
//      //將錯(cuò)誤信息畫(huà)在屏幕上
      g.drawString("1. error:" + e.toString(), 0, 0, 20);
      g.drawString("2. error:" + error, 0, 30, 20);
      g.drawString("3. game state:" + game_state, 60, 0, 20);
      long timenow = System.currentTimeMillis();
      while (System.currentTimeMillis() - timenow < 10000) { //10秒后退出

      }
      quitGame = true;
    }
  }

  public final void run() {
    error = 1;
    long starttime = 0;
    long timetaken = 0;
    try {
      while (!quitGame) {
        starttime = System.currentTimeMillis();
        switch (game_state) {
          case GAME_RUN:
            if (ay >= 1250) {
                       ay = 1250;
                     }
                     else {
                       ay = ay + 1;
                     }

            myShip.doMove();
            doFire();
              doEnemy();
//              System.out.println("ufoCount"+ufoCount);
//
            for(int i=0;i<ufos.length;i++){//敵人處理
              if (ufos[i].isAlive()){
                ufos[i].doMove();
                if (!ufos[i].isAlive() ||
                    ufos[i].getX() + ufos[i].getwidth() < 0 ||
                    ufos[i].getX() > WIDTH) {
                  ufos[i].setAlive(false);
                  ufoCount--;
                  if (ufos[i].isHit()) score = score + 100;
                }else if (ufoMissCount < ufoMiss.length &&
                         ufos[i].isDropBome()) {
                  for(int j=0;j<ufoMiss.length;j++){
                    if(!ufoMiss[j].isAlive()){
                      ufoMiss[j].setX((ufos[i].getwidth()-ufoMiss[j].getwidth())/2
                                      +ufos[i].getX());
                      ufoMiss[j].setY(ufos[i].getY()+ufos[i].getheight());
                      ufoMiss[j].setAlive(true);
                      ufoMissCount++;
                    }
                  }
                }
              }
            }
            //敵人子彈處理
            for(int i=0;i<ufoMiss.length;i++){
              if (ufoMiss[i].isAlive()){//處理活的敵人
                ufoMiss[i].doMove();
                if (myShip.isOverlaps(ufoMiss[i])) {//命中判斷
                  life--;
                  myShip.setHit(true);
                  ufoMiss[i].setAlive(false);//命中后子彈消失
                  ufoMissCount--;

                  if (life < 1) {
                    isGameover = true;
//                    break;
                  }
                }
                else if (ufoMiss[i].getY() > HEIGHT) {
                  ufoMiss[i].setAlive(false);
                  ufoMissCount--;
                }
              }
            }
            //自己飛機(jī)子彈處理
            for(int i=0;i<myMiss.length;i++){
              if (myMiss[i].isAlive()) {
                myMiss[i].doMove();
                for(int j=0;j<myMiss.length;j++){
                  if(ufos[j].isAlive()&&!ufos[j].isHit()){
                    if(ufos[j].isOverlaps(myMiss[i])){
                      ufos[j].setHit(true);
                      myMiss[i].setAlive(false);
                      myMissileCount--;
                      break;
                    }
                  }
                }
              }
              if (myMiss[i].isAlive()&&
                  myMiss[i].getY()+myMiss[i].getheight()<10){
                myMiss[i].setAlive(false);
                myMissileCount--;
              }
            }
            break;
          case GAME_SET:
            break;
          case GAME_PICTURE:
            logo_c++;
            break;
          case GAME_START:
            createImageMap();
            break;
          case GAME_PAUSE:
            break;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩激情一区| 成人精品一区二区三区中文字幕| 激情国产一区二区| 国产精品一卡二卡| 91网站在线观看视频| 欧美日韩国产欧美日美国产精品| 欧美xxxxx牲另类人与| 国产精品免费看片| 日精品一区二区| 国产精品1024久久| 精品污污网站免费看| 精品国内片67194| 国产精品久久久久久久久免费桃花| 亚洲电影欧美电影有声小说| 国产乱子伦一区二区三区国色天香 | 免费成人美女在线观看| 高清成人免费视频| 欧美日本高清视频在线观看| www国产精品av| 亚洲综合一二区| 国产一区不卡精品| 欧美亚洲一区二区在线| 国产香蕉久久精品综合网| 一区二区免费在线| 国产大片一区二区| 在线成人午夜影院| 综合久久综合久久| 久久国产人妖系列| 欧美在线视频全部完| 久久精品人人做人人爽人人| 亚洲成在人线免费| 国产亚洲精品免费| 国产不卡免费视频| 国产精品18久久久久久久久久久久| 欧洲精品一区二区| 国产精品欧美精品| 久久精品国产亚洲一区二区三区 | 国产精品视频一二三| 午夜激情综合网| 94-欧美-setu| 欧美精品一区二区三| 性欧美大战久久久久久久久| 99国产麻豆精品| 久久嫩草精品久久久久| 日韩激情一区二区| 在线观看亚洲精品视频| 日本一区二区三级电影在线观看| 日本在线不卡视频| 欧美中文字幕一区| 国产精品日韩成人| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩精品欧美日韩精品一 | 99久久伊人精品| 久久久国际精品| 久久精品99国产精品日本| 欧美体内she精高潮| 亚洲日本丝袜连裤袜办公室| 成人午夜伦理影院| 久久精品视频一区| 韩国av一区二区三区四区| 91精品国产综合久久婷婷香蕉 | 欧美三级韩国三级日本一级| 亚洲欧美一区二区三区久本道91| 成人av手机在线观看| 久久美女艺术照精彩视频福利播放 | 国产99久久久国产精品| 日韩欧美另类在线| 日本免费新一区视频| 欧美日韩夫妻久久| 亚洲成人在线免费| 欧美美女bb生活片| 午夜成人免费电影| 欧美精品久久久久久久久老牛影院| 亚洲欧美aⅴ...| 一本一本大道香蕉久在线精品 | 99久久国产综合精品女不卡 | 色综合久久88色综合天天6| 国产精品激情偷乱一区二区∴| 成人性视频免费网站| 国产欧美一区二区三区鸳鸯浴| 国产精品99久久久久久有的能看 | 91美女视频网站| 亚洲手机成人高清视频| 91一区在线观看| 一区二区高清在线| 欧美无乱码久久久免费午夜一区| 亚洲国产精品久久久久秋霞影院| 精品视频999| 日韩电影一二三区| 欧美mv日韩mv国产网站| 国产精品1024| 亚洲人成网站影音先锋播放| 91成人国产精品| 日韩精品五月天| 久久影音资源网| 成人午夜视频福利| 亚洲色图制服诱惑| 欧美日本视频在线| 九九久久精品视频| 中文字幕巨乱亚洲| 在线精品观看国产| 美女视频网站黄色亚洲| 国产网站一区二区三区| 99天天综合性| 午夜在线电影亚洲一区| 日韩精品在线一区二区| 成人国产亚洲欧美成人综合网| 亚洲精品乱码久久久久久久久 | 国产在线观看免费一区| 国产精品拍天天在线| 色域天天综合网| 蜜臀av在线播放一区二区三区| 久久久久久久久久看片| 91丨porny丨在线| 日韩精品高清不卡| 国产亚洲成av人在线观看导航| 97久久精品人人做人人爽| 五月天激情综合网| 久久精品免视看| 欧美在线观看18| 激情综合色综合久久综合| 中文字幕人成不卡一区| 日韩一区二区不卡| 99久久婷婷国产综合精品电影 | 欧美日韩国产一级片| 国产麻豆成人精品| 一区二区三区四区在线播放| 欧美一级免费大片| 成人精品一区二区三区中文字幕| 视频一区中文字幕国产| 国产视频一区二区三区在线观看| 在线观看精品一区| 国产精品中文字幕一区二区三区| 亚洲色图丝袜美腿| 欧美精品一区二区三区很污很色的| 色综合天天在线| 狠狠色狠狠色合久久伊人| 亚洲乱码日产精品bd| 久久亚洲免费视频| 欧美日韩免费观看一区三区| 国产成人精品三级麻豆| 丝袜美腿一区二区三区| 亚洲人xxxx| 久久久久久久综合狠狠综合| 欧美久久一二三四区| 91在线精品一区二区三区| 精品一区二区在线看| 亚洲国产一区视频| 国产精品久久777777| 2020国产精品久久精品美国| 亚洲精品在线电影| 日韩精品久久久久久| 色94色欧美sute亚洲线路一ni | 精品裸体舞一区二区三区| 欧美午夜寂寞影院| 成人免费不卡视频| 国产盗摄精品一区二区三区在线| 看片的网站亚洲| 丝袜美腿亚洲综合| 午夜伊人狠狠久久| 亚洲一区二区三区视频在线播放| 亚洲私人影院在线观看| 欧美韩国日本不卡| 国产网站一区二区| 久久久99精品久久| 精品乱码亚洲一区二区不卡| 91精品一区二区三区在线观看| 色综合天天综合网国产成人综合天 | 久久久天堂av| 欧美一区三区四区| 91啪亚洲精品| av中文字幕不卡| 国产精品2024| 国产一区在线不卡| 亚洲444eee在线观看| 亚洲一区精品在线| 亚洲精品视频在线观看网站| 国产精品卡一卡二卡三| 国产人成一区二区三区影院| 精品国产91洋老外米糕| 91麻豆精品国产91| 欧美伊人久久久久久午夜久久久久| 91视频免费播放| 国产a久久麻豆| 国产99久久久精品| 99久久伊人网影院| 99视频一区二区三区| 成人性生交大片免费看中文网站| 狠狠色丁香久久婷婷综| 美女视频黄久久| 蜜臀va亚洲va欧美va天堂| 丝袜亚洲精品中文字幕一区| 日韩成人一区二区三区在线观看| 国产精品久久夜| 日本一区二区三区dvd视频在线 | 蜜臀va亚洲va欧美va天堂| 日本女人一区二区三区| 日本强好片久久久久久aaa| 亚洲成人综合在线| 午夜精品福利久久久|