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

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

?? game.js

?? 用javascript寫的掃雷游戲的源碼
?? JS
字號:
/*************************************************************
  ** Game		: 掃雷
  ** Author		: sicon
  ** Date		: 2005.11.24
  ** Email		: sicon2002@163.com
  ** version    : 1.0
  ** copyright	: All Earthman.
  ** 1.1		: 考慮已標記為雷時的自動標記
*************************************************************/

// 注冊 一個游戲。
var game = new Mine( "GamePan" );
function LoadGame()
{
	game.InitGame();
}

/**************************************************
 ** 游戲代碼
**************************************************/

function Mine( Panel )
{
	this.PanelId	= Panel;
	this.Name		= "game";
	this.Version	= "1.0";
	this.Colums		= 10;			// 行數
	this.Rows		= 10;			// 列數
	this.ColumsWidth= 40;			// 行寬
	this.RowsWidth  = 40;			// 列寬 
	this.Bgcolor	= "#2E8B57";		//已挖
	this.ForeColor  = "BUTTONSHADOW";	//未挖
	this.MineColor  = "#8B4513";		//標記為雷
	this.MineCount  = 0;				//雷數
	this.MineLeft	= 0;
	this.FontSize	= 5;				//字體大小
	this.IsEnd		= false;			//是否結束
	this.MineArray  = new Array();		//雷 0:不是 1:是
	this.MineAround = new Array();		//周圍雷數
	this.CellShow   = new Array();		//已挖標記 1:無雷 2:有雷
 	// this.CellBorder = new Array();
	this.StartTime  = new Date();
	this.EndTime	= new Date();
	this.Score		= 0;
	this.ShowStyle  = 1;			// 提示數字樣式 0:繁體漢字 1:阿拉伯數字 2:英文 3:簡體漢字 4:不提示
	this.ShowMine   = false;		// 是否顯示雷
	
	// 初始化游戲
	this.InitGame		= sInitGame;
	// 初始化雷區
	this.InitMineArray	= sInitMineArray;
	// 計算周圍的雷數
	this.CaluMineAround = sCaluMineAround;
	// 格內顯示內容。
	this.GetDisplay		= sGetDisplay;
	// 某一網格周圍。
	this.GetCellBorder	= sGetCellBorder;
	// 四周是否有雷
	this.IsArroundCellsHasMine = sIsArroundCellsHasMine;
	// 點網格事件時
	this.RefreshGame	= sRefreshGame;
	// 標記雷
	this.MarkMineGame	= sMarkMineGame;
	// 是否結束
	this.IsAllFind		= sIsAllFind;
	// 游戲結束
	this.GameOver       = sGameOver;
	// 刷新
	this.Refresh		= sRefresh;
	// 標記為雷
	this.MarkMine		= sMarkMine;
	// 顯示分數
	this.ShowWhiteExp   = sShowWhiteExp;
	// 數字轉換
	this.ChangeNum2Char = sChangeNum2Char;
}

function sInitGame()
{
	this.StartTime = new Date();
	// alert( this.StartTime.getTime()  );
	this.MineCount  = 0;
	this.InitMineArray();
	this.CaluMineAround();
	this.Refresh();
}

function sRefresh()
{
	// 布雷 Panel.
	this.IsAllFind();
	var GamePan = document.getElementById( this.PanelId ); 
	var htmStr;
	htmStr = "<table border=\"5\"><tr><td align=\"center\" bgcolor=\"#F5F5DC\"><font size=\"7\" color=\"#2F4F4F\"><b>Sweep Mine 1.0</b></font></td></tr><tr><td><table cellspacing='1' cellpadding='1' border=\"0\">";
	for( var i=0; i<this.Rows; i++ )
	{
		htmStr += "<tr>";
		for( var j=0; j<this.Colums; j++ )
		{
			var Color = this.ForeColor;
			if( this.CellShow[i][j] == 1 )
				Color = this.Bgcolor;
			if( this.CellShow[i][j] == 2 )
				Color = this.MineColor;
			htmStr += "<td bgcolor=\""+ Color +"\" width=\""+ this.ColumsWidth +"\" height=\""+ this.RowsWidth +"\" oncontextmenu='"+ this.Name +".MarkMineGame("+i+","+j+")' onclick='"+ this.Name +".RefreshGame("+i+","+j+")' align=\"center\" valign=\"center\">"+ this.GetDisplay( i,j ) +"</td>";
		}
		htmStr += "</tr>";
	}
	htmStr += "</table></td><td valign=\"top\">";
	htmStr += "<table border=\"0\">"
	//htmStr += "	<tr><td>難度:5<td></tr>"
	htmStr += "	<tr><td>高度:10 &nbsp; 寬度:10<td></tr>"
	htmStr += "	<tr><td>雷數:"+ this.MineCount +" <td></tr>"
	htmStr += "	<tr><td>剩余雷數:"+ this.MineLeft +" <td></tr>"
	htmStr += "	<tr><td><td></tr>"
	htmStr += "	<tr><td><td></tr>"
	htmStr += "	<tr><td><td></tr>"
	htmStr += "	<tr><td><span style=\"cursor:hand\" onclick=\"LoadGame()\">[開始] <span onclick=\"javascript:alert('不準停止!')\">[暫停]<td></tr>"
//	htmStr += "	<tr><td>時間:\""+ (this.EndTime - this.StartTime) +"\"<td></tr>"
//	htmStr += "	<tr><td>分數:"+ this.Score +"<td></tr>"
	htmStr += "	<tr><td><td></tr>"
	htmStr += "	<tr><td>"+ this.ShowWhiteExp() +"<td></tr>"
	htmStr += "	<tr><td><td></tr>"
	htmStr += "</table>"
	htmStr += "</td></tr></table>";
//	htmStr += this.MineCount;
	GamePan.innerHTML = htmStr;
}

