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

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

?? pipe.java

?? 是一本開發(fā)J2ME程序的50個例題的源代碼
?? JAVA
字號:
package demo;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.TiledLayer;


public class Pipe {
	//水管種類數(shù)值,與tile編號對應
	public static final int PIPE_END			= 1;	//終點水管
	public static final int PIPE_START		= 2;	//起點水管
	public static final int PIPE_GOLD_H		= 3;	//金色的橫向水管
	public static final int PIPE_GOLD_V		= 4;	//金色的縱向水管
	public static final int PIPE_GOLD_C		= 5;	//金色的交叉水管
	public static final int PIPE_CURVE_U 		= 6;	//向上的彎形水管
	public static final int PIPE_CURVE_R 		= 7;	//向右的彎形水管
	public static final int PIPE_CURVE_D 		= 8;	//向下的彎形水管
	public static final int PIPE_CURVE_L 		= 9;	//向左的彎形水管
	public static final int PIPE_LINE_H		= 10;	//橫向直線水管
	public static final int PIPE_LINE_V		= 11;	//縱向直線水管
	
	private int a[][] = 								//存儲初始的水管
		{ { 5, 3, 3, 3, 3, 3, 3, 5 },
		  { 4, 6, 6, 0, 0, 9,10, 4 },
		  { 4, 9, 9, 0, 8, 9, 0, 4 },
		  { 4, 9,11,10, 8, 0, 0, 4 },
		  { 4, 0, 7, 0, 8, 9, 0, 4 },
		  { 4, 6, 8, 0, 0, 9,11, 4 },
		  { 4, 0, 7, 0, 8, 9, 0, 4 },
		  { 5, 3, 3, 3, 3, 3, 3, 5 } };
	private int m_nStartRow = 2;						//起點水管的行數(shù),列數(shù)固定為0
	private int m_nEndRow = 5;							//終點水管的行數(shù),列數(shù)固定為7
	private TiledLayer m_TLayer;						//水管Tile圖像
	private int m_nCurCol = 2;							//當前選擇的列
	private int m_nCurRow = 2;							//當前選擇的行
	
