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

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

?? maze25d.java

?? 是一本關(guān)于用Java開發(fā)游戲設(shè)計源代碼
?? JAVA
字號:
// 程序:2.5D斜角迷宮
// 范例文件:Maze25D.java

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

public class Maze25D extends Applet
    implements Runnable, KeyListener  // 實現(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);              //注冊事件處理函數(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){ }   //沒有進行異常處理
      
      //建立次畫面
      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;  // 動畫圖片來源坐標(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)
   {
      //將次畫面貼到主畫面中
      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 ;
   }

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

           int X,Y;
          // 繪制地板
           for(int i=1; i < 16; i++)
              for(int j=1; j < 16; j++)
              {
                 // 根據(jù)索引值進行坐標(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ù)索引值進行坐標(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ù)索引值進行坐標(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);

           // 判斷右方有無障礙物,如果有就補貼障礙物
           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) {}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久香蕉的特点| 亚洲美女免费视频| 成年人午夜久久久| 亚洲成av人**亚洲成av**| 欧美主播一区二区三区美女| 日本三级亚洲精品| 午夜激情综合网| 国产精品麻豆久久久| av色综合久久天堂av综合| 国产三级欧美三级| 国产伦精品一区二区三区免费迷| 成人性色生活片免费看爆迷你毛片| 天天综合天天做天天综合| eeuss鲁片一区二区三区在线观看| 亚洲精品国产一区二区三区四区在线 | 老司机免费视频一区二区| 日韩精品一区二区三区老鸭窝| 中文字幕欧美日韩一区| 日韩激情在线观看| 偷偷要91色婷婷| 成人av电影在线网| 91精品啪在线观看国产60岁| 大尺度一区二区| 国产精品午夜久久| 欧美日韩中文另类| 日本韩国精品在线| 一级做a爱片久久| 亚洲成人动漫在线观看| 一级女性全黄久久生活片免费| 日本aⅴ亚洲精品中文乱码| 日韩欧美亚洲国产精品字幕久久久| 18成人在线观看| 日本午夜一本久久久综合| 精品福利一二区| 久久综合九色综合97婷婷女人| 久久亚洲私人国产精品va媚药| 国产精品麻豆视频| 91网站在线观看视频| 国产真实乱对白精彩久久| 欧美色视频在线| 国产亚洲一二三区| 成人午夜私人影院| 久久66热re国产| **欧美大码日韩| 国产成人精品一区二| 一区二区三区高清在线| 色综合久久久久综合体桃花网| 精品乱码亚洲一区二区不卡| 成人激情图片网| 精品综合久久久久久8888| 欧美一区二区人人喊爽| 久久蜜桃av一区二区天堂| 亚洲综合色网站| 欧美一二三四区在线| 欧美电影在线免费观看| 香蕉久久一区二区不卡无毒影院 | 韩国女主播一区二区三区| 久久草av在线| 亚洲不卡在线观看| 国产伦精品一区二区三区免费迷 | 日韩一区中文字幕| 亚洲三级在线看| 国产精品白丝av| 欧美另类变人与禽xxxxx| 国产日韩欧美综合一区| 天天综合色天天综合色h| 成人黄色777网| 国产亚洲欧美日韩在线一区| 老司机精品视频一区二区三区| 欧美优质美女网站| 亚洲欧美日韩成人高清在线一区| 久久成人精品无人区| 欧美一级二级三级乱码| 水野朝阳av一区二区三区| 在线免费观看日韩欧美| 一区二区三区鲁丝不卡| 亚洲乱码国产乱码精品精98午夜 | 亚洲精品中文字幕在线观看| 亚洲女人小视频在线观看| 久久国产福利国产秒拍| 久久久www免费人成精品| 日韩精品免费专区| 欧美精选一区二区| 在线观看av一区二区| 欧美日韩精品一区二区三区蜜桃 | 精品一区二区国语对白| 成人午夜av在线| 国产精品情趣视频| 久久激情综合网| 91久久精品日日躁夜夜躁欧美| 欧美日韩亚洲综合在线| 一区二区三区在线视频播放| 国产色一区二区| 日韩电影免费一区| 91色porny蝌蚪| 久久久www成人免费毛片麻豆 | 综合网在线视频| 国产伦精品一区二区三区免费迷| 欧美日韩日本视频| 亚洲卡通欧美制服中文| eeuss影院一区二区三区| 日韩二区三区四区| 色婷婷狠狠综合| 国产精品久久久久久久久动漫 | 亚洲色图清纯唯美| 国产夜色精品一区二区av| 肉丝袜脚交视频一区二区| 成人av高清在线| 亚洲精品在线观看网站| 日韩激情av在线| 亚洲国产精品成人综合| 久久精品国内一区二区三区| 99re成人精品视频| 精品国产一区久久| 久久精品久久综合| 日韩视频免费直播| 日本伊人精品一区二区三区观看方式| 99视频在线观看一区三区| 国产日韩三级在线| 国产福利一区在线| 久久精品夜色噜噜亚洲a∨| 极品少妇一区二区三区精品视频 | 欧美成人一级视频| 免费精品99久久国产综合精品| 日韩av中文字幕一区二区| 欧美日韩另类国产亚洲欧美一级| 亚洲成人免费影院| 色天使久久综合网天天| 亚洲免费资源在线播放| 一本一道综合狠狠老| 一个色妞综合视频在线观看| 欧美系列亚洲系列| 久久激情综合网| 欧美国产欧美综合| 成人福利电影精品一区二区在线观看| 国产精品传媒在线| 欧美日本国产视频| 国产成人一区在线| 国产精品三级电影| 欧美日韩一区二区在线视频| 蜜臀av一级做a爰片久久| 欧美成人伊人久久综合网| 国产欧美日韩三区| 91久久精品一区二区三| 日韩制服丝袜先锋影音| 精品欧美乱码久久久久久| 色婷婷精品大在线视频| 美女免费视频一区二区| 国产精品美女久久福利网站| 欧美日韩国产免费一区二区| 精品亚洲国产成人av制服丝袜| 1区2区3区欧美| 欧美精品vⅰdeose4hd| 成人免费看黄yyy456| 日日夜夜精品视频免费| 国产欧美综合色| 欧美精品在线一区二区三区| 毛片基地黄久久久久久天堂| 亚洲欧美综合另类在线卡通| 91精品国产综合久久久久久久 | 亚洲美女少妇撒尿| 欧美va亚洲va| 色视频欧美一区二区三区| 国内精品视频666| 亚洲区小说区图片区qvod| 2023国产精品自拍| 欧美精品久久99久久在免费线 | 国产美女精品在线| 亚洲午夜日本在线观看| 国产精品三级av| 欧美成人a∨高清免费观看| 欧美性猛交一区二区三区精品| 国产成a人无v码亚洲福利| 亚洲成人综合在线| 最好看的中文字幕久久| 久久精品视频在线免费观看| 国产一区二区三区电影在线观看| 成人av在线网| 亚洲一区在线观看网站| 91精品国产欧美一区二区18 | 国产91精品久久久久久久网曝门| 精品一区二区三区日韩| 天天操天天色综合| 精品一区二区三区在线播放视频| 日韩高清不卡一区二区三区| 日本一区二区成人| 久久久亚洲国产美女国产盗摄 | 欧美日韩久久一区| 精品制服美女丁香| 黑人巨大精品欧美一区| 99免费精品视频| 91丨porny丨首页| 欧美一级片在线观看| 欧美精品粉嫩高潮一区二区| 久久精品欧美一区二区三区不卡| 日本一二三不卡| 亚洲少妇最新在线视频| 亚洲人午夜精品天堂一二香蕉| 欧美国产亚洲另类动漫| 欧美激情中文不卡|