function sInitMineArray()
{	
	for( var i=0; i<this.Rows; i++ )
	{
		this.MineArray[i] = new Array();
		this.CellShow[i] = new Array();
		for( var j=0; j<this.Colums; j++ )
		{
			var rand = parseInt(Math.random() * 7);
			this.MineArray[i][j] = ( rand < 2 )?rand:0;
			this.CellShow[i][j] = 0;  // All Not show.
			if( this.MineArray[i][j] == 1 )
			{
				this.MineCount ++;
			}
		}
	}
	this.MineLeft = this.MineCount;
}

function sCaluMineAround()
{
	var sValue;
	for( var i=0; i<this.Rows; i++ )
	{
		this.MineAround[i] = new Array();
		for( var j=0; j<this.Colums; j++ )
		{
			this.MineAround[i][j] = 0;
			for( var m=i-1; m<=i+1; m++ )
			{
				sValue = 0;
				for( var n=j-1; n<=j+1; n++ )
				{
					try
					{
						sValue = this.MineArray[m][n] ;
					}
					catch( e )
					{
						sValue = 0;
					}
					if( m==i && n==j )
						sValue = 0;
					if( !isNaN(sValue) )
					this.MineAround[i][j] +=  parseInt( sValue );
				}
			}
		}
	}
}

function sGetDisplay( i,j )
{
	var returnValue = "";
	if( this.ShowMine == true )
		returnValue += "" + this.MineArray[i][j] ;
	if( this.CellShow[i][j] == 1 && this.MineAround[i][j] != 0 )
		returnValue += "<font size="+ this.FontSize +" color=\"#FFFFFF\">" + this.ChangeNum2Char( this.MineAround[i][j] ) + "</font>";
	return returnValue;
}

function sGetCellBorder( i,j )
{
	if( this.IsArroundCellsHasMine(i,j) == true && this.CellShow[i][j] != 1)
	{
		this.CellShow[i][j] = 1;
		for( var m=i-1; m<=i+1; m++ )
		{
			for( var n=j-1; n<=j+1; n++ )
			{
				if( m>=0 && n>=0 && m<this.Rows && n<this.Colums )
					this.GetCellBorder( m,n );
			}
		}
	
	}
	if( this.MineArray[i][j] == 1 )
		this.GameOver();
	else
		this.CellShow[i][j] = 1;
}

function sIsArroundCellsHasMine( i,j )
{
	var sValue;

	for( var m=i-1; m<=i+1; m++ )
	{
		sValue = 0;
		for( var n=j-1; n<=j+1; n++ )
		{
			try
			{
				sValue = this.MineArray[m][n] ;
			}
			catch( e )
			{
				sValue = 0;
			}
	//		if( !isNaN(sValue) && sValue == 1 && this.CellShow[i][j] )
	//			sValue = 0;
			if( !isNaN(sValue) && sValue==1 )
				return false;
		}
	}

	return true;
}

function sGameOver()
{
	alert( 'Game Over.' );
	this.InitGame();
}

function sMarkMine( i,j )
{
	if( this.CellShow[i][j] == 1 )
		return;
	if( this.CellShow[i][j] != 2 )
	{
		this.CellShow[i][j] = 2;
		this.MineLeft--;
	}
	else
	{
		this.CellShow[i][j] = 0;
		this.MineLeft++;
	}
}