	//構(gòu)造方法,參數(shù)scrWidth、scrHeight分別是屏幕的高和寬
	public Pipe(int scrWidth, int scrHeight){
		try{
			Image img = Image.createImage("/demo/pipe.png");
			m_TLayer = new TiledLayer( a[0].length, a.length, img, 15, 15 );
			int x = scrWidth / 2 - m_TLayer.getColumns() / 2 * 15;
			int y = scrHeight / 2 - m_TLayer.getRows() / 2 * 15;
			m_TLayer.setPosition(x, y);
			Reset();
		}
		catch (Exception ex){}
	}
	//重新設置水管
	public void Reset(){
		for( int col = 0; col < m_TLayer.getColumns(); col ++ ){
			for( int row = 0; row < m_TLayer.getRows(); row ++ ){
				m_TLayer.setCell(col, row, a[row][col] );
			}
		}
		//設置起點水管
		m_TLayer.setCell(0, m_nStartRow, 2);
		//設置終點水管
		m_TLayer.setCell(m_TLayer.getColumns()-1, m_nEndRow, 1);
	}
	//獲取當前選擇的列數(shù)
	public int getCurCol(){
		return m_nCurCol;
	}
	//獲取當前選擇的行數(shù)
	public int getCurRow(){
		return m_nCurRow;
	}
	//設置當前選擇的位置
	public void setCurSel( int col, int row ){
		m_nCurCol = col;
		m_nCurRow = row;
		if( m_nCurCol < 0 )
			m_nCurCol = 0;
		else if( m_nCurCol >= m_TLayer.getColumns() )
			m_nCurCol = m_TLayer.getColumns() - 1;
		if( m_nCurRow < 0 )
			m_nCurRow = 0;
		else if( m_nCurRow >= m_TLayer.getRows() )
			m_nCurRow = m_TLayer.getRows() - 1;
	}
	//顯示水管及當前選擇的位置
	//參數(shù)g對應手機屏幕
	public void Paint(Graphics g){
		//顯示水管
		m_TLayer.paint(g);
		//顯示當前選擇位置
		int x = m_TLayer.getX() + m_nCurCol * m_TLayer.getCellWidth();
		int y = m_TLayer.getY() + m_nCurRow * m_TLayer.getCellHeight();
		g.drawRect(x, y, m_TLayer.getCellWidth(), m_TLayer.getCellHeight());
	}
	//旋轉(zhuǎn)水管,參數(shù)col、row分別是被旋轉(zhuǎn)水管的列、行位置
	public void rotPipe( int col, int row ){
		
		switch( m_TLayer.getCell( col, row) ){
		case PIPE_CURVE_U:			//向上的彎形水管旋轉(zhuǎn)后變成向右的彎形水管
			m_TLayer.setCell(col, row, PIPE_CURVE_R);
			break;
		case PIPE_CURVE_R:			//向右的彎形水管旋轉(zhuǎn)后變成向下的彎形水管
			m_TLayer.setCell(col, row, PIPE_CURVE_D);
			break;
		case PIPE_CURVE_D:			//向下的彎形水管旋轉(zhuǎn)后變成向左的彎形水管
			m_TLayer.setCell(col, row, PIPE_CURVE_L);
			break;
		case PIPE_CURVE_L:			//向左的彎形水管旋轉(zhuǎn)后變成向上的彎形水管
			m_TLayer.setCell(col, row, PIPE_CURVE_U);
			break;
		case PIPE_LINE_H:			//橫向直線水管旋轉(zhuǎn)后變成縱向直線水管
			m_TLayer.setCell(col, row, PIPE_LINE_V);
			break;
		case PIPE_LINE_V:			//縱向直線水管旋轉(zhuǎn)后變成橫向直線水管
			m_TLayer.setCell(col, row, PIPE_LINE_H);
			break;
		}
	}
	//是否完成了水管的連接
	public boolean isFinish(){
		return isLink( 0, m_nStartRow, 0 );
	}
	//定義水管的進水方向,即連接方向
	public static final int IN_DIR_UP			= 0;	//從上方進水
	public static final int IN_DIR_RIGHT		= 1;	//從右方進水
	public static final int IN_DIR_DOWN		= 2;	//從下方進水
	public static final int IN_DIR_LEFT		= 3;	//從左方進水
	//從上方出水相當于下一個水管從下方進水
	public static final int OUT_DIR_UP 		= IN_DIR_DOWN;	
	//從右方出水相當于下一個水管從左方進水
	public static final int OUT_DIR_RIGHT		= IN_DIR_LEFT;
	//從下方出水相當于下一個水管從上方進水
	public static final int OUT_DIR_DOWN		= IN_DIR_UP;
	//從左方出水相當于下一個水管從右方進水
	public static final int OUT_DIR_LEFT		= IN_DIR_RIGHT;
	//判斷當前水管與周圍的水管是否可以連接
	//返回true表示可以,false表示不可以
	//參數(shù)col、row分別是當前水管的行列數(shù),參數(shù)nDir是進水的方向
	private boolean isLink( int col, int row, int nDir ){
		/******第(1)步,判斷水流是否可以流入當前水管*****/
		if( col < 0 || col >= m_TLayer.getColumns() )
			return false;
		if( row < 0 || row >= m_TLayer.getRows() )
			return false;
		int type 	= m_TLayer.getCell(col, row);
		switch( type ){
		case PIPE_START:
			break;
		case PIPE_END:				//終點水管,只能從左側(cè)進水
			if( nDir != IN_DIR_LEFT )
				return false;
			break;
		case PIPE_CURVE_U:			//向上的水管,可以從上、右兩方進水或出水
			{
				switch(nDir){
				case IN_DIR_UP:
					return isLink(col + 1, row, OUT_DIR_RIGHT);
				case IN_DIR_RIGHT:
					return isLink(col, row - 1, OUT_DIR_UP);
				}
			}
			break;
		case PIPE_CURVE_R:			//向右的水管,可以從右、下兩方進水或出水
			{
				if( nDir != IN_DIR_RIGHT && nDir != IN_DIR_DOWN )
					return false;
			}
			break;
		case PIPE_CURVE_D:			//向下的水管,可以從下、左兩方進水或出水
			{
				if( nDir != IN_DIR_DOWN && nDir != IN_DIR_LEFT )
					return false;
			}
			break;
		case PIPE_CURVE_L:			//向左的水管,可以從左、上兩方進水或出水
			{
				if( nDir != IN_DIR_LEFT && nDir != IN_DIR_UP )
					return false;
			}
			break;
		case PIPE_LINE_H:			//橫向的水管,可以從左、右兩方進水或出水
			{
				if( nDir != IN_DIR_LEFT && nDir != IN_DIR_RIGHT )
					return false;
			}
			break;
		case PIPE_LINE_V:			//縱向的水管,可以從上、下兩方進水或出水
			{
				if( nDir != IN_DIR_UP && nDir != IN_DIR_DOWN )
					return false;
			}
			break;
		default:
			return false;
		}
		
		/******第(2)步,判斷當前水管是否為出口水管*****/
		if( type == PIPE_END )
			return true;
		
		/******第(3)步,處理下一個水管****************/
		switch( type ){
		case PIPE_START:			//起點水管,從右側(cè)出水
			return isLink(col + 1, row, OUT_DIR_RIGHT);
		case PIPE_CURVE_U:			//向上的水管,可以從上、右兩方進水或出水
			{
				switch(nDir){
				case IN_DIR_UP:
					return isLink(col + 1, row, OUT_DIR_RIGHT);
				case IN_DIR_RIGHT:
					return isLink(col, row - 1, OUT_DIR_UP);
				}
			}
			break;
		case PIPE_CURVE_R:			//向右的水管,可以從右、下兩方進水或出水
			{
				switch(nDir){
				case IN_DIR_RIGHT:
					return isLink(col, row + 1, OUT_DIR_DOWN);
				case IN_DIR_DOWN:
					return isLink(col + 1, row, OUT_DIR_RIGHT);
				}
			}
			break;
		case PIPE_CURVE_D:			//向下的水管,可以從下、左兩方進水或出水
			{
				switch(nDir){
				case IN_DIR_DOWN:
					return isLink(col - 1, row, OUT_DIR_LEFT);
				case IN_DIR_LEFT:
					return isLink(col, row + 1, OUT_DIR_DOWN);
				}
			}
			break;
		case PIPE_CURVE_L:			//向左的水管,可以從左、上兩方進水或出水
			{
				switch(nDir){
				case IN_DIR_LEFT:
					return isLink(col, row - 1, OUT_DIR_UP);
				case IN_DIR_UP:
					return isLink(col - 1, row, OUT_DIR_LEFT);
				}
			}
			break;
		case PIPE_LINE_H:			//橫向的水管,可以從左、右兩方進水或出水
			{
				switch(nDir){
				case IN_DIR_LEFT:
					return isLink(col + 1, row, OUT_DIR_RIGHT);
				case IN_DIR_RIGHT:
					return isLink(col - 1, row, OUT_DIR_LEFT);
				}
			}
			break;
		case PIPE_LINE_V:			//縱向的水管,可以從上、下兩方進水或出水
			{
				switch(nDir){
				case IN_DIR_UP:
					return isLink(col, row + 1, OUT_DIR_DOWN);
				case IN_DIR_DOWN:
					return isLink(col, row - 1, OUT_DIR_UP);
				}
			}
			break;
		}
		return false;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人综合在线| 欧美日韩国产成人在线91| 国产在线精品一区二区三区不卡| 午夜视频在线观看一区二区三区| 亚洲bt欧美bt精品| 午夜精品影院在线观看| 视频一区中文字幕国产| 日韩国产欧美视频| 久久精品国产精品青草| 久久99国产精品麻豆| 黄网站免费久久| 国产一区二区精品在线观看| 国产成人av网站| 成人app在线| 在线亚洲欧美专区二区| 欧美日韩在线一区二区| 欧美人体做爰大胆视频| 欧美一区二区三区免费大片| 精品国产一二三区| 欧美国产日韩在线观看| 一区二区日韩电影| 日本va欧美va精品发布| 国产成人一区二区精品非洲| 不卡av电影在线播放| 日本精品一区二区三区高清| 欧美精选在线播放| 欧美r级电影在线观看| 欧美国产精品中文字幕| 一区二区三区在线视频免费| 日日骚欧美日韩| 国产又黄又大久久| av一区二区三区在线| 欧美日韩电影一区| wwwwxxxxx欧美| 亚洲精品免费视频| 麻豆精品国产91久久久久久| 成人免费视频网站在线观看| 在线看一区二区| 欧美成人一区二区| 亚洲视频一区二区在线观看| 欧美a级一区二区| 成人黄色网址在线观看| 3d动漫精品啪啪1区2区免费| 久久久久久久久久久久久夜| 亚洲人成亚洲人成在线观看图片| 三级不卡在线观看| 99久久久精品| 日韩欧美综合一区| 亚洲欧美日韩中文播放 | 精品一区二区久久| 99综合电影在线视频| 在线播放亚洲一区| 国产精品传媒视频| 老司机免费视频一区二区三区| 91最新地址在线播放| 欧美成人女星排行榜| 亚洲情趣在线观看| 国内国产精品久久| 欧美人xxxx| 最近中文字幕一区二区三区| 久久国产精品一区二区| 欧洲中文字幕精品| 国产日韩欧美制服另类| 蜜乳av一区二区| 91国偷自产一区二区三区观看| 久久先锋影音av| 日本视频中文字幕一区二区三区| 99久久精品国产导航| 精品久久久久久综合日本欧美| 亚洲国产精品久久人人爱蜜臀| 国产福利91精品| 在线不卡一区二区| 亚洲欧美偷拍卡通变态| 国产成人免费9x9x人网站视频| 欧美一区欧美二区| 亚洲综合一二区| 成人免费福利片| 国产午夜精品福利| 另类小说欧美激情| 337p亚洲精品色噜噜狠狠| 亚洲精品视频自拍| 91免费国产视频网站| 国产精品无码永久免费888| 国产精品一二三四区| 日韩一级大片在线观看| 五月天激情综合网| 欧洲中文字幕精品| 夜夜嗨av一区二区三区四季av| 成人av综合在线| 中文字幕第一页久久| 国产成人综合亚洲91猫咪| 精品免费视频.| 麻豆视频一区二区| 欧美一级电影网站| 日本美女一区二区三区视频| 精品视频免费在线| 香蕉影视欧美成人| 欧美日韩精品久久久| 五月天丁香久久| 欧美一区二区三区精品| 日本不卡一二三区黄网| 69成人精品免费视频| 视频一区二区中文字幕| 91精品国产手机| 美女视频一区二区三区| 日韩一级二级三级| 国产曰批免费观看久久久| 久久蜜桃av一区二区天堂| 韩国一区二区三区| 国产欧美一区二区三区鸳鸯浴| 国产91精品一区二区麻豆网站| 国产亚洲1区2区3区| 波波电影院一区二区三区| 自拍偷拍国产精品| 在线观看不卡视频| 香蕉av福利精品导航| 欧美一区二区视频在线观看2022| 男女视频一区二区| 欧美成人伊人久久综合网| 国产激情一区二区三区| 《视频一区视频二区| 中文字幕一区二区在线观看| 成人性生交大片免费看中文 | 男女激情视频一区| 日韩亚洲欧美高清| 国产精品99久久久久久久vr| 国产精品色婷婷久久58| 色欧美日韩亚洲| 日韩电影一区二区三区四区| 精品国产伦理网| 国产91色综合久久免费分享| 亚洲人妖av一区二区| 欧美日韩dvd在线观看| 久久99久久久久| 国产精品乱码久久久久久| 日本精品免费观看高清观看| 肉丝袜脚交视频一区二区| 久久久综合精品| 一本色道久久加勒比精品| 日产国产高清一区二区三区| 久久精品网站免费观看| 色综合久久88色综合天天| 青娱乐精品视频| 亚洲欧洲精品成人久久奇米网 | 亚洲精品ww久久久久久p站| 91精品在线观看入口| 成人sese在线| 日韩电影在线观看一区| 国产精品视频看| 88在线观看91蜜桃国自产| 高清不卡在线观看av| 亚洲国产精品一区二区久久| 欧美精品一区二区三区一线天视频| 99热精品一区二区| 免费在线观看成人| 亚洲精品网站在线观看| 久久综合久久鬼色| 欧美在线观看视频一区二区 | 欧美午夜精品一区| 国产一区欧美一区| 亚洲成人精品影院| 国产精品第一页第二页第三页| 日韩一区二区精品| 在线观看精品一区| 成人精品免费看| 久久精品免费观看| 亚洲一区av在线| 欧美激情综合网| 日韩欧美中文字幕制服| 日本乱人伦一区| jlzzjlzz欧美大全| 国产精品99久久不卡二区| 亚洲超丰满肉感bbw| 亚洲天堂成人网| 中文字幕国产一区二区| 精品sm捆绑视频| 欧美蜜桃一区二区三区| 97se亚洲国产综合自在线观| 国产精品一二三四区| 精品一区二区在线免费观看| 日韩二区三区四区| 亚洲一二三四久久| 亚洲欧美成aⅴ人在线观看| 中文字幕第一区二区| 久久综合久久鬼色| 精品国产自在久精品国产| 欧美肥妇毛茸茸| 欧美年轻男男videosbes| 色悠悠久久综合| 99r国产精品| 91香蕉视频在线| 99久久精品情趣| 成人国产电影网| 国产.欧美.日韩| 国产精品自拍毛片| 国产福利一区在线观看| 国产精品一区二区久激情瑜伽| 国产尤物一区二区| 国产精品69毛片高清亚洲| 国产一区二区调教|