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

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

?? maze25d.java

?? 《java游戲設計》范例源代碼及程序執行結果
?? JAVA
字號:
// 程序:2.5D斜角迷宮
// 范例文件:Maze25D.java

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Maze25D extends Applet
    implements Runnable, KeyListener  // 實現多線程接口與事件處理
{
   int          AppletWidth, AppletHeight,floorW,floorH,
                blockW,blockH,charW,key,sx;
   Image        floor,block,block2,OffScreen,character2;
   Thread       newThread;
   Graphics     drawOffScreen; 
   MediaTracker MT;
   Sprite2 s;  // Sprite2是角色類
   // 迷宮數組
   int[][] maze = {{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
                   {0,0,0,0,0,1,0,0,1,0,0,1,1,0,0,1},
                   {1,0,1,0,1,0,0,0,1,0,1,0,0,1,1,1},
                   {1,0,0,0,0,1,1,1,1,0,1,0,1,1,0,1},
                   {1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1},
                   {1,1,0,1,0,1,1,0,1,1,0,0,1,0,1,1},
                   {1,1,0,0,0,0,1,0,0,1,0,0,0,0,1,1},
                   {1,1,0,0,1,0,1,1,1,1,0,1,0,0,1,1},
                   {1,1,1,1,1,0,0,0,1,1,0,0,0,0,1,1},
                   {1,0,0,0,0,0,0,0,1,0,0,1,1,0,1,1},
                   {1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,1},
                   {1,1,1,0,0,0,1,1,1,0,1,0,1,1,1,1},
                   {1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1},
                   {1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1},
                   {1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0},
                   {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};

   public void init()
   {
      addKeyListener(this);              //注冊事件處理函數

      setBackground(Color.white);        //設定背景顏色
  
      AppletWidth  = getSize().width;    //取得Applet的高度
      AppletHeight = getSize().height;   //取得Applet的寬度

      //取得圖像
      MT           = new MediaTracker(this);
      floor = getImage(getDocumentBase(),"Images/floor.gif");         
      block = getImage(getDocumentBase(),"Images/block3.gif");        
      block2 = getImage(getDocumentBase(),"Images/block4.gif");    
      character2 = getImage(getDocumentBase(),"Images/character2.gif");          
      MT.addImage(floor,0);
      MT.addImage(block,0);
      MT.addImage(block2,0);
      MT.addImage(character2,0);
     
      try
      {
         showStatus("圖像加載中(Loading Images)...");
         MT.waitForAll();
      }
      catch(InterruptedException E){ }   //沒有進行異常處理
      
      //建立次畫面
      OffScreen     = createImage(AppletWidth,AppletHeight);
      drawOffScreen = OffScreen.getGraphics();

      floorW = floor.getWidth(this);
      floorH = floor.getHeight(this);
      blockW = block.getWidth(this);
      blockH = block.getHeight(this);
      charW = character2.getHeight(this);
 
      sx = 0;  // 動畫圖片來源坐標

      s = new Sprite2(charW, maze);  // 初始角色狀態
   }

   public void start()
   {
      newThread = new Thread(this);
      newThread.start();
   }

   public void stop()
   {
      newThread = null;
   }

   public void update(Graphics g)   //update()函數
   {
      paint(g);                     //只單純調用paint()函數
   }

   public void paint(Graphics g)
   {
      //將次畫面貼到主畫面中
      g.drawImage(OffScreen,0,0,this);
   }

   // X 坐標轉換
   private int rotateX(int j, int i)
   {
      int x;
      x = (j-i)*floorW + 500;
      return (int) (x*Math.cos(60*Math.PI/180));
   }

   // Y 坐標轉換   
   private int rotateY(int j, int i)
   {
      int x, y;
      x = j*floorW + 150;
      y = -i*floorH;
      y = (int )-(y*Math.cos(-15*Math.PI/180) + 
             x*Math.sin(60*Math.PI/180)*Math.sin(-15*Math.PI/180));
      y = y - i * floorH/2;
      return y ;
   }

   // 利用多線程進行動畫繪制
    public void run()
    {
        while(true)
        {
          // 清除緩沖區繪圖頁
          drawOffScreen.clearRect(0,0,AppletWidth,AppletHeight);

           int X,Y;
          // 繪制地板
           for(int i=1; i < 16; i++)
              for(int j=1; j < 16; j++)
              {
                 // 根據索引值進行坐標轉換
                 X = rotateX(j,i);
                 Y = rotateY(j,i);
                 drawOffScreen.drawImage(floor,X,Y,X+floorW,
                      Y+floorH,0,0,floorW,floorH,this);
              }

           // 繪制障礙物
           for(int i=0; i < 16; i++)
              for(int j=0; j < 16; j++)
              {
                 if(maze[i][j] != 0) {
                 // 根據索引值進行坐標轉換
                    X = rotateX(j,i);
                    Y = rotateY(j,i);
                    drawOffScreen.drawImage(block,X,Y+4,X+blockW,
                        Y+blockH+4,0,0,blockW,blockH,this);
                 }
              }        

           // 根據索引值進行坐標轉換
           X = rotateX(s.indexJ,s.indexI) - 5;
           Y = rotateY(s.indexJ,s.indexI) - 5;

           // 繪制角色
           drawOffScreen.drawImage(character2,X,Y,X+30,Y+30,
                                 sx, 0, sx+50,50,this);

           // 判斷右方有無障礙物,如果有就補貼障礙物
           if(maze[s.indexI][s.indexJ+1] != 0) {
              X = rotateX(s.indexJ+1,s.indexI);
              Y = rotateY(s.indexJ+1,s.indexI);
              drawOffScreen.drawImage(block2,X,Y+4,X+blockW,
                    Y+blockH+4,0,0,blockW,blockH,this);
           }

           // 判斷下方有無障礙物,如果有就補貼障礙物
           if(maze[s.indexI+1][s.indexJ] != 0) {
              X = rotateX(s.indexJ,s.indexI+1);
              Y = rotateY(s.indexJ,s.indexI+1);
              drawOffScreen.drawImage(block2,X,Y+4,X+blockW,
                    Y+blockH+4,0,0,blockW,blockH,this);
           }

           // 判斷右下方有無障礙物,如果有就補貼障礙物
           if(maze[s.indexI+1][s.indexJ+1] != 0) {
              X = rotateX(s.indexJ+1,s.indexI+1);
              Y = rotateY(s.indexJ+1,s.indexI+1);
              drawOffScreen.drawImage(block2,X,Y+4,X+blockW,
                    Y+blockH+4,0,0,blockW,blockH,this);
           }

           repaint();
           // 角色走動動畫
           sx += 50;
           if(sx >= 300)
              sx = 0;

           try {
               Thread.sleep(200);
           }
           catch (InterruptedException e)
           {

           }
        }
    }

   // ============鍵盤事件處理================

   public void keyTyped(KeyEvent e)  { }

   public void keyPressed(KeyEvent e)
   {
      key = e.getKeyCode();

      // 為配合斜角地圖,鍵盤的操作方向作了改變
      if(key == KeyEvent.VK_RIGHT)
         s.moveUp();  // 右鍵改為地圖的往上移動
      else if(key == KeyEvent.VK_LEFT)
         s.moveDown(); // 左鍵改為地圖的往下移動
      else if(key == KeyEvent.VK_UP)
          s.moveLeft();  // 上鍵改為地圖的往左移動
      else if(key == KeyEvent.VK_DOWN)
          s.moveRight(); // 下鍵改為地圖的往右移動
   }

   public void keyReleased(KeyEvent e) {}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
自拍偷拍国产精品| 久久亚洲精精品中文字幕早川悠里 | 在线电影一区二区三区| 成人免费高清视频| 精品一区二区三区免费| 蜜臀a∨国产成人精品| 久久国产尿小便嘘嘘| 精品亚洲porn| 国产精品一区在线观看乱码| 蜜桃av一区二区三区电影| 美国十次了思思久久精品导航| 亚洲午夜精品17c| 亚洲成人第一页| 久久精品99国产精品| 国产毛片精品视频| 波多野结衣视频一区| 99久久99久久综合| 日韩欧美一级在线播放| 欧美日韩高清在线| 欧美精品一区二区三区蜜桃视频 | 国产精品麻豆一区二区| 中文字幕一区二区三| 一区二区三区在线高清| 日韩影院免费视频| 国产成人综合在线观看| 91年精品国产| 88在线观看91蜜桃国自产| 精品av综合导航| 亚洲欧洲在线观看av| 午夜精品影院在线观看| 久久国产精品第一页| 99久精品国产| 欧美一区二区免费视频| 国产精品嫩草影院com| 亚洲亚洲人成综合网络| 国产在线一区二区综合免费视频| 成人高清视频在线| 欧美电影一区二区三区| 国产欧美日韩中文久久| 亚洲一区二区三区四区在线观看 | 亚洲女同ⅹxx女同tv| 亚洲成国产人片在线观看| 国产成人精品免费视频网站| 在线中文字幕不卡| 2023国产一二三区日本精品2022| 一区二区三区四区在线| 国产精品一区二区无线| 91国内精品野花午夜精品| 久久视频一区二区| 天天av天天翘天天综合网色鬼国产| 韩国v欧美v亚洲v日本v| 91碰在线视频| 国产精品网曝门| 精品一区二区三区在线观看| 91久久精品日日躁夜夜躁欧美| 久久综合色播五月| 视频一区在线播放| 色综合久久综合中文综合网| 久久久久久99久久久精品网站| 亚洲国产成人91porn| 97久久超碰国产精品| 久久毛片高清国产| 久久99久久久久久久久久久| 欧美体内she精视频| 国产精品美女久久久久久2018| 裸体在线国模精品偷拍| 欧美日韩美少妇| 一级精品视频在线观看宜春院| 国产成人午夜99999| 欧美一区欧美二区| 亚洲va欧美va人人爽| 色综合天天综合狠狠| 国产精品你懂的| 成人av综合在线| 欧美经典三级视频一区二区三区| 美女脱光内衣内裤视频久久网站 | 久久伊人中文字幕| 成人av在线资源网| 337p日本欧洲亚洲大胆色噜噜| 麻豆久久久久久| 欧美成人一区二区| 日韩激情av在线| 欧美电影精品一区二区| 捆绑调教一区二区三区| 日韩欧美一区二区久久婷婷| 久久国产精品免费| 久久精品一区二区三区四区| 国产不卡视频一区| 欧美国产精品中文字幕| 成人毛片视频在线观看| 最新中文字幕一区二区三区| 一本到不卡免费一区二区| 亚洲美女电影在线| 欧美婷婷六月丁香综合色| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美r级在线观看| 国产91精品欧美| 亚洲图片你懂的| 欧美三电影在线| 久久国产生活片100| 欧美激情一二三区| 91啪九色porn原创视频在线观看| 亚洲一区二区三区中文字幕| 欧美色老头old∨ideo| 蜜桃视频在线观看一区| 中文字幕不卡一区| 一本到不卡免费一区二区| 亚洲成人激情社区| 精品成人一区二区三区四区| 成人av在线电影| 婷婷综合久久一区二区三区| 337p日本欧洲亚洲大胆精品| 99久久精品国产精品久久| 视频一区中文字幕国产| 久久久久一区二区三区四区| 日本乱人伦一区| 久久精品国内一区二区三区| 国产精品丝袜黑色高跟| 在线播放欧美女士性生活| 久久电影网站中文字幕| 中文字幕色av一区二区三区| 91精品国产综合久久香蕉的特点| 狠狠色综合日日| 亚洲蜜臀av乱码久久精品蜜桃| 91精品国产欧美一区二区成人| 国产精品一二三区| 偷拍亚洲欧洲综合| 国产精品久久久久影院| 91.com视频| 色噜噜狠狠成人网p站| 国产一本一道久久香蕉| 亚洲成人自拍偷拍| 国产精品色眯眯| 日韩欧美国产小视频| 日本乱人伦aⅴ精品| 国产成人亚洲综合a∨婷婷| 午夜国产不卡在线观看视频| 中文在线一区二区| 精品欧美乱码久久久久久| 欧美亚洲一区三区| 9久草视频在线视频精品| 激情久久久久久久久久久久久久久久| 午夜久久电影网| 夜夜精品视频一区二区| 中文字幕在线不卡视频| 国产亚洲美州欧州综合国| 在线成人免费观看| 欧美三区在线视频| 日本久久一区二区| 91丝袜美女网| 99久久精品免费观看| 丁香婷婷综合激情五月色| 精品一区二区三区香蕉蜜桃| 日本不卡在线视频| 亚洲一级二级三级在线免费观看| 亚洲视频一区二区在线观看| 中文字幕免费观看一区| 久久午夜色播影院免费高清 | 99精品视频在线免费观看| 国产精品一区二区三区乱码| 国产一区二区三区最好精华液| 免费国产亚洲视频| 麻豆极品一区二区三区| 美女视频网站黄色亚洲| 久久草av在线| 国产在线视视频有精品| 国产精品综合av一区二区国产馆| 久久99国产精品尤物| 免费在线看成人av| 九九**精品视频免费播放| 久久99久久久久久久久久久| 国产一区二区三区四区五区美女| 韩国欧美国产1区| 国产福利精品导航| 波多野结衣在线一区| 成人福利电影精品一区二区在线观看| www.在线欧美| 91福利小视频| 91精品国产手机| 日韩一区二区中文字幕| 久久影院电视剧免费观看| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品国模大尺度视频| 亚洲欧美偷拍三级| 亚洲在线一区二区三区| 日韩成人免费电影| 国产成人综合视频| 色婷婷综合久色| 欧美一三区三区四区免费在线看 | 91精品啪在线观看国产60岁| 欧美成人高清电影在线| 国产午夜精品理论片a级大结局| 国产精品久久久久久久久果冻传媒| 亚洲视频一区在线| 日本视频一区二区| 国产白丝精品91爽爽久久| 一本到高清视频免费精品| 日韩午夜在线观看| 一区二区中文字幕在线| 日韩国产欧美在线视频|