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

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

?? maincanvas.java

?? 人物的上下左右移動,人物和地圖碰撞,地圖的鋪設,地圖的滾屏
?? JAVA
字號:
import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class MainCanvas extends Canvas implements Runnable {
	Thread t;
	private int[][] map;
	private int[][] mapHit;
	final static private int INT_MAP_SIZE = 16;
	final static private int INT_WIDTH = 176;
	final static private int INT_HEIGHT = 208;
	final static private int ROW = INT_WIDTH/INT_MAP_SIZE;
	final static private int COL = INT_HEIGHT/INT_MAP_SIZE;
	
	/**
	 * 儲存按鍵的
	 */
	private int intKeyCode = 0;
	final static private int KEY_UP = -1;
	final static private int KEY_DOWN = -2;
	final static private int KEY_LEFT = -3;
	final static private int KEY_RIGHT = -4;
	final static private int KEY_FIRE = -5;
	final static private int KEY_LEFT_SOFT = -6;
	final static private int KEY_RIGHT_SOFT = -7;
	final static private int MY_KEY_UP = 1<<1; 
	final static private int MY_KEY_DOWN = 1<<2;
	final static private int MY_KEY_LEFT = 1<<3;
	final static private int MY_KEY_RIGHT = 1<<4;
	final static private int MY_KEY_FIRE = 1<<5;
	final static private int MY_KEY_LEFT_SOFT = 1<<6;
	final static private int MY_KEY_RIGHT_SOFT = 1<<7;
	
	//*************************************************地圖相關
	private int intMapStartX = 0;
	private int intMapStartY = 0;
	private int intMapStepX = 0;
	private int intMapStepY = 0;
	private Image imageMap=null;
	//*************************************************人物相關
	final static private int DIR_DOWN = 0;//X Y -4
	final static private int DIR_LEFT = 1;//X-4 Y
	final static private int DIR_RIGHT = 2;//X+4 Y
	final static private int DIR_UP = 3;//X Y+4
	final static private int[][] INT_CHANGE = {
		{0,1},
		{-1,0},
		{1,0},
		{0,-1},
	};
	final static private int[][] INT_ROLE_POS = {
			{ 199, 32, 22, 27, 0 },// xia
			{ 224, 31, 21, 27, 0 },
			{ 245, 30, 23, 29, 0 },
			{ 0, 57, 22, 29, 0 },
			{ 211, 0, 22, 31, 0 },// zuo
			{ 211, 0, 22, 31, 0 }, { 236, 0, 25, 30, 0 },
			{ 0, 27, 25, 30, 0 },
			{ 211, 0, 22, 31, 1 },// you
			{ 211, 0, 22, 31, 1 }, { 236, 0, 25, 30, 1 }, { 0, 27, 25, 30, 1 },
			{ 0, 0, 22, 27, 0 },// shang
			{ 25, 0, 21, 27, 0 }, { 46, 0, 23, 29, 0 }, { 69, 0, 23, 29, 0 }, };
	private Image imageRole = null;
//	final static private int INT_ROLE_WIDTH = 32;
//	final static private int INT_ROLE_HEIGHT= 48;
	/**
	 * 人物所在的地圖格X
	 */
	private int intRoleStartX = 3;
	/**
	 * 人物所在的地圖格Y
	 */
	private int intRoleStartY = 3;
	/**
	 * 人物對于地圖格的偏移X
	 */
	private int intRoleStepX = 0;
	/**
	 * 人物對于地圖格的偏移Y
	 */
	private int intRoleStepY = 0;
	final static private int INT_SPEED = 4;
	private int intDir = DIR_RIGHT;
	private int intMotion = 0;
	final static private int INT_MOTION_MAX = 2;
	private boolean blnIsWalk = false;
	final static private int[] INT_MAP_HIT = {
		0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0
	};

	public MainCanvas() {
		map = new int[Res.MAP.length][Res.MAP[0].length];
		mapHit = new int[Res.MAP.length][Res.MAP[0].length];
		for(int i=0;i<map.length;i++){
			System.arraycopy(Res.MAP[i], 0, map[i], 0, map[0].length);
			//生成碰撞數組
			for(int j = 0;j<map[0].length;j++){
				mapHit[i][j] = INT_MAP_HIT[map[i][j]];
				//10000// 2<< 3
				//11010000//index 3<<6
			}
		}
		try {
			imageMap = Image.createImage("/map1.png");
			imageRole = Image.createImage("/role1.png");
		} catch (IOException e) {
			e.printStackTrace();
		}
//		map = Res.MAP;
//		map[0][0] = 10;
//		System.out.println(Res.MAP[0][0]);
		t=new Thread(this);
		t.start();
	}
	
	protected void keyPressed(int keyCode) {
		switch(keyCode){
		case KEY_UP:
			intKeyCode |= MY_KEY_UP;
			break;
		case KEY_DOWN:
			intKeyCode |= MY_KEY_DOWN;
			break;
		case KEY_LEFT:
			intKeyCode |= MY_KEY_LEFT;
			break;
		case KEY_RIGHT:
			intKeyCode |= MY_KEY_RIGHT;
			break;
		case KEY_FIRE:
			intKeyCode |= MY_KEY_FIRE;
			break;
		case KEY_LEFT_SOFT:
			intKeyCode |= MY_KEY_LEFT_SOFT;
			break;
		case KEY_RIGHT_SOFT:
			intKeyCode |= MY_KEY_RIGHT_SOFT;
			break;
		}
	}
	
	protected void keyReleased(int keyCode) {
		switch(keyCode){
		case KEY_UP:
			intKeyCode &= (~MY_KEY_UP);
			break;
		case KEY_DOWN:
			intKeyCode &= (~MY_KEY_DOWN);
			break;
		case KEY_LEFT:
			intKeyCode &= (~MY_KEY_LEFT);
			break;
		case KEY_RIGHT:
			intKeyCode &= (~MY_KEY_RIGHT);
			break;
		case KEY_FIRE:
			intKeyCode &= (~MY_KEY_FIRE);
			break;
		case KEY_LEFT_SOFT:
			intKeyCode &= (~MY_KEY_LEFT_SOFT);
			break;
		case KEY_RIGHT_SOFT:
			intKeyCode &= (~MY_KEY_RIGHT_SOFT);
			break;
		}
	}

	protected void paint(Graphics g) {
		//繪制地圖
		for (int i = -1; i < ROW + 1; i++) {
			for (int j = -1; j < COL + 1; j++) {
				if(i+intMapStartX < 0 || j+intMapStartY < 0
						|| i+intMapStartX > map[0].length -1
						|| j+intMapStartY > map.length - 1)
					continue;
				int mapX = i * INT_MAP_SIZE + intMapStepX;
				int mapY = j * INT_MAP_SIZE + intMapStepY;
				g.setClip(mapX, mapY, INT_MAP_SIZE, INT_MAP_SIZE);
				int temp = map[j+intMapStartY][i+intMapStartX] - 1;
				g.drawImage(imageMap, mapX - temp % 12
						* INT_MAP_SIZE, mapY - temp / 12
						* INT_MAP_SIZE, 20);
			}
		}
		//繪制人
//		人物所在的地圖塊在屏幕位置
		int tempX = (intRoleStartX - intMapStartX)*INT_MAP_SIZE + intMapStepX + intRoleStepX;
		int tempY = (intRoleStartY - intMapStartY)*INT_MAP_SIZE + intMapStepY + intRoleStepY;
		int roleWidth = INT_ROLE_POS[intDir*4+intMotion + 2][2];
		int roleHeight = INT_ROLE_POS[intDir*4+intMotion + 2][3];
		int width = (roleWidth - INT_MAP_SIZE) / 2;
		int height = roleHeight - INT_MAP_SIZE;
		//		int width = (INT_ROLE_WIDTH - INT_MAP_SIZE) / 2;
//		int height = INT_ROLE_HEIGHT - INT_MAP_SIZE;
		int x = tempX - width;//實際setClip的XY坐標
		int y = tempY - height;
		if (INT_ROLE_POS[intDir * 4 + intMotion + 2][4] == 0) {
			g.setClip(x, y, roleWidth, roleHeight);
			// X方向的偏移取決于當前哪一個動作
			// Y方向的偏移取決于當前人物方向
			g.drawImage(imageRole, x
					- INT_ROLE_POS[intDir * 4 + intMotion + 2][0], y
					- INT_ROLE_POS[intDir * 4 + intMotion + 2][1], 20);
		} else {
			drawMirror(g, imageRole, x, y, roleWidth, roleHeight,
					INT_ROLE_POS[intDir * 4 + intMotion + 2][0],
					INT_ROLE_POS[intDir * 4 + intMotion + 2][1]);
		}
		g.setClip(0, 0, INT_WIDTH, INT_HEIGHT);
	}
	
	private void drawMirror(Graphics g, Image image,int x, int y, int width, int height,
			int imageX, int imageY){
		for(int i=0;i<width;i++){
			g.setClip(x + i, y, 1, height);
			g.drawImage(image, x + i - (imageX + (width - 1) - i), y - imageY, 20);
		}
	}

	public void run() {
		while(true){
			try {
				long start = System.currentTimeMillis();
				//logic和繪制
				judgeKey();
				logic(intDir);
				repaint();
				//休息
				long last = System.currentTimeMillis() - start;
				if(last < 80){
					Thread.sleep(80 - last);
				}
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
	private void judgeKey(){
		if((intKeyCode & MY_KEY_LEFT)!=0){
			blnIsWalk = true;
			intDir = DIR_LEFT;
//			intMapStartX --;
//			if(intMapStartX < 0){
//				intMapStartX = 0;
//			}
		} else if((intKeyCode & MY_KEY_RIGHT)!=0){
			blnIsWalk = true;
			intDir = DIR_RIGHT;
//			intMapStartX ++;
//			if(intMapStartX > map[0].length - ROW){
//				intMapStartX = map[0].length - ROW;
//			}
		}
		if((intKeyCode & MY_KEY_UP)!=0){
			blnIsWalk = true;
			intDir = DIR_UP;
		} else if((intKeyCode & MY_KEY_DOWN)!=0){
			blnIsWalk = true;
			intDir = DIR_DOWN;
		} 
	}
	
	private int num = 0;
	private void logic(int dir){
		if(blnIsWalk){
			intMotion++;
			intMotion %= INT_MOTION_MAX;
			if(!judgeMap(dir)){//不能走
				blnIsWalk = false;
				return;
			}
			intRoleStepX += INT_CHANGE[dir][0] * INT_SPEED;
			intRoleStepY += INT_CHANGE[dir][1] * INT_SPEED;
			int tempX = (intRoleStartX - intMapStartX)*INT_MAP_SIZE  + intMapStepX+ intRoleStepX;
			int tempY = (intRoleStartY - intMapStartY)*INT_MAP_SIZE  + intMapStepY+ intRoleStepY;
			//向右的卷屏
			if (dir == DIR_RIGHT && tempX > INT_WIDTH / 2) {
				if (intMapStepX != 0 || intMapStartX != (map[0].length - ROW)) {
					intMapStepX -= INT_CHANGE[dir][0] * INT_SPEED;
					if (Math.abs(intMapStepX) >= INT_MAP_SIZE) {
						intMapStartX -= intMapStepX / INT_MAP_SIZE;
						intMapStepX %= INT_MAP_SIZE;
					}
				}
			}
			//向左的卷屏
			if (dir == DIR_LEFT && tempX < INT_WIDTH / 2) {
				if (intMapStartX != 0 || intMapStepX != 0) {
					intMapStepX -= INT_CHANGE[dir][0] * INT_SPEED;
					if (Math.abs(intMapStepX) >= INT_MAP_SIZE) {
						intMapStartX -= intMapStepX / INT_MAP_SIZE;
						intMapStepX %= INT_MAP_SIZE;
					}
				}
			}
			System.out.println(tempY);
			//向下的卷屏
			if (dir == DIR_DOWN && tempY > INT_HEIGHT / 2) {
				if (intMapStepY != 0 || intMapStartY != (map.length - COL)) {
					intMapStepY -= INT_CHANGE[dir][1] * INT_SPEED;
					if (Math.abs(intMapStepY) >= INT_MAP_SIZE) {
						intMapStartY -= intMapStepY / INT_MAP_SIZE;
						intMapStepY %= INT_MAP_SIZE;
					}
				}
			}
			//向上的卷屏
			if (dir == DIR_UP && tempY < INT_HEIGHT / 2) {
				if (intMapStartY != 0 || intMapStepY != 0) {
					intMapStepY -= INT_CHANGE[dir][1] * INT_SPEED;
					if (Math.abs(intMapStepY) >= INT_MAP_SIZE) {
						intMapStartY -= intMapStepY / INT_MAP_SIZE;
						intMapStepY %= INT_MAP_SIZE;
					}
				}
			}
			//更新格數
			if(Math.abs(intRoleStepX) >= INT_MAP_SIZE){
				intRoleStartX += intRoleStepX / INT_MAP_SIZE;
				intRoleStepX %= INT_MAP_SIZE;
			}
			if(Math.abs(intRoleStepY) >= INT_MAP_SIZE){
				intRoleStartY += intRoleStepY / INT_MAP_SIZE;
				intRoleStepY %= INT_MAP_SIZE;
			}
		}
		blnIsWalk = false;
	}
	
	private boolean judgeMap(int dir){
		if((dir == DIR_LEFT || dir == DIR_RIGHT) && intRoleStepX == 0){
			int x = intRoleStartX + INT_CHANGE[dir][0];
			//半步
			if(intRoleStepY < 0){
				int temp1 = mapHit[intRoleStartY - 1][x];
				int temp2 = mapHit[intRoleStartY][x];
				if(temp1 == 1 && temp2 == 1){
					return false;
				} else if(temp1 == 0 && temp2 == 1){
					if (num == 0) {
						num = 1;
						logic(DIR_UP);
						num = 0;
					}
					return false;
				} else if(temp1 == 1 && temp2 == 0){
					if (num == 0) {
						num = 1;
						logic(DIR_DOWN);
						num = 0;
					}
					return false;
				}
//				if(mapHit[intRoleStartY - 1][x] != 0){
//					return false;
//				}
//				if(mapHit[intRoleStartY][x] != 0){
//					//判斷能不能通過向上移動 然后從上一格走
//					if (num == 0) {
//						num = 1;
//						logic(DIR_UP);
//						num = 0;
//					}
//					return false;
//				}
			} else if(intRoleStepY > 0){
				int temp1 = mapHit[intRoleStartY + 1][x];
				int temp2 = mapHit[intRoleStartY][x];
				if(temp1 == 1 && temp2 == 1){
					return false;
				} else if(temp1 == 0 && temp2 == 1){
					if (num == 0) {
						num = 1;
						logic(DIR_DOWN);
						num = 0;
					}
					return false;
				} else if(temp1 == 1 && temp2 == 0){
					if (num == 0) {
						num = 1;
						logic(DIR_UP);
						num = 0;
					}
					return false;
				}
//				if(mapHit[intRoleStartY + 1][x] != 0){
//					return false;
//				}
//				if(mapHit[intRoleStartY][x] != 0){
//					if (num == 0) {
//						num = 1;
//						logic(DIR_DOWN);
//						num = 0;
//					}
//					return false;
//				}
			} else if(intRoleStepY == 0){
				if(mapHit[intRoleStartY][x] != 0){
					return false;
				}
			}
//			if(intRoleStepY < - (INT_MAP_SIZE - 4)){
//				if(mapHit[intRoleStartY - 1][x] != 0){
//					return false;
//				}
//				if(mapHit[intRoleStartY][x] != 0){
//					return false;
//				}
//			} else if(intRoleStepY < 0){
//				if(mapHit[intRoleStartY][x] != 0){
//					return false;
//				}
//				intRoleStepY = 0;
//			} else if(intRoleStepY == 0){
//				if(mapHit[intRoleStartY][x] != 0){
//					return false;
//				}
//			} else if(intRoleStepY > 0 && intRoleStepY <= 4){
//				if(mapHit[intRoleStartY][x] != 0){
//					return false;
//				}
//				if(mapHit[intRoleStartY + 1][x] != 0){
//					return false;
//				}
//			} else if(intRoleStepY > 4){
//				if(mapHit[intRoleStartY + 1][x] != 0){
//					return false;
//				}
//				intRoleStepY = INT_MAP_SIZE;
//			}
		}
		if((dir == DIR_UP || dir == DIR_DOWN) && intRoleStepY == 0){
			int y = intRoleStartY + INT_CHANGE[dir][1];
//			半步
			if(intRoleStepX < 0){
				int temp1 = mapHit[y][intRoleStartX - 1];
				int temp2 = mapHit[y][intRoleStartX];
				if(temp1 == 1 && temp2 == 1){
					return false;
				} else if(temp1 == 0 && temp2 == 1){
					if (num == 0) {
						num = 1;
						logic(DIR_LEFT);
						num = 0;
					}
					return false;
				} else if(temp1 == 1 && temp2 == 0){
					if (num == 0) {
						num = 1;
						logic(DIR_RIGHT);
						num = 0;
					}
					return false;
				}
//				if(mapHit[y][intRoleStartX - 1] != 0){
//					return false;
//				}
//				if(mapHit[y][intRoleStartX] != 0){
//					if (num == 0) {
//						num = 1;
//						logic(DIR_LEFT);
//						num = 0;
//					}
//					return false;
//				}
			} else if(intRoleStepX > 0){
				int temp1 = mapHit[y][intRoleStartX + 1];
				int temp2 = mapHit[y][intRoleStartX];
				if(temp1 == 1 && temp2 == 1){
					return false;
				} else if(temp1 == 0 && temp2 == 1){
					if (num == 0) {
						num = 1;
						logic(DIR_RIGHT);
						num = 0;
					}
					return false;
				} else if(temp1 == 1 && temp2 == 0){
					if (num == 0) {
						num = 1;
						logic(DIR_LEFT);
						num = 0;
					}
					return false;
				}
//				if(mapHit[y][intRoleStartX + 1] != 0){
//					return false;
//				}
//				if(mapHit[y][intRoleStartX] != 0){
//					if (num == 0) {
//						num = 1;
//						logic(DIR_RIGHT);
//						num = 0;
//					}
//					return false;
//				}
			} else  if(intRoleStepX == 0){
				if(mapHit[y][intRoleStartX] != 0){
					return false;
				}
			}
		}
		return true;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一级黄| 国产精品99久久久久久宅男| 色婷婷综合久久久| 天使萌一区二区三区免费观看| 欧美一区二区美女| 国产99久久久久久免费看农村| 亚洲已满18点击进入久久| 欧美mv日韩mv国产网站app| 欧美一区二区三区在线电影| 91女人视频在线观看| 亚洲一区在线看| 最新成人av在线| 蜜臀av一区二区在线观看| 国产精品系列在线| 国产一区二区三区电影在线观看 | 亚洲欧美日韩中文字幕一区二区三区| 国产亚洲欧美激情| 久久人人97超碰com| 麻豆精品一区二区| 青青草成人在线观看| 亚洲精品一区二区三区99| 欧美日韩性生活| 欧美视频一区二区三区四区| 成人一区二区视频| 首页欧美精品中文字幕| 午夜电影网一区| 自拍av一区二区三区| 亚洲欧洲日韩综合一区二区| 精品国产乱码久久久久久图片| 日韩一区二区视频| 91免费精品国自产拍在线不卡| 99视频在线精品| 婷婷成人综合网| 奇米精品一区二区三区在线观看一| 日本免费在线视频不卡一不卡二| 久久精品这里都是精品| 久久久久久亚洲综合影院红桃 | 欧美成人综合网站| ww久久中文字幕| 国产精品无码永久免费888| 中文字幕亚洲不卡| 亚洲成人动漫在线免费观看| 精品国产制服丝袜高跟| www国产成人| 亚洲婷婷综合色高清在线| 日韩免费视频一区二区| 麻豆国产欧美日韩综合精品二区 | 亚洲一卡二卡三卡四卡五卡| 国产精品国产三级国产aⅴ原创| 久久色在线视频| 美腿丝袜亚洲色图| 精品毛片乱码1区2区3区| 久久老女人爱爱| 国产精品电影一区二区| 亚洲欧美在线aaa| 午夜一区二区三区在线观看| 国产一区视频导航| 国产麻豆成人精品| caoporn国产精品| 91国在线观看| 91官网在线免费观看| 在线一区二区三区做爰视频网站| 91亚洲精品久久久蜜桃网站| 丁香激情综合国产| av在线播放一区二区三区| 成人h动漫精品一区二区| 亚洲6080在线| 久久成人18免费观看| 成人美女视频在线看| 欧美亚洲国产怡红院影院| 26uuu另类欧美亚洲曰本| 亚洲韩国一区二区三区| 精品中文字幕一区二区小辣椒| 成人国产精品免费网站| 欧美一区二区三区播放老司机| 亚洲女爱视频在线| 理论电影国产精品| aaa欧美大片| 日韩三级在线观看| 日韩欧美成人一区| 亚洲一区二区三区激情| 亚洲欧美视频在线观看| 丝袜美腿亚洲综合| 午夜精品视频一区| 成人免费福利片| 日韩一区二区三免费高清| 日日摸夜夜添夜夜添国产精品| 国产不卡视频在线播放| 精品sm捆绑视频| 免费人成网站在线观看欧美高清| 日韩写真欧美这视频| 五月天国产精品| 欧美在线不卡一区| 亚洲资源中文字幕| 成人小视频免费观看| 日韩无一区二区| 国产欧美日本一区视频| 中文字幕一区二区三区色视频 | 欧美日韩国产综合一区二区| 日韩在线一二三区| 99久久伊人网影院| 国产福利一区在线观看| 欧美亚洲图片小说| 国产精品丝袜黑色高跟| 久久成人麻豆午夜电影| 欧美另类高清zo欧美| 亚洲第一狼人社区| 一本到三区不卡视频| 欧美国产日韩一二三区| 国产乱一区二区| www国产成人免费观看视频 深夜成人网| 亚洲视频 欧洲视频| 国产美女精品人人做人人爽| 国产三级一区二区三区| 国产成人av电影免费在线观看| 麻豆精品久久精品色综合| 欧美色图在线观看| 欧美日韩激情一区二区| 日韩欧美色综合| 亚洲一区二区在线观看视频| 亚洲高清在线精品| 国产精品日产欧美久久久久| 黑人巨大精品欧美黑白配亚洲| 欧美电影免费观看高清完整版在线| 波多野结衣中文字幕一区| 99热99精品| 色婷婷综合久色| 亚洲欧美日韩小说| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲综合精品久久| 欧美天堂亚洲电影院在线播放| 国产精品影音先锋| 一区二区三区国产精华| 欧美一级欧美一级在线播放| 91国在线观看| 色综合天天在线| 93久久精品日日躁夜夜躁欧美| 国产福利不卡视频| 亚洲综合区在线| 亚洲三级久久久| 久久五月婷婷丁香社区| 欧美日韩在线一区二区| 丝袜国产日韩另类美女| 国产精品国产三级国产aⅴ原创| 国产精品系列在线| 精品sm在线观看| 欧美一区日本一区韩国一区| 成人精品在线视频观看| 一区二区三区色| 日韩精品一区二区三区视频| 免费观看在线色综合| 1区2区3区欧美| 在线视频一区二区三| 久久国产精品99久久人人澡| 久久久99久久精品欧美| 欧美国产一区二区在线观看| 日韩午夜av一区| 精品国产91亚洲一区二区三区婷婷| 欧美日韩午夜精品| 在线看日韩精品电影| 97se亚洲国产综合自在线观| 欧美三级资源在线| 欧美美女bb生活片| 久久综合久久综合亚洲| 国产欧美一区二区精品婷婷| 欧美三级日韩在线| 加勒比av一区二区| 国产在线视视频有精品| 亚洲欧美怡红院| 国产精品久久久久影院色老大| 国产精品免费看片| 亚洲国产精品精华液2区45| 香蕉av福利精品导航| 26uuu另类欧美| 国产一区二区日韩精品| 亚洲在线成人精品| 欧美成人a∨高清免费观看| jlzzjlzz亚洲日本少妇| 午夜亚洲福利老司机| 欧美性大战xxxxx久久久| 国产麻豆成人精品| 日韩1区2区3区| 国产精品久久久久四虎| 色吊一区二区三区| 国产精品资源站在线| 亚洲丶国产丶欧美一区二区三区| 欧美va在线播放| 色噜噜狠狠一区二区三区果冻| 国模套图日韩精品一区二区| 亚洲午夜久久久久久久久电影网| 国产亚洲美州欧州综合国| 欧美精品日韩精品| 99久久综合色| 免费精品视频最新在线| 久久久99久久精品欧美| 日韩午夜激情av| 欧美日韩国产中文| 色综合久久中文综合久久97| 久久福利资源站| 午夜久久久影院|