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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? kyodaiui.java

?? java實現的簡單連連看游戲
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
  private void updateInfo() {
    long time = System.currentTimeMillis() - startTime;
    g.setColor(0xffffff);
    g.fillRect(0, 233, CV.srcWidth, 20);
    g.setFont(f);
    g.setColor(0);
    time = time == 0 ? 1 : time;
    long fps = frames * 1000 / time;
    String info = "";
    if (Kyodai.gameMode == 1) {
      info = "Time: " + formatTime(limitTime - time);
      info += ", Step: " + (limitStep - gameSteps);
    }
    else {
      info = "Time: " + formatTime(time);
    }
    if (SeriesHints > 0) {
      info += ", Combo: " + SeriesHints + "[" + CV.SeriesScorce[SeriesHints] +
          "]";
    }
    info += ", fps = " + fps;
    g.drawString(info, 5, 250, Graphics.LEFT | Graphics.BOTTOM);

    flushGraphics();
  }

  /**
   * 供游戲開始的時候,找到第一個停留點
   */
  private void getStartPoint() {
    if (gameEnd) {
      return;
    }

    for (int row = 0; row < CV.ROW; row++) {
      for (int col = 0; col < CV.COLUMN; col++) {
        if (gm.getMap()[row][col] > 0) {
          currentPoint.x = row;
          currentPoint.y = col;
          return;
        }
      }
    }
  }

  /**
   * 繪制選中圖片的邊框
   * @param p 坐標
   * @param color 顏色
   */
  /*private void drawBorder(Point p, int color) {
    if (p.x < 0 || p.y < 0) {
      return;
    }
    int x = p.y * (CV.SPACING + CV.ICON_WIDTH);
    int y = p.x * (CV.SPACING + CV.ICON_HEIGHT);
    g.setColor(color);
    g.drawRect(x, y, CV.ICON_WIDTH + CV.SPACING,
               CV.ICON_HEIGHT + CV.SPACING);
     }*/

  private void newStep() {
    gameSteps++;
  }

  private void drawGameMap() {
    g.setColor(CV.GAMEBGCOLOR);
    g.fillRect(0, 0, CV.srcWidth, CV.srcHeight);

    //繪制地圖
    for (int row = 0; row < CV.ROW; row++) {
      for (int col = 0; col < CV.COLUMN; col++) {
        if (gm.getMap()[row][col] != 0) {
          int index = gm.getMap()[row][col] - 1;
          int x = CV.SPACING +
              col * (CV.SPACING + CV.ICON_WIDTH);
          int y = CV.SPACING +
              row * (CV.SPACING + CV.ICON_HEIGHT);
          Kyodai.sprites[index].setPosition(x, y);
          Kyodai.sprites[index].paint(g);
          //Kyodai.translucenceSprite[index].setPosition(x, y);
          //Kyodai.translucenceSprite[index].paint(g);
        }
      }
    }

    //重新停留點的選擇框
    drawBorder(currentPoint, CV.HOVERCOLOR);

    flushGraphics();
  }

  private void movePoint(int direct) {
    if (gameEnd) { //如果游戲已結束,返回
      return;
    }

    newStep(); //記錄下用戶移動了一步

    Point p = gm.getSmartPoint(currentPoint, direct);

    //清除上一次的背景
    drawBorder(currentPoint, CV.GAMEBGCOLOR);
    drawBorder(lastSelected, CV.SELECTEDCOLOR);
    drawBorder(p, CV.HOVERCOLOR);

    flushGraphics();

    //重新設置當前的停留點
    currentPoint.x = p.x;
    currentPoint.y = p.y;
    System.gc();
  }

  private void fillBorder(Point p, int color) {
    if (p.x < 0 || p.y < 0) {
      return;
    }

    int x = p.y * (CV.SPACING + CV.ICON_WIDTH);
    int y = p.x * (CV.SPACING + CV.ICON_HEIGHT);
    g.setColor(color);
    g.fillRect(x, y, CV.ICON_WIDTH + CV.SPACING * 2,
               CV.ICON_HEIGHT + CV.SPACING * 2);
  }

  private void addScore(String name, int score) {
    Record[] record = new Record[10];
    //保存原來的游戲記錄
    for (int i = 1; i < kyodai.record.length; i++) {
      record[i - 1] = new Record();
      record[i - 1].setName(kyodai.record[i].getName());
      record[i - 1].setScore("" + kyodai.record[i].getScore());
    }
    int offset = 0;
    for (; offset < record.length; offset++) {
      if (score > record[offset].getScore()) {
        kyodai.record[offset + 1].setName(name);
        kyodai.record[offset + 1].setScore("" + score);
        break;
      }
      kyodai.record[offset + 1].setName(record[offset].getName());
      kyodai.record[offset + 1].setScore("" + record[offset].getScore());
    }
    for (; offset < record.length - 1; offset++) {
      kyodai.record[offset + 2].setName(record[offset].getName());
      kyodai.record[offset + 2].setScore("" + record[offset].getScore());
    }
    record = null;
    System.gc();
    /*for (int i = 1; i < kyodai.record.length; i++) {
      System.out.println(kyodai.record[i].getScore());
         }*/
  }

  /**
   * 用戶完成游戲
   */
  private void makeWinImage() {
    gameEnd = true;
    long usedTime = System.currentTimeMillis() - startTime;

    g.setColor(CV.GAMEBGCOLOR);
    g.fillRect(0, 0, CV.srcWidth, CV.srcHeight);

    g.setColor(0xff0000);

    int x = 0;
    int y = 10;

    y += 10;
    int blocks = gm.getBlocks();

    int timeScore = (gameSteps << 3) - (int) usedTime; //gameSteps * 8 - usedTime
    timeScore = timeScore > 0 ? timeScore : 0;

    g.drawString("時間得分: " + timeScore + "(" + usedTime + "s)", 40, y,
                 Graphics.LEFT | Graphics.TOP);

    y += 25;
    int stepScore = (blocks << 3) + (blocks << 2) - gameSteps; //blocks * 12 - gameSteps
    stepScore = stepScore > 0 ? stepScore : 0;
    g.drawString("\u8ddd\u79bb\u5f97\u5206: " + stepScore + "(" + gameSteps +
                 ")", 40, y,
                 Graphics.LEFT | Graphics.TOP);

    y += 25;

    int levelScore = 0;
    if (kyodai.gameMode == 1) {
      levelScore = 1500;
      g.drawString("挑戰模式: 1500(額外獎勵)", 40, y,
                   Graphics.LEFT | Graphics.TOP);
    }
    y += 25;

    int freshScore = 0;
    freshScore = - ( (refreshTimes << 5) + (refreshTimes << 3)); //refreshTimes * 40
    g.drawString("重列得分: " + freshScore + "(" + refreshTimes + ")", 40, y,
                 Graphics.LEFT | Graphics.TOP);
    y += 25;
    g.drawString("消除方塊: " + blocks, 40, y,
                 Graphics.LEFT | Graphics.TOP);

    y += 25;
    g.drawString("方塊得分: " + earseScore, 40, y,
                 Graphics.LEFT | Graphics.TOP);

    y += 25;
    g.drawString(" 總  計 : " +
                 (timeScore + stepScore + freshScore + earseScore + levelScore),
                 40, y,
                 Graphics.LEFT | Graphics.TOP);
    flushGraphics();
    System.gc();
    if (kyodai.gameMode == 1) { //高難度
      addScore("快樂挑戰",
               timeScore + stepScore + freshScore + earseScore + levelScore);
    }
    else {
      addScore("輕松愜意", timeScore + stepScore + freshScore + earseScore);
    }
  }

  /**
   * 游戲結束畫面
   */
  private void makeEndImage() { //總之死得很慘:)
    gameEnd = true;
    g.setColor(0xff0000);
    g.fillRect(0, 0, CV.srcWidth, CV.srcHeight);
    g.setColor(0xffffff);
    String str = "勝敗乃兵家常事,";
    int x = (CV.srcWidth - f.stringWidth(str)) >> 1;
    g.drawString(str, x, 50, Graphics.LEFT | Graphics.TOP);
    str = "請大俠重新來過!";
    x = (CV.srcWidth - f.stringWidth(str)) >> 1;
    g.drawString(str, x, 80, Graphics.LEFT | Graphics.TOP);
    flushGraphics();
  }

  /**
   * 將時間格式化輸出
   * @param time
   * @return
   */
  private String formatTime(long time) {
    int msb = (int) time / 1000;
    int lsb = (int) (time - msb * 1000) / 100;
    StringBuffer sb = new StringBuffer("");
    sb.append(msb);
    sb.append(".");
    sb.append(lsb);
    return sb.toString();
  }

  /**
   * 繪制邊框
   * @param p
   * @param color
   */
  private void drawBorder(Point p, int color) {
    if (p.x < 0 || p.y < 0) {
      return;
    }

    int x = p.y * (Settings.SPACING + Settings.ICON_WIDTH);
    int y = p.x * (Settings.SPACING + Settings.ICON_HEIGHT);
    g.setColor(color);
    g.drawRect(x, y, Settings.ICON_WIDTH + Settings.SPACING,
               Settings.ICON_HEIGHT + Settings.SPACING);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久se这里有精品| 欧美精品乱码久久久久久| 91亚洲精品久久久蜜桃| 日韩亚洲欧美高清| 日韩久久一区二区| 韩国成人在线视频| 欧美日韩高清影院| 亚洲蜜桃精久久久久久久| 黄一区二区三区| 在线观看日韩av先锋影音电影院| 国产三级一区二区| 精品一区二区影视| 欧美二区三区91| 成人免费一区二区三区视频| 国产麻豆精品久久一二三| 欧美色爱综合网| 亚洲人成精品久久久久久| 国产一区二区三区久久久| 欧美高清一级片在线| 一区二区三区中文字幕电影| 成人国产精品免费观看视频| 欧美精品一区二区久久婷婷| 免费人成在线不卡| 日韩欧美视频在线| 日本强好片久久久久久aaa| 欧美综合亚洲图片综合区| 中文字幕一区二区三区视频| 国产成人在线视频播放| 久久久91精品国产一区二区三区| 久色婷婷小香蕉久久| 91精品国产乱| 欧美日本不卡视频| 一区二区三区四区在线| 欧美影院一区二区| 亚洲综合在线五月| 91久久人澡人人添人人爽欧美| 国产精品福利电影一区二区三区四区 | 久久久精品国产免费观看同学| 免费成人小视频| 精品国产一区二区精华| 国内精品久久久久影院色| 26uuu亚洲综合色欧美| 国产精品一区二区在线观看网站 | 在线观看www91| 午夜成人在线视频| 欧美成人一区二区三区在线观看| 狠狠色丁香婷婷综合| 国产亚洲一二三区| av高清不卡在线| 亚洲自拍偷拍麻豆| 日韩久久久精品| 成人听书哪个软件好| 亚洲精品自拍动漫在线| 欧美日本韩国一区| 国产在线精品视频| 成人免费视频在线观看| 精品视频123区在线观看| 日韩电影在线一区二区三区| 精品不卡在线视频| 91亚洲国产成人精品一区二区三| 亚洲欧洲综合另类| 制服丝袜亚洲色图| 国产九九视频一区二区三区| 1区2区3区国产精品| 欧美一级淫片007| 国产91精品欧美| 亚洲成年人影院| 26uuu亚洲| 欧美性三三影院| 国产最新精品精品你懂的| 亚洲欧美自拍偷拍| 日韩区在线观看| 成人一区二区三区在线观看| 亚洲自拍偷拍综合| 国产无遮挡一区二区三区毛片日本| 色哟哟一区二区| 精品伊人久久久久7777人| 一区二区三区小说| 久久蜜桃香蕉精品一区二区三区| 色吊一区二区三区| 国产精品一二三| 日韩精品一二三| 亚洲免费在线观看| 久久精品视频一区| 欧美一区二区在线看| 91丨九色丨蝌蚪丨老版| 国产一区视频导航| 日韩av一级片| 亚洲综合无码一区二区| 国产日产欧美一区| 日韩精品综合一本久道在线视频| 99riav久久精品riav| 国产成人午夜片在线观看高清观看| 日日摸夜夜添夜夜添精品视频| 亚洲免费资源在线播放| 国产精品免费网站在线观看| 制服.丝袜.亚洲.中文.综合| 欧美在线视频全部完| av电影天堂一区二区在线观看| 久久97超碰色| 蜜臀久久久99精品久久久久久| 亚洲国产精品人人做人人爽| 亚洲欧洲精品天堂一级| 国产欧美精品在线观看| 精品理论电影在线| 日韩三级免费观看| 欧美一区二视频| 91.com视频| 在线综合亚洲欧美在线视频| 欧美日韩美少妇| 欧美人牲a欧美精品| 欧美影院一区二区三区| 99视频超级精品| 91丨porny丨蝌蚪视频| www..com久久爱| 99久久精品国产精品久久| 91视频在线观看免费| 91丨porny丨国产| 在线精品观看国产| 欧美三级视频在线播放| 欧美三级在线看| 91麻豆精品国产自产在线观看一区 | 精品久久久久久最新网址| 精品久久久久久亚洲综合网| 欧美精品一区二区三区在线播放| 26uuuu精品一区二区| 中文成人av在线| 国产精品久久久久久一区二区三区 | eeuss鲁片一区二区三区在线看| 成人网页在线观看| 在线观看国产日韩| 欧美另类久久久品| 精品国产一区二区三区不卡 | 欧美剧在线免费观看网站| 欧美日韩免费一区二区三区视频| 欧美日韩国产综合一区二区三区| 91精品国产综合久久精品 | 国内精品久久久久影院薰衣草| 国产精品一区二区三区网站| 成人午夜视频福利| 色综合中文字幕国产 | 樱桃视频在线观看一区| 午夜电影一区二区三区| 国产在线精品免费| 91浏览器入口在线观看| 欧美日韩免费电影| 久久精品视频一区二区三区| 亚洲精品成人悠悠色影视| 日韩高清电影一区| 国产成人午夜99999| 欧洲日韩一区二区三区| 日韩欧美国产一二三区| 国产精品无圣光一区二区| 亚洲一区二区在线观看视频 | 亚洲伊人色欲综合网| 日韩成人午夜精品| 成人一区二区三区在线观看| 欧美日韩精品一区二区在线播放| 国产婷婷一区二区| 亚洲成av人片在线| 丁香激情综合国产| 日韩一级欧美一级| 亚洲欧美成aⅴ人在线观看| 久久精品免费观看| 色嗨嗨av一区二区三区| 久久一留热品黄| 亚洲成人tv网| 不卡的电视剧免费网站有什么| 日韩一区二区免费在线电影| 亚洲日本韩国一区| 国产老女人精品毛片久久| 欧美精品xxxxbbbb| 亚洲免费视频成人| 成人免费电影视频| 日韩一卡二卡三卡国产欧美| 亚洲高清视频中文字幕| 成人av免费网站| 国产女人aaa级久久久级| 蜜臀av性久久久久蜜臀aⅴ四虎| 91免费版pro下载短视频| 久久免费视频一区| 九九精品视频在线看| 欧美一区二区三区成人| 亚洲国产精品一区二区久久恐怖片| 99久久久久免费精品国产| 久久你懂得1024| 国产在线播放一区| 精品国精品自拍自在线| 日韩av中文在线观看| 欧美美女网站色| 亚洲午夜久久久久久久久电影院| av成人老司机| 亚洲三级理论片| 91视频.com| 亚洲色图欧洲色图婷婷| 在线亚洲一区二区| 夜夜嗨av一区二区三区中文字幕| 99re8在线精品视频免费播放| 日本一区二区久久| 成人免费av资源|