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

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

?? playcanvas.java

?? 大富翁游戲加源代碼 很不錯的學習材料哦!
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
          for (int k = 0; k < 2; k++)
            player_stock[i][j][k] = 0;
      }
      //股票
      this.stock_name = new String[4];
      stock_name[0] = "嘟嘟控股";
      stock_name[1] = "華西醫大";
      stock_name[2] = "Microsoft";
      stock_name[3] = "Linux";
      this.stock_price = new int[4];
      stock_price[0] = 10;
      stock_price[1] = 4;
      stock_price[2] = 12;
      stock_price[3] = 6;
      this.stock_amplitude = new int[4];
      stock_amplitude[0] = 5 - this.fetchRandom(10);
      stock_amplitude[1] = 5 - this.fetchRandom(10);
      stock_amplitude[2] = 5 - this.fetchRandom(10);
      stock_amplitude[3] = 5 - this.fetchRandom(10);
      this.stock_price_fraction = new int[4];
      stock_price_fraction[0] = 0;
      stock_price_fraction[1] = 0;
      stock_price_fraction[2] = 0;
      stock_price_fraction[3] = 0;
      //其他
      choiceIndex = 0;
      gameStatusGoOrWinOrFail = 0;
      turnCount = 0;
      nowPlayerID = 0;
      ManControlStatus_CanNotPlay = false;
    }
    /**
     * 控制股票升降
     */

    private void changeStock() {
      for (int i = 0; i < 4; i++ ){
        stock_amplitude[i] += (7 - this.fetchRandom(14));
        if (stock_amplitude[i] > 10)
          stock_amplitude[i] = 10; //漲幅不能大于10%
        if (stock_amplitude[i] < -10)
          stock_amplitude[i] = -10; //漲幅不能小于-10%
        int price = stock_price[i] * 10000 + stock_price_fraction[i];
        price = price * (100 + stock_amplitude[i]) / 100;
        stock_price[i] = price / 10000;
        stock_price_fraction[i] = price - stock_price[i] * 10000;
        if (stock_price[i] < 2) { //價格不能小于 2塊錢
          stock_price[i] = 2;
        }
      }
    }
    /**
     * 游戲結束
     * @param status 結束標記
     */

    private void gameOver(int status)
    {
        if(status == 1)
        {
            gameStatusGoOrWinOrFail = 2;
            repaint();
            serviceRepaints();
            richMan.freshHighScore(player_sequence[0], turnCount);
        } else
        {
            gameStatusGoOrWinOrFail = 3;
            repaint();
            serviceRepaints();
        }
    }
    /**
     * 自動保存文件
     */

    public void autoSaveGame()
    {
      try {
        RecordStore recordstore = RecordStore.openRecordStore("RichMan", true);
        byte bytes[] = saveGame();
        if (recordstore.getNumRecords() == 0)
          recordstore.addRecord(bytes, 0, bytes.length);
        else {
          recordstore.setRecord(1, bytes, 0, bytes.length);
          System.out.print("AutoSetSaveGame Success!");
        }
        recordstore.closeRecordStore();
      }
      catch (RecordStoreException ex) {
        System.out.println("AutoSave failed!");
      }
    }
    /**
     * 獲得游戲記錄
     */

    public boolean fetchRecords()
    {
      try {
        RecordStore recordstore = RecordStore.openRecordStore("RichMan", false);
        if (recordstore == null)
          return false;
        rebuildGame(recordstore.getRecord(1));
        recordstore.closeRecordStore();
      }
      catch (Exception exception) {
        return false;
      }
      play(true);
      return true;
    }
    /**
     * 保存游戲
     */

    public byte[] saveGame()
    {
        byte bytes[] = null;
        try
        {
            ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
            DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
            // 玩家數據
            for(int i = 0; i < 3; i++)
            {
                dataoutputstream.writeInt(player_location[i]);
                dataoutputstream.writeInt(player_money[i]);
                dataoutputstream.writeInt(player_sequence[i]);
                dataoutputstream.writeInt(player_prinson_canNotMoveNum[i]);
                for (int j = 0; j < 4; j++)
                  for (int k = 0; k < 2; k++)
                    dataoutputstream.writeInt(this.player_stock[i][j][k]);
                for(int j = 0; j < 5; j++)
                  dataoutputstream.writeInt(player_cards[i][j]);
            }
            // 地皮數據
            for(int i = 0; i < groundForBuilding.length; i++)
              dataoutputstream.writeInt(groundForBuilding[i]);
              // 股票數據
            for(int i = 0; i < 4; i++) {
              dataoutputstream.writeInt(this.stock_price[i]);
              dataoutputstream.writeInt(this.stock_amplitude[i]);
              dataoutputstream.writeInt(this.stock_price_fraction[i]);
            }
            // 其他數據
            dataoutputstream.writeInt(turnCount);
            dataoutputstream.writeInt(this.gameSpeed);
            dataoutputstream.writeBoolean(this.isLightOn);
            dataoutputstream.writeBoolean(this.isMusicOn);

            bytes = bytearrayoutputstream.toByteArray();
            bytearrayoutputstream.close();
            dataoutputstream.close();
        }
        catch(Exception exception) { }
        return bytes;
    }
    /**
     * 重建游戲(load game)
     */

    public void rebuildGame(byte recordData[])
    {
        try
        {
            ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(recordData);
            DataInputStream datainputstream = new DataInputStream(bytearrayinputstream);
            for(int i = 0; i < 3; i++)
            {
                player_location[i] = datainputstream.readInt();
                player_money[i] = datainputstream.readInt();
                player_sequence[i] = datainputstream.readInt();
                player_prinson_canNotMoveNum[i] = datainputstream.readInt();
                for (int j = 0; j < 4; j++)
                  for (int k = 0; k < 2; k++)
                    player_stock[i][j][k] = datainputstream.readInt();
                for(int j = 0; j < 5; j++)
                  player_cards[i][j] = datainputstream.readInt();

            }

            for(int i = 0; i < groundForBuilding.length; i++)
                groundForBuilding[i] = datainputstream.readInt();
              for(int i = 0; i < 4; i++) {
                this.stock_price[i] = datainputstream.readInt();
                this.stock_amplitude[i] = datainputstream.readInt();
                this.stock_price_fraction[i] = datainputstream.readInt();
              }

            turnCount = datainputstream.readInt();
            this.gameSpeed = datainputstream.readInt();
            this.isLightOn = datainputstream.readBoolean();
            this.isMusicOn = datainputstream.readBoolean();

            this.setIsLightOn(this.isLightOn);
            this.setIsMusicOn(this.isIsMusicOn());

            bytearrayinputstream.close();
            datainputstream.close();
        }
        catch(Exception exception) { }
    }
    /**
     * 購買土地
     */

    public void buyLand()
    {
        switch(groundForBuilding[player_location[nowPlayerID]])
        {
        case 0: // '\0'
            player_money[nowPlayerID] -= fetchGroundPrice(player_location[nowPlayerID]);
            break;

        case 1: //
        case 10: //
        case 100: //
            player_money[nowPlayerID] -= (fetchGroundPrice(player_location[nowPlayerID]) * 2) / 5;
            break;

        case 2: //
        case 20: //
        case 200:
            player_money[nowPlayerID] -= (fetchGroundPrice(player_location[nowPlayerID]) * 3) / 5;
            break;

        case 3: //
        case 30: //
        case 300:
            player_money[nowPlayerID] -= (fetchGroundPrice(player_location[nowPlayerID]) * 4) / 5;
            break;

        case -2: //衰神的土地
            player_money[nowPlayerID] -= fetchGroundPrice(player_location[nowPlayerID]);
            break;
        case -1: //財神的土地
          break;
        }
        if(groundForBuilding[player_location[nowPlayerID]] == -2)
            groundForBuilding[player_location[nowPlayerID]] = 0; // 恢復衰神的土地
        else
            groundForBuilding[player_location[nowPlayerID]] += nowPlayerID != 0 ? nowPlayerID != 1 ? 100 : 10 : 1;
        adjustGroundOverBuilding(player_location[nowPlayerID]);
    }
    /**
     * 處理電腦玩家玩游戲
     */

    void dealWithComputerActorPlay()
    {
      ManControlStatus_CanNotPlay = true;
      int cardIndex = -1;
      //自動獲得卡片
      if(player_cards[nowPlayerID][0] != 16)
        cardIndex = autoFetchCardIndex();
      if(cardIndex != -1 &&
         this.fetchRandom(5) > 3) // 電腦有2/6機會使用卡片
      {
        choiceIndex = 1;
        repaint();
        serviceRepaints();
        try
        {
          Thread.sleep(1000L);
        }
        catch(Exception exception) { }

        richMan.useCard_ComputerActor(player_cards[nowPlayerID], cardIndex);

        /*
        choiceID = 0;
        repaint();
        serviceRepaints();
        try
        {
          Thread.sleep(1000L);
        }
        catch(Exception exception) { }
        */
      }else
        richMan.setDisplayToDiceCanvas();
    }
    /**
     * 自動獲得卡片
     */

    private int autoFetchCardIndex()
    {
      int cardCount = 0;
      //計算卡片的數目
      for(int i1 = 0; i1 < 5; i1++)
        if(player_cards[nowPlayerID][i1] != 16)
          cardCount++;

      for(int index = 0; index < cardCount; index++)
        switch(player_cards[nowPlayerID][index])
        {
          case 4: // 免罪卡
          default:
            break;

          case 2: // 強占卡
            if(!isNowPlayerIDGround())
              return index;
            break;

          case 8: // 財神卡
          case 9: // 衰神卡
            if(groundForBuilding[player_location[nowPlayerID]] == 0 &&
               player_location[nowPlayerID] != 2 &&
               player_location[nowPlayerID] != 5 &&
               player_location[nowPlayerID] != 11 &&
               player_location[nowPlayerID] != 16 &&
               player_location[nowPlayerID] != 20 &&
               player_location[nowPlayerID] != 25 &&
               player_location[nowPlayerID] != 28 &&
               player_location[nowPlayerID] != 32 &&
               player_location[nowPlayerID] != 37 &&
               player_location[nowPlayerID] != 42 &&
               player_location[nowPlayerID] != 45 &&
               player_location[nowPlayerID] != 49)
              return index;
            break;

          case 0: //其他卡片
          case 1: //
          case 3: //
          case 5: //
          case 6: //
          case 7: //
            return index;
        }
      return -1;
    }
    /**
     * 設置背景燈
     * @param isLightOn 是否開燈
     */

  public void setIsLightOn(boolean isLightOn) {
    this.isLightOn = isLightOn;
    if (this.isLightOn)
      com.siemens.mp.game.Light.setLightOn();
    else
      com.siemens.mp.game.Light.setLightOff();
  }
  /**
   * 設置音樂
   * @param isMusicOn 是否打開音樂
   */

  public void setIsMusicOn(boolean isMusicOn) {
    this.isMusicOn = isMusicOn;
    if (this.isMusicOn)
      this.composer.getMelody().play();
    else
      this.composer.getMelody().stop();
  }
  /**
   * 獲取背景燈狀態
   */

  public boolean isIsLightOn() {
    return isLightOn;
  }
  /**
   * 獲取背景音樂狀態
   */

  public boolean isIsMusicOn() {
    return isMusicOn;
  }
  /**
   * 獲取游戲速度
   */

  public int getGameSpeed() {
    return gameSpeed;
  }
  /**
   * 設置游戲速度
   */

  public void setGameSpeed(int gameSpeed) {
    this.gameSpeed = gameSpeed;
  }
  /**
   * 初始化音樂
   */

  public void initialMusic() {
    if (composer == null)
      composer = new com.siemens.mp.game.MelodyComposer();
    else
      composer.resetMelody();
    composer.setBPM(240);
    try {
      com.siemens.mp.io.File file = new com.siemens.mp.io.File();
      int musicFile = file.open("music" + this.music +".msc");
      int length = file.length(musicFile);
      byte[] bytes = new byte[length];
      file.read(musicFile,bytes,0,length);

      for (int i = 0; i < length / 2; i++) {
        composer.appendNote((int)bytes[i*2], (int)bytes[i*2+1]);
      }
      composer.appendNote(composer.TONE_REPEV, 1);
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    /*
    try {
      composer.appendNote(composer.TONE_E3, composer.TONELENGTH_DOTTED_1_4);
      composer.appendNote(composer.TONE_D3, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_PAUSE, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_E3, composer.TONELENGTH_DOTTED_1_4);
      composer.appendNote(composer.TONE_D3, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_PAUSE, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_C3, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_PAUSE, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_H2, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_PAUSE, composer.TONELENGTH_DOTTED_1_16);

      composer.appendNote(composer.TONE_A2, composer.TONELENGTH_1_8);
      composer.appendNote(composer.TONE_A2, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_PAUSE, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_G2, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_PAUSE, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_A2, composer.TONELENGTH_DOTTED_1_4);
      composer.appendNote(composer.TONE_G2, composer.TONELENGTH_DOTTED_1_16);
      composer.appendNote(composer.TONE_PAUSE, composer.TONELENGTH_D

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕日韩一区| 免费观看30秒视频久久| 欧美电视剧在线观看完整版| 色婷婷综合久色| 国产成人精品三级| 精东粉嫩av免费一区二区三区| 亚洲一区在线观看视频| 亚洲品质自拍视频| 亚洲一区二区av电影| 亚洲在线视频一区| 青青草91视频| 国产一区二区久久| www.亚洲人| 欧美三级视频在线播放| 欧美电影在哪看比较好| 精品美女一区二区| 国产区在线观看成人精品| 中文字幕综合网| 亚洲二区在线视频| 日产精品久久久久久久性色 | 国产九九视频一区二区三区| 国产呦精品一区二区三区网站| 久久99精品久久久久| 国产黄色成人av| 99精品一区二区| 精品视频在线免费观看| 91精品国产色综合久久| 久久久三级国产网站| 国产精品网站在线观看| 亚洲一区在线视频观看| 天堂影院一区二区| 国产精品一区二区x88av| 成人激情免费网站| 91精品一区二区三区在线观看| 69久久夜色精品国产69蝌蚪网| 日韩欧美高清一区| 中文字幕一区三区| 天堂久久久久va久久久久| 国产**成人网毛片九色| 欧美日韩你懂的| 国产欧美一区二区精品仙草咪| 国产精品成人一区二区艾草 | 偷拍与自拍一区| 国产精品国产馆在线真实露脸| 久久er精品视频| 欧美群妇大交群中文字幕| 国产精品嫩草影院av蜜臀| 国产一区91精品张津瑜| 日韩精品一区二区在线| 亚洲成人高清在线| 欧美变态口味重另类| 免费不卡在线观看| 日韩精品一区二区三区视频| 国产精品99久久久久久有的能看| 久久蜜桃av一区精品变态类天堂| 久久精品二区亚洲w码| 欧美成人高清电影在线| 欧美亚洲综合一区| 国产精品影视天天线| 国产精品国产a| 亚洲欧美电影一区二区| 欧美色网站导航| 99久久99久久综合| 欧美丝袜自拍制服另类| 国产成人av电影在线播放| 日韩一级高清毛片| 一区二区高清免费观看影视大全| 欧美日韩高清一区二区三区| 寂寞少妇一区二区三区| 亚洲国产精华液网站w| 91精品国产色综合久久 | 麻豆精品久久精品色综合| 欧美久久久一区| 蜜桃av一区二区三区电影| 亚洲成人av一区| 国产精品久久午夜夜伦鲁鲁| 青青草97国产精品免费观看 | 国产综合久久久久影院| 色88888久久久久久影院野外| 日韩亚洲欧美一区| 五月婷婷激情综合| 一本色道a无线码一区v| 国产欧美日韩在线观看| 久久精品国产网站| 五月婷婷久久丁香| 奇米精品一区二区三区在线观看 | 国产九色sp调教91| 美女视频网站黄色亚洲| 精品日韩av一区二区| 91精品国产色综合久久不卡电影| 91精品国产麻豆国产自产在线| 欧美性猛交一区二区三区精品| 7777精品伊人久久久大香线蕉完整版 | av中文字幕在线不卡| 在线影视一区二区三区| 亚洲精品一卡二卡| 在线观看日韩av先锋影音电影院| 一区二区三区高清| 欧美精品在线观看播放| 久久精品国产一区二区三区免费看| 欧美成人一区二区三区| 国产精品 日产精品 欧美精品| 国产精品无码永久免费888| 99久久99久久精品免费看蜜桃| 亚洲乱码日产精品bd| 欧美精选午夜久久久乱码6080| 麻豆一区二区三区| 国产精品青草综合久久久久99| 色婷婷综合久久久中文一区二区| 亚洲不卡一区二区三区| 久久久国产精品麻豆| 色久综合一二码| 狠狠色狠狠色综合| 亚洲影视资源网| 国产蜜臀97一区二区三区| 欧美中文字幕久久 | 久久久亚洲高清| 色哟哟精品一区| 国产综合成人久久大片91| 亚洲精品久久久蜜桃| 久久久亚洲精品石原莉奈| 欧美午夜精品电影| 成人免费视频一区二区| 日韩国产欧美三级| 亚洲人成网站色在线观看| 欧美电影免费观看高清完整版在线观看| gogo大胆日本视频一区| 国内精品视频一区二区三区八戒| 亚洲激情男女视频| 国产精品的网站| 久久久久久免费| 日韩一级欧美一级| 欧美在线三级电影| 93久久精品日日躁夜夜躁欧美| 加勒比av一区二区| 美女脱光内衣内裤视频久久影院| 亚洲黄色免费电影| 亚洲欧美日韩国产综合在线| 久久网站最新地址| 日韩免费高清av| 91精品国产色综合久久| 91黄视频在线| 色呦呦网站一区| 成人av第一页| 懂色av一区二区三区免费看| 久久99精品久久久久婷婷| 日韩精品欧美成人高清一区二区| 国产一区二区在线观看免费| 欧美电影免费提供在线观看| 欧美综合一区二区| 日韩精品一区二区三区中文精品| 伦理电影国产精品| 亚洲欧美电影一区二区| 91精品国产91久久综合桃花| 国产伦精品一区二区三区视频青涩| 欧美电影免费观看完整版| 国产99精品在线观看| 麻豆国产精品一区二区三区| 亚洲裸体在线观看| 久久久美女毛片| 日韩精品一区二区在线观看| 日韩精品一区二区三区中文不卡 | 中日韩av电影| 欧美激情一区二区三区| 久久蜜桃av一区精品变态类天堂| 久久久精品2019中文字幕之3| 久久免费国产精品| 亚洲国产精品传媒在线观看| 欧美激情艳妇裸体舞| 亚洲卡通欧美制服中文| 亚洲一区二区在线免费看| 调教+趴+乳夹+国产+精品| 日韩国产高清影视| 国产精品888| 99久久综合色| 欧美日韩国产高清一区二区三区 | 丁香亚洲综合激情啪啪综合| av亚洲精华国产精华精华| 一本色道久久综合亚洲aⅴ蜜桃 | 欧美在线你懂的| 日韩女优制服丝袜电影| 久久综合成人精品亚洲另类欧美| 国产精品区一区二区三区| 一区av在线播放| 黄网站免费久久| 99久久久免费精品国产一区二区| 欧美亚洲另类激情小说| 日韩欧美专区在线| 中文字幕五月欧美| 日日夜夜精品视频免费| 国产精品 日产精品 欧美精品| 色综合天天性综合| 欧美一区二区视频免费观看| 国产精品的网站| 日本成人中文字幕在线视频| www.欧美.com| 久久这里都是精品| 亚洲夂夂婷婷色拍ww47| 成人精品一区二区三区中文字幕| 欧美在线观看一区二区|