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

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

?? maze25d.java

?? Sprite.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一区二区三区免费野_久草精品视频
亚洲一区二区在线观看视频| 国产精品91一区二区| 成人avav在线| 亚洲一区二区视频在线| 在线一区二区三区四区| 午夜精品久久久久影视| 欧美一区二区三区在线视频 | 91色视频在线| 亚洲一区二区欧美日韩| 欧美日韩一级视频| 国产在线播放一区| 亚洲高清免费观看高清完整版在线观看| 国产精品系列在线播放| 亚洲美女精品一区| 久久伊99综合婷婷久久伊| 豆国产96在线|亚洲| 一区二区三区免费网站| 56国语精品自产拍在线观看| 成人综合婷婷国产精品久久| 日韩中文字幕不卡| 亚洲免费成人av| 国产亚洲欧美色| 91精品婷婷国产综合久久竹菊| 懂色av一区二区三区蜜臀| 青青草原综合久久大伊人精品| 国产精品久久久一区麻豆最新章节| 在线成人小视频| 日韩一区二区三| 91在线国产观看| 色综合天天综合色综合av| 国产精品一区久久久久| 国产一区二区精品在线观看| 日本91福利区| 精油按摩中文字幕久久| 蜜桃精品视频在线观看| 久久成人免费日本黄色| 麻豆91在线看| 国产自产v一区二区三区c| 激情五月播播久久久精品| 久久精品av麻豆的观看方式| 久久成人综合网| 国产不卡免费视频| av高清久久久| 欧美无砖砖区免费| 精品少妇一区二区| 国产精品美女久久久久久2018| 亚洲午夜久久久久中文字幕久| 欧美精品一级二级| 精品国产乱码久久久久久图片 | 捆绑调教一区二区三区| 久久精品国产澳门| 国产一区二区三区在线观看免费视频 | 亚洲伊人伊色伊影伊综合网| 一区二区免费在线| 国产精品综合二区| 91福利社在线观看| 精品国产一区二区精华 | 一区二区三区四区中文字幕| 日产国产欧美视频一区精品| 国产精品一二三| 欧美一区二区精品| 自拍偷在线精品自拍偷无码专区 | 中文幕一区二区三区久久蜜桃| 中文字幕佐山爱一区二区免费| 久久国产麻豆精品| 欧美日韩精品三区| 一区二区三区高清在线| 国产河南妇女毛片精品久久久 | 欧美性大战久久| 国产精品国产三级国产三级人妇| 婷婷综合另类小说色区| 欧美日韩久久不卡| 亚洲图片欧美激情| 91视频精品在这里| 成人欧美一区二区三区小说| 国产高清久久久| 欧美激情在线一区二区三区| 国产精品2024| 中文字幕va一区二区三区| 国产最新精品免费| 国产人妖乱国产精品人妖| 国产成人综合在线播放| 欧美国产亚洲另类动漫| 91麻豆免费在线观看| 一区二区视频免费在线观看| 欧美午夜不卡在线观看免费| 亚洲成av人片一区二区| 欧美一区二区三区播放老司机| 奇米综合一区二区三区精品视频 | 91久久精品一区二区三| 亚洲综合区在线| www.色综合.com| 婷婷综合五月天| 国产精品欧美精品| 91啪在线观看| 国产精品一二三| 欧美aaa在线| 亚洲视频免费在线| 精品久久久久久久久久久院品网| 国产91精品入口| 婷婷成人激情在线网| 国产精品久久久久久久久免费丝袜 | 国产欧美日韩视频一区二区| 欧美中文字幕久久| 国产毛片精品视频| 丝瓜av网站精品一区二区| 久久日一线二线三线suv| 欧美日韩精品一区二区三区| caoporm超碰国产精品| 久久国产综合精品| 天天综合色天天| 久久国产精品一区二区| 日本一区二区不卡视频| 日韩欧美国产精品一区| 制服丝袜av成人在线看| 日本精品一级二级| 在线成人av影院| 欧美亚洲国产一区二区三区va | 国产一区二区精品在线观看| 久久99国产乱子伦精品免费| 天天综合天天做天天综合| 亚洲韩国精品一区| 蜜桃av一区二区三区| 日本成人超碰在线观看| 激情都市一区二区| 高清在线不卡av| 91欧美激情一区二区三区成人| 91同城在线观看| 欧美日本韩国一区二区三区视频| 91精品国产欧美一区二区18| 91精品国产色综合久久不卡电影 | 亚洲国产另类av| 免费成人在线观看| 91玉足脚交白嫩脚丫在线播放| 色吊一区二区三区| 久久久综合视频| 一区二区高清在线| 国产激情91久久精品导航| 欧美三级在线播放| 久久精品欧美一区二区三区麻豆| 亚洲图片激情小说| 国产精品资源网站| 欧美日产国产精品| 国产精品久线在线观看| 精品一区二区av| 欧美在线观看一区| 成人欧美一区二区三区视频网页 | 91免费国产在线观看| 欧美一区二区大片| 亚洲成人在线免费| 91在线观看地址| 一区二区中文视频| 成人免费高清视频在线观看| 欧美一二三四区在线| 亚洲国产一区在线观看| 成人久久久精品乱码一区二区三区| 91麻豆精品国产91久久久久久 | 国产欧美日产一区| 国产综合色在线| 国产精品拍天天在线| 丁香六月综合激情| 国产精品天美传媒沈樵| 国产成人午夜精品影院观看视频 | 国产在线麻豆精品观看| 精品粉嫩超白一线天av| 国产真实乱偷精品视频免| 久久五月婷婷丁香社区| 粉嫩aⅴ一区二区三区四区| 国产精品毛片久久久久久久| 91丨porny丨蝌蚪视频| 一区二区免费看| 2022国产精品视频| 成人av影视在线观看| 亚洲午夜日本在线观看| 日韩免费观看高清完整版 | 菠萝蜜视频在线观看一区| 亚洲欧美日韩精品久久久久| 欧美精品一级二级| 成人黄色免费短视频| 日产国产欧美视频一区精品| 亚洲国产精品黑人久久久| 欧美日韩一区二区三区不卡| 日本不卡的三区四区五区| 久久尤物电影视频在线观看| 尤物在线观看一区| 91在线你懂得| 国产精品亚洲一区二区三区妖精 | 宅男在线国产精品| aa级大片欧美| 国产超碰在线一区| 免费观看成人av| 日韩高清一区在线| 亚洲综合一区二区精品导航| 久久精品亚洲精品国产欧美| 欧美日韩国产高清一区二区三区 | 欧美va在线播放| 91精品国产欧美一区二区成人| 在线免费观看成人短视频| 成人性生交大片免费看视频在线 | 色综合天天综合色综合av|