function sIsAllFind()
{
	var c = 0;
	var d = 0;
	for( var i=0; i<this.Rows; i++ )
	{
		for( var j=0; j<this.Colums; j++ )
		{
			if( this.CellShow[i][j] == 2 )
			{
				c++;
			}
			if( this.CellShow[i][j] == 1 )
			{
				d++;
			}
		}
	}

	if( c > this.MineCount )
		alert( '小白,俺沒有那么多雷!' );
	if( c == this.MineCount && c+d == this.Colums * this.Rows )
	{
		this.EndTime = new Date();
		this.IsEnd = true;
	}
}

function sRefreshGame( i,j )
{
	this.GetCellBorder( i,j );
	this.Refresh();
}

function sMarkMineGame( i,j )
{
	this.MarkMine( i,j );
	this.Refresh();
}

function sShowWhiteExp()
{
	var timeSpan;
	timeSpan = this.EndTime - this.StartTime;
	this.Score = Math.ceil( 100000000/(timeSpan * this.MineCount ));

	if( this.IsEnd == true )
	{
		return "<font size=\"8\">You Win!</font><br><font color=\"#FF00ff\">你的分數為:</font><br><font color=\"#FF0000\" size=\"30\">" + this.Score + "</font>";
		this.IsEnd = false;
	}
	else
		return "";
}

