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

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

?? maze25d.java

?? java2 游戲設(shè)計(jì)書(shū)的全部源碼
?? JAVA
字號(hào):
// 程序:2.5D斜角迷宮
// 范例文件:Maze25D.java

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

public class Maze25D extends Applet
    implements Runnable, KeyListener  // 實(shí)現(xiàn)多線程接口與事件處理
{
   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是角色類
   // 迷宮數(shù)組
   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);              //注冊(cè)事件處理函數(shù)

      setBackground(Color.white);        //設(shè)定背景顏色
  
      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){ }   //沒(méi)有進(jìn)行異常處理
      
      //建立次畫(huà)面
      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;  // 動(dòng)畫(huà)圖片來(lái)源坐標(biāo)

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

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

   public void stop()
   {
      newThread = null;
   }

   public void update(Graphics g)   //update()函數(shù)
   {
      paint(g);                     //只單純調(diào)用paint()函數(shù)
   }

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

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

   // Y 坐標(biāo)轉(zhuǎn)換   
   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 ;
   }

   // 利用多線程進(jìn)行動(dòng)畫(huà)繪制
    public void run()
    {
        while(true)
        {
          // 清除緩沖區(qū)繪圖頁(yè)
          drawOffScreen.clearRect(0,0,AppletWidth,AppletHeight);

           int X,Y;
          // 繪制地板
           for(int i=1; i < 16; i++)
              for(int j=1; j < 16; j++)
              {
                 // 根據(jù)索引值進(jìn)行坐標(biāo)轉(zhuǎn)換
                 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) {
                 // 根據(jù)索引值進(jìn)行坐標(biāo)轉(zhuǎn)換
                    X = rotateX(j,i);
                    Y = rotateY(j,i);
                    drawOffScreen.drawImage(block,X,Y+4,X+blockW,
                        Y+blockH+4,0,0,blockW,blockH,this);
                 }
              }        

           // 根據(jù)索引值進(jìn)行坐標(biāo)轉(zhuǎn)換
           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);

           // 判斷右方有無(wú)障礙物,如果有就補(bǔ)貼障礙物
           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);
           }

           // 判斷下方有無(wú)障礙物,如果有就補(bǔ)貼障礙物
           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);
           }

           // 判斷右下方有無(wú)障礙物,如果有就補(bǔ)貼障礙物
           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();
           // 角色走動(dòng)動(dòng)畫(huà)
           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();  // 右鍵改為地圖的往上移動(dòng)
      else if(key == KeyEvent.VK_LEFT)
         s.moveDown(); // 左鍵改為地圖的往下移動(dòng)
      else if(key == KeyEvent.VK_UP)
          s.moveLeft();  // 上鍵改為地圖的往左移動(dòng)
      else if(key == KeyEvent.VK_DOWN)
          s.moveRight(); // 下鍵改為地圖的往右移動(dòng)
   }

   public void keyReleased(KeyEvent e) {}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品1区2区| 色哟哟一区二区| 亚洲视频你懂的| 日韩欧美区一区二| 色婷婷亚洲一区二区三区| 精品无码三级在线观看视频 | 色久优优欧美色久优优| 久久福利视频一区二区| 亚洲免费观看在线观看| 久久久久久久久久久久电影| 欧美日韩在线免费视频| 成人午夜视频免费看| 蜜桃在线一区二区三区| 亚洲一区二区av在线| 欧美国产成人精品| 日韩一区二区三区四区五区六区| 91女厕偷拍女厕偷拍高清| 韩国精品一区二区| 奇米一区二区三区av| 亚洲福利一二三区| 一区二区三区自拍| 中文字幕日韩精品一区| 26uuu色噜噜精品一区二区| 欧美日韩电影一区| 欧美在线视频全部完| 99久久99久久精品免费看蜜桃| 国产一区欧美二区| 久久91精品久久久久久秒播| 视频一区二区不卡| 午夜欧美电影在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品国产三级国产aⅴ入口 | 一区二区三区不卡视频| 中文在线一区二区| 国产色91在线| 久久久国产精品不卡| 精品日韩在线观看| 久久综合中文字幕| 久久这里只有精品6| 精品999在线播放| 久久一区二区三区国产精品| 亚洲精品一区二区三区四区高清| 欧美一区二区在线视频| 欧美日本视频在线| 欧美丰满嫩嫩电影| 日韩亚洲欧美成人一区| 日韩女优av电影| 精品少妇一区二区三区在线视频| 精品国产乱子伦一区| 欧美本精品男人aⅴ天堂| 精品国产乱码久久久久久影片| 欧美精品一区二| 国产精品久久久久久久久免费相片| 国产精品天干天干在观线| 国产精品高潮呻吟久久| 亚洲人吸女人奶水| 性感美女极品91精品| 麻豆精品一区二区三区| 国产福利一区二区三区视频在线| 福利电影一区二区| 91天堂素人约啪| 欧美日韩成人在线一区| 精品国产乱码久久久久久免费 | 亚洲国产精品久久人人爱蜜臀| 亚洲va欧美va天堂v国产综合| 美女视频一区二区| 成人久久18免费网站麻豆| 91在线观看地址| 欧美久久婷婷综合色| 久久蜜臀精品av| 亚洲美腿欧美偷拍| 日韩和欧美一区二区三区| 国产真实乱偷精品视频免| 99精品欧美一区二区蜜桃免费 | 精品久久久久一区二区国产| 欧美高清在线精品一区| 亚洲成人综合在线| 老司机精品视频导航| 99麻豆久久久国产精品免费优播| 欧美日韩在线播放一区| 精品日韩99亚洲| 亚洲男同性恋视频| 免费成人美女在线观看.| 成人午夜视频在线| 91精品国产综合久久精品图片 | www.成人在线| 6080国产精品一区二区| 国产精品婷婷午夜在线观看| 日韩专区欧美专区| www.激情成人| 26uuu亚洲| 性做久久久久久免费观看| 粉嫩蜜臀av国产精品网站| 欧美高清视频一二三区| 国产精品不卡在线| 久久99久国产精品黄毛片色诱| 99精品一区二区| 久久久久久综合| 天堂一区二区在线| 91蝌蚪porny成人天涯| 久久亚区不卡日本| 日韩电影一区二区三区四区| 99久久国产综合精品色伊| 久久亚洲综合色| 日本网站在线观看一区二区三区| 色哟哟日韩精品| 国产精品视频观看| 国产在线国偷精品免费看| 9191精品国产综合久久久久久| 中文字幕色av一区二区三区| 韩国成人福利片在线播放| 欧美精品色一区二区三区| 亚洲少妇中出一区| 国产精品白丝av| 精品国产凹凸成av人网站| 日韩和欧美一区二区| 欧美性生活影院| 亚洲欧美成aⅴ人在线观看| 成人精品亚洲人成在线| 26uuu国产电影一区二区| 麻豆专区一区二区三区四区五区| 欧美老肥妇做.爰bbww| 亚洲精品少妇30p| 91一区在线观看| 国产精品国产自产拍在线| 国产精品一区一区三区| 精品免费视频一区二区| 日本欧美一区二区在线观看| 欧美精品在欧美一区二区少妇| 一级做a爱片久久| 欧美最猛性xxxxx直播| 亚洲欧美国产高清| 日本道免费精品一区二区三区| 国产精品美女久久久久久久久久久| 国产精品1区二区.| 国产三级精品在线| 国产美女视频一区| 国产亚洲午夜高清国产拍精品| 久久99精品视频| 欧美精品一区二区久久婷婷| 国产高清精品网站| 国产精品久久久久9999吃药| 99久久亚洲一区二区三区青草| 国产精品沙发午睡系列990531| 99在线热播精品免费| 亚洲欧洲美洲综合色网| 欧美成人女星排行榜| 麻豆精品一区二区av白丝在线| 欧美成人艳星乳罩| 国产精品小仙女| 综合av第一页| 欧美日韩国产美| 久色婷婷小香蕉久久| 国产区在线观看成人精品| 99国产精品一区| 亚洲国产婷婷综合在线精品| 91精品久久久久久久99蜜桃| 久久国产精品色婷婷| 国产欧美1区2区3区| 94-欧美-setu| 亚洲v日本v欧美v久久精品| 精品国产成人在线影院| 不卡av在线网| 亚洲国产美女搞黄色| 欧美成人精精品一区二区频| 国产91色综合久久免费分享| 亚洲精品欧美激情| 欧美一区二区精品在线| 国产二区国产一区在线观看| 亚洲欧美日韩国产成人精品影院| 欧美日韩一区高清| 国产一区二区在线视频| 综合精品久久久| 日韩欧美另类在线| 成人美女视频在线观看| 亚洲成人激情综合网| 久久亚洲综合色一区二区三区 | 欧美日韩亚洲另类| 精品一区免费av| 国产精品国产三级国产普通话三级 | 欧美日韩国产一区| 精品亚洲成a人| 玉足女爽爽91| 久久久久99精品一区| 色婷婷精品久久二区二区蜜臀av| 日韩中文字幕不卡| 国产精品少妇自拍| 日韩一区二区中文字幕| www.成人在线| 精品一区二区在线看| 成人免费在线视频| 日韩免费性生活视频播放| 波多野结衣精品在线| 日韩激情av在线| 亚洲欧美视频在线观看视频| 精品乱人伦一区二区三区| 色婷婷狠狠综合| 国产成人免费视频精品含羞草妖精| 一区二区免费视频| 中文字幕精品在线不卡|