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

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

?? gamemap.java

?? 用java編寫的類似于cs游戲的游戲源碼
?? JAVA
字號:
package org.loon.chair.example6;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
/**
 * 
 * @author chenpeng
 * @email  ceponline@yahoo.com.cn
 * 
 * Loon Framework in Game 
 *
 * 在Example6中開始引入布局的概念
 */
public class GameMap implements Common{

    //設定背景方格默認行數
    private static final int ROW = 15;
    //設定背景方格默認列數
    private static final int COL = 30;
    
    //自動計算地圖大小
    public static final int WIDTH = COL * CS;
    public static final int HEIGHT = ROW * CS;
    
    //設定地圖,通常在rpg類型游戲開發中,以[二維數組]對象為
    //基礎進行地圖處理,用以描繪出X坐標和Y坐標。實際上,即令
    //再華麗的RPG類游戲,都是從這些簡單的X,Y坐標開始的。
    //PS:所謂[數組],大家可以簡單的理解為即數據的集合,一維數組
    //僅包含X軸,而二維是由X,Y兩個軸組成的,X與Y的交織點,即為
    //一條數據。
    //于Example6中擴充地圖如下
    private int[][] map = {
            {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1},
            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1},
            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1},
            {1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1},
            {1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1},
            {1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1},
            {1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1},
            {1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1},
            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
            {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};

    //設定顯示圖像對象
    private Image floorImage;
    private Image wallImage;
    
    // 游戲所使用面板
    private MyPanel panel;

    public GameMap(MyPanel panel) {
        // 初始化圖像
        loadImage();
    }

    //換算當前image像素到布局
    public static int pixelsToTiles(double pixels) {
        return (int)Math.floor(pixels / CS);
    }
    
    //換算當前布局到image像素
    public static int tilesToPixels(int tiles) {
        return tiles * CS;
    }

    
    //修正Example6中繪制方式,引入地圖坐標偏移計算
    public void draw(Graphics g, int offsetX, int offsetY) {
    	
        int firstTileX = pixelsToTiles(-offsetX);
        //變更X坐標
        int lastTileX = firstTileX + pixelsToTiles(MyPanel.WIDTH) + 1;
        
        //返回最小X偏移值
        lastTileX = Math.min(lastTileX, COL);
        
        
        int firstTileY = pixelsToTiles(-offsetY);
        //變更Y坐標
        int lastTileY = firstTileY + pixelsToTiles(MyPanel.HEIGHT) + 1;
        
        //返回最小Y偏移值
        lastTileY = Math.min(lastTileY, ROW);
    	//在Java或任何游戲開發中,算法都是最重要的一步,本例盡使用
    	//簡單的雙層for循環進行地圖描繪,
            	   for (int i = firstTileY; i < lastTileY; i++) {
                       for (int j = firstTileX; j < lastTileX; j++) {
                    	   // switch作為java中的轉換器,用于執行和()中數值相等
                       	// 的case操作。請注意,在case操作中如果不以break退出
                       	// 執行;switch函數將持續運算到最后一個case為止。
                           switch (map[i][j]) {
                               case 0 : // 地板
                                   g.drawImage(floorImage, tilesToPixels(j) + offsetX, tilesToPixels(i) + offsetY, panel);
                                   break;
                               case 1 : // 墻壁
                                   g.drawImage(wallImage, tilesToPixels(j) + offsetX, tilesToPixels(i) + offsetY, panel);
                                   break;
                           }
                       }
            }
        
    }

    /**
     * 用于判定是否允許移動的發生,被move()函數調用,在Example5開始變更為公有
     * @param x
     * @param y
     * @return
     */
    public boolean isAllow(int x, int y) {
        // 以(x,y)交點進行數據判定,我們都知道,
    	// 在本例中我僅以0作為地板的參數,1作為
    	// 墻的參數,由于我們的主角是[人類],而
    	// 不是[幽靈],所以當他要[撞墻]時,我們
    	// 當然不會允許,至少,是我講到劇情的觸發
    	// 以前……
        if (map[y][x] == 1) {
        // 不允許移動時,返回[假]	
            return false;
        }
        
        // 允許移動時時,返回[真]
        return true;
    }

    private void loadImage() {
        ImageIcon icon = new ImageIcon(getClass().getResource("image/floor.gif"));
        floorImage = icon.getImage();
        
        icon = new ImageIcon(getClass().getResource("image/wall.gif"));
        wallImage = icon.getImage();
    }
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线你懂的| 久久99国产精品麻豆| 亚洲少妇中出一区| 国产精品拍天天在线| 欧美电视剧免费观看| 欧美一区二区三区在线看| 欧美一区国产二区| 欧美不卡激情三级在线观看| 欧美一级搡bbbb搡bbbb| 欧美一区二区三区播放老司机| 在线不卡一区二区| 欧美成人aa大片| 一二三四区精品视频| 亚洲一区日韩精品中文字幕| 亚洲成人在线网站| 久久99国产精品免费| 丁香婷婷综合激情五月色| 成人午夜在线免费| 91精品福利视频| 欧美二区三区91| 久久精品在线观看| 一区二区三区不卡视频| 人人精品人人爱| 国产成人在线色| 欧美三级在线播放| 久久先锋影音av| 一区二区三区久久| 激情欧美日韩一区二区| 91年精品国产| 欧美不卡在线视频| 一区二区三区成人| 国产剧情一区二区| 欧美色图免费看| 国产欧美精品区一区二区三区| 一区二区三区视频在线观看| 蜜桃精品在线观看| 色中色一区二区| 久久久久久久久伊人| 性做久久久久久免费观看欧美| 国产一区二区三区四区五区美女| 色综合网站在线| 国产日韩三级在线| 奇米一区二区三区| 色综合久久综合| 亚洲国产成人一区二区三区| 日本亚洲一区二区| 在线视频观看一区| 中文字幕在线一区免费| 精品一区二区三区蜜桃| 欧美四级电影在线观看| 国产精品狼人久久影院观看方式| 男女男精品视频网| 欧美日韩一区二区三区不卡| 亚洲欧洲色图综合| 粉嫩嫩av羞羞动漫久久久| 日韩欧美一卡二卡| 亚洲国产成人精品视频| 91麻豆国产在线观看| 国产喷白浆一区二区三区| 久久不见久久见免费视频7| 欧美日韩不卡在线| 亚洲综合小说图片| 91九色最新地址| 亚洲精品中文在线| 91丝袜呻吟高潮美腿白嫩在线观看| 久久蜜臀中文字幕| 国产真实乱对白精彩久久| 精品国产乱码久久久久久免费| 午夜国产精品一区| 欧美高清一级片在线| 亚洲国产综合91精品麻豆| 色88888久久久久久影院按摩| 国产精品美女久久久久久| 成人免费视频一区二区| 国产精品色呦呦| 99re8在线精品视频免费播放| 中文字幕亚洲在| 91丨porny丨国产入口| 亚洲欧美偷拍卡通变态| 一本一道综合狠狠老| 亚洲午夜电影网| 欧美一区二区视频观看视频| 久草精品在线观看| 国产精品女人毛片| 91在线视频播放| 一区二区三区四区在线播放| 在线观看亚洲专区| 视频一区视频二区在线观看| 日韩欧美亚洲国产另类| 国产成人综合网站| 中文字幕一区免费在线观看| 色婷婷久久综合| 免费成人在线播放| 国产日韩欧美精品在线| 91老师片黄在线观看| 亚洲国产视频在线| 久久久一区二区三区| 91成人看片片| 久久se这里有精品| 亚洲欧美日韩电影| 欧美一区二区在线观看| 粉嫩一区二区三区性色av| 亚洲成人福利片| 国产日韩欧美a| 欧美性一二三区| 国产精品69毛片高清亚洲| 亚洲男帅同性gay1069| 日韩欧美美女一区二区三区| 99久久精品免费观看| 男女激情视频一区| 亚洲综合精品久久| 国产日韩欧美在线一区| 91精品国产乱码| 91麻豆免费视频| 国产美女视频91| 亚洲成人1区2区| 亚洲人成人一区二区在线观看| 精品国内片67194| 欧美午夜寂寞影院| 成人av在线电影| 久久不见久久见免费视频7| 亚洲综合视频在线| 1024成人网色www| 久久女同互慰一区二区三区| 色吊一区二区三区| 成人免费黄色在线| 六月丁香综合在线视频| 夜夜精品视频一区二区| 国产精品视频线看| 久久欧美一区二区| 日韩精品一区二区三区四区| 欧美日韩国产a| 91黄色免费版| 91在线一区二区三区| 国产成人亚洲精品狼色在线| 日本不卡一二三| 婷婷亚洲久悠悠色悠在线播放| 亚洲精品国产成人久久av盗摄| 欧美激情自拍偷拍| 国产午夜精品久久久久久久| 精品国产乱码久久久久久浪潮| 欧美伦理视频网站| 欧美日韩一区二区欧美激情| 欧美日韩一区二区三区视频| 欧美午夜一区二区三区| 欧美在线视频你懂得| 在线区一区二视频| 欧美日韩一区二区三区在线| 欧美日韩精品一区二区三区| 欧美视频一区在线观看| 欧美日韩国产一级片| 欧美日韩国产a| 精品免费99久久| 久久精品在线免费观看| 国产精品久久福利| 亚洲天天做日日做天天谢日日欢| 一区视频在线播放| 亚洲欧美日韩久久精品| 亚洲免费av网站| 亚洲一区免费在线观看| 日韩精品电影一区亚洲| 免费成人在线网站| 国产盗摄精品一区二区三区在线| 国产成人久久精品77777最新版本| 韩国成人在线视频| 国产成人精品www牛牛影视| 成人激情免费电影网址| 欧洲激情一区二区| 在线成人av网站| 日本一区二区三区高清不卡 | 欧美在线小视频| 欧美老年两性高潮| 欧美成人高清电影在线| 国产精品视频九色porn| 亚洲一区二区在线观看视频| 日本系列欧美系列| 成人黄色777网| 欧美日韩日日骚| 国产精品三级久久久久三级| 亚洲一二三级电影| 国产一区二区三区不卡在线观看 | 日韩精品一区二区三区在线播放| 精品国产乱码久久久久久蜜臀| 国产精品久久久久久亚洲伦| 亚洲在线成人精品| 国产精品一区在线| 欧美久久高跟鞋激| 国产精品视频免费| 麻豆精品视频在线观看免费| 91在线一区二区| 久久久久久久久久久电影| 亚洲六月丁香色婷婷综合久久| 九九精品一区二区| 欧美日韩国产综合一区二区| 国产精品日日摸夜夜摸av| 五月天亚洲婷婷| 91欧美激情一区二区三区成人| 精品久久久久久综合日本欧美| 一区二区三区鲁丝不卡| 成人高清视频在线|