function sChangeNum2Char( j )
{
	var arrNum;

	if( this.ShowStyle == 4 )
		return "";
	arrNum = new Array();
	arrNum[0] = new Array();
	arrNum[1] = new Array();
	arrNum[2] = new Array();
	arrNum[3] = new Array();

	arrNum[0][0] = "零";
	arrNum[0][1] = "壹";
	arrNum[0][2] = "貮";
	arrNum[0][3] = "叁";
	arrNum[0][4] = "肆";
	arrNum[0][5] = "伍";
	arrNum[0][6] = "陸";
	arrNum[0][7] = "柒";
	arrNum[0][8] = "捌";
	arrNum[0][9] = "玖";

	arrNum[1][0] = "0";
	arrNum[1][1] = "1";
	arrNum[1][2] = "2";
	arrNum[1][3] = "3";
	arrNum[1][4] = "4";
	arrNum[1][5] = "5";
	arrNum[1][6] = "6";
	arrNum[1][7] = "7";
	arrNum[1][8] = "8";
	arrNum[1][9] = "9";

	arrNum[2][0] = "ONE";
	arrNum[2][1] = "TWO";
	arrNum[2][2] = "THREE";
	arrNum[2][3] = "FOUR";
	arrNum[2][4] = "FIVE";
	arrNum[2][5] = "SIX";
	arrNum[2][6] = "SEVEN";
	arrNum[2][7] = "EIGHT";
	arrNum[2][8] = "NINE";
	arrNum[2][9] = "TEN";

	arrNum[3][0] = "O";
	arrNum[3][1] = "一";
	arrNum[3][2] = "二";
	arrNum[3][3] = "三";
	arrNum[3][4] = "四";
	arrNum[3][5] = "五";
	arrNum[3][6] = "六";
	arrNum[3][7] = "七";
	arrNum[3][8] = "八";
	arrNum[3][9] = "九";

	return arrNum[ this.ShowStyle ][j];
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区视频播放 | 欧洲精品中文字幕| 一本一道综合狠狠老| ...av二区三区久久精品| 国产成人av在线影院| 国产精品久久久久久久岛一牛影视 | 欧美一级久久久| 久久99精品视频| 久久精品夜色噜噜亚洲aⅴ| 99re成人在线| 亚洲1区2区3区4区| 久久综合久久综合久久| 国产精品一区不卡| 一区二区三区丝袜| 4438成人网| 成人av网址在线| 无码av免费一区二区三区试看| 日韩欧美在线网站| 成人美女视频在线看| 午夜精品福利视频网站| 精品国产自在久精品国产| 99re这里只有精品首页| 午夜激情综合网| 国产欧美一区二区精品性色| 色久优优欧美色久优优| 欧美aⅴ一区二区三区视频| 欧美韩国日本不卡| 91精品国产麻豆国产自产在线| 国产一区二区三区日韩| 亚洲一区精品在线| 久久亚洲综合av| 欧美综合一区二区三区| 国产成人免费在线视频| 亚洲成av人片在www色猫咪| 久久精品在这里| 欧美久久久一区| 成人免费看视频| 理论片日本一区| 一区二区欧美精品| 中文字幕av资源一区| 7777精品久久久大香线蕉| 99在线精品视频| 国产一区二三区| 天天综合色天天| 亚洲欧美激情插| 日本一区二区视频在线观看| 欧美精选午夜久久久乱码6080| 成人性生交大片| 韩国精品在线观看| 丝袜美腿成人在线| 亚洲精品自拍动漫在线| 欧美激情一区二区三区蜜桃视频| 日韩一区二区在线播放| 91成人看片片| 91在线高清观看| 成人精品视频一区二区三区| 久久国产精品色婷婷| 丝袜美腿高跟呻吟高潮一区| 亚洲乱码国产乱码精品精小说 | 日韩黄色免费网站| 亚洲综合一二三区| 中文字幕一区二区三区色视频 | 国产精品美女www爽爽爽| 欧美哺乳videos| 日韩欧美一区电影| 日韩欧美一区二区视频| 51精品视频一区二区三区| 欧美午夜宅男影院| 欧美在线观看你懂的| 一本一本大道香蕉久在线精品 | 国产高清精品久久久久| 久久国产人妖系列| 激情五月激情综合网| 久久狠狠亚洲综合| 国产一区在线不卡| 国产一区二区三区综合| 国产精品一区二区久久精品爱涩 | 成人动漫视频在线| 91一区在线观看| 色噜噜夜夜夜综合网| 色视频成人在线观看免| 欧美专区日韩专区| 欧美日本不卡视频| 欧美大片免费久久精品三p | 欧美日韩国产a| 91精品国产欧美一区二区 | 久久九九久久九九| 国产精品午夜电影| 亚洲视频小说图片| 亚洲主播在线播放| 奇米色777欧美一区二区| 免费在线观看精品| 国产综合色精品一区二区三区| 粉嫩在线一区二区三区视频| 日韩码欧中文字| 日韩伦理免费电影| 亚洲主播在线观看| 亚洲国产精品久久艾草纯爱| 一级特黄大欧美久久久| 日韩国产一二三区| 另类中文字幕网| eeuss影院一区二区三区| 色久综合一二码| 91精品国产欧美一区二区18| 久久久天堂av| 一区二区三区四区国产精品| 喷水一区二区三区| 不卡欧美aaaaa| 欧美精品久久天天躁| 精品国精品自拍自在线| 亚洲乱码国产乱码精品精可以看| 亚洲综合激情另类小说区| 免费成人你懂的| 成人黄页毛片网站| 欧美一区二区视频在线观看2022| 精品播放一区二区| 亚洲狠狠爱一区二区三区| 久久99国产精品久久99果冻传媒 | 91在线看国产| 欧美一二三在线| 中文字幕欧美一| 久久99国内精品| 91电影在线观看| 国产亚洲成aⅴ人片在线观看 | 精品乱人伦小说| 亚洲精品国产无天堂网2021| 蜜臀99久久精品久久久久久软件| av一本久道久久综合久久鬼色| 51精品视频一区二区三区| 日韩理论电影院| 国产乱子伦一区二区三区国色天香| 色八戒一区二区三区| 久久久久久久久一| 日韩精品91亚洲二区在线观看 | 国产精品视频免费| 男男视频亚洲欧美| 在线免费观看日本欧美| 国产精品视频观看| 国产在线精品一区二区| 日韩一级在线观看| 亚洲mv在线观看| 色婷婷av一区二区三区之一色屋| 国产日韩视频一区二区三区| 日韩av一区二区在线影视| 欧美色手机在线观看| 国产精品美女久久久久久| 国产激情一区二区三区| 精品久久久久久亚洲综合网 | 成人黄色电影在线| 日韩精品在线一区二区| 日韩国产在线观看一区| 欧美日韩免费高清一区色橹橹 | 色视频成人在线观看免| 中文字幕在线不卡一区二区三区| 国产精品一区二区久久不卡| 久久亚区不卡日本| 国产精品综合网| 久久九九国产精品| 国产成人午夜精品影院观看视频 | 色噜噜狠狠一区二区三区果冻| 国产精品欧美极品| 国产91清纯白嫩初高中在线观看| www国产精品av| 国产精品一区三区| 国产三级久久久| 成人免费三级在线| 中文字幕在线观看一区二区| 99视频在线观看一区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久精品男人的天堂| 国产成人免费视频网站| 久久久久久久电影| 国产不卡一区视频| 中文av一区二区| 日本韩国精品一区二区在线观看| 亚洲综合久久久| 欧美挠脚心视频网站| 日韩成人一区二区| 久久婷婷综合激情| 成人黄色一级视频| 亚洲午夜成aⅴ人片| 欧美老肥妇做.爰bbww视频| 免费观看91视频大全| 久久精品亚洲国产奇米99| 国产91综合一区在线观看| 国产精品电影院| 欧美日韩高清一区二区三区| 人人爽香蕉精品| 精品国产乱码久久久久久蜜臀| 大胆亚洲人体视频| 一区二区三区高清| 日韩欧美国产一区二区在线播放 | 粉嫩绯色av一区二区在线观看| 国产精品国产三级国产普通话99| 91麻豆国产自产在线观看| 日韩不卡手机在线v区| 国产欧美精品国产国产专区 | 精品一区二区三区欧美| 欧美激情一区在线观看| 在线日韩国产精品|