summaryrefslogblamecommitdiff
path: root/minesweeper/index.html
blob: fc182541ecd43c328a77ea9be34a3241ccd71d08 (plain) (tree)


















































































































































































































                                                                                                                                                                                
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width">
<title>Chrisoft::Minesweeper</title>
<link rel="icon" href="../favicon.png">
<link rel="stylesheet" type="text/css" href="../common.css">
<link rel="stylesheet" type="text/css" href="../panel.css">
<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
<script type="text/javascript" src="../panel.js"></script>
<script type="text/javascript" src="minesweeper.js"></script>
<style>
div#OptionsContainer
{
	text-align:center;
	margin:auto;
}
select
{
	background-color:#CCC;
	border:1px #999 solid;
	padding:0.5em 0.2em;
}
button
{
	border:none;
	color:white;
	padding:0.5em 2em;
	text-align:center;
	background-color:#4A4;
	transition-duration: 0.2s;
}
button:hover
{
	background-color:#6C6;
}
button.off
{
	background-color:#A44;
}
button.off:hover
{
	background-color:#C66;
}
button.disabled:hover, button.disabled
{
	background-color:#888;
}
div#containerDiv
{
	margin:auto;
	position:relative;
}
div.clickable
{
	position:absolute;
	text-align:center;
	border:1px black solid;
}
div.overlay
{
	pointer-events:none;
	display:table;
	position:absolute;
	text-align:center;
}
div.trans
{
	transition:100ms;
}
div.modal
{
	background-color:rgba(0,0,0,0.6);
	color:#FFF;
	width:60%;
	min-height:40%;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	transition:100ms;
	font-size:1.4em;
	padding:1em;
}
@media(max-width:768px)
{
	div.modal{width:90%;min-height:60%;font-size:1.2em;}
}
@media all
{
	#panel{left:-15em;}
}
div{
	-webkit-user-select:none !important;
	-webkit-touch-callout:none !important;
}
div#progress{
	position:fixed;
	top:0;
	left:0;
	width:0%;
	height:2px;
	background-color:#47c;
	transition:width 1s;
	z-index:9999;
}
div.mine{background-color:rgba(255,192,0,0.6);}
div.detonated{background-color:rgba(255,0,0,0.6);}
div.flag{background-color:rgba(0,255,0,0.6);}
div.flagw{background-color:rgba(255,0,255,0.6);}
div.dug{background-color:rgba(160,160,192,0.8);}
div.normal{background-color:rgba(128,128,160,0.6);}
.one{color:#00f;}
.two{color:#008000;}
.three{color:#f00;}
.four{color:#000080;}
.five{color:#800000;}
.six{color:#008080;}
.seven{color:#000;}
.eight{color:#7e7e7e;}
</style>
<script>
	function loadTheme(){
	var thm=document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)thm\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1");
	if(thm.length<2||'0123z'.indexOf(thm[0])==-1||'abz'.indexOf(thm[1])==-1)thm='zz';
	var ent="";
	var d=new Date();
	if(thm[0]=='z')
	{
		var m=d.getMonth()+1;
		if(m>=3&&m<6)thm='0'+thm[1];
		else if(m>=6&&m<9)thm='1'+thm[1];
		else if(m>=9&&m<12)thm='2'+thm[1];
		else thm='3'+thm[1];
	}
	if(thm[1]=='z')
	{if(d.getHours()>=18||d.getHours()<6)thm=thm[0]+'b';else thm=thm[0]+'a';}
	ent=`theme${thm}`;
	var R=new RegExp('theme[0-4][ab]');
	for(var i=0;i<document.styleSheets.length;++i)
	{
		if(R.exec(document.styleSheets[i].ownerNode.id)!==null&&document.styleSheets[i].ownerNode.id!=ent)
		document.styleSheets[i].disabled=true;
		else document.styleSheets[i].disabled=false;
	}
}
loadTheme();
</script>
</head>
<body onload="init();">
<div id="progress"></div>
<div id="panel" class="TText">
	<ul id="panellist">
		<li><a href="/"><h1>Chrisoft</h1></a></li>
		<li><span><h3>Minesweeper</h3></span></li>
		<li><span>
		Difficulty:
		<select id="bsize" class="TText">
			<option value="1">Easy</option>
			<option value="2">Normal</option>
			<option value="3">Hard</option>
		</select>
		</li>
		<li><span>Multimine:
		<button id="multim" onclick="multiminetoggle();" class="off TText">Off</button></span>
		</li>
		<li><span>Effects:
		<button id="efx" class="TText" onclick="efxtoggle();">On</button></span>
		</li>
		<li><span>Sounds:
		<button id="sfx" class="TText" onclick="sfxtoggle();">On</button></span>
		</li>
		<!--<li><span>I can't count:
		<button id="remm" class="TText" onclick="remmtoggle();">No thx</button></span>
		</li>-->
		<li><a href="javascript:void(0);" onclick="document.getElementById('help').style.opacity='1';document.getElementById('help').style.zIndex='1000';">Help</a></li>
		<li><span>version: 0.8.8+b1</span></li>
</div>
<div id="OptionsContainer" class="TText">
	<button class="TText" id="start" onclick="gameInit();">New Game</button>
	<button class="TText" id="st" onclick="systemtest();" style="display:none;" class="disabled">I'm ready, dismantle the mines!</button>
	<br>Mines:<span id="mines"></span>
</div>
<div id="containerDiv">
</div>
<div class="modal TText" style="opacity:0;text-align:center;z-index:-999;" id="result" onclick="this.style.opacity='0';this.style.zIndex='-999';">
</div>
<div class="modal TText" style="opacity:0;z-index:-999;" id="help" onclick="this.style.opacity='0';this.style.zIndex='-999';">
	<p>
		<b>Mobile devices from Apple are not supported...</b><br>
		Left click / tap and hold on untouched cell = reveal cell<br>
		Right click / tap on untouched cell = toggle flag in cell<br>
		Right click / tap on revealed cell = reveal surrounding cells if feasible<br>
	</p>
	<p>
		In multimine mode, there might be multiple (6 max) mines in a single cell.
		Use right click or short tap to increase flag count, left click or long tap
		to decrease flag count. To finish a multimine game, you have to flag all cells
		with mines correctly and click the "I'm ready, dismantle the mines!" button.
	</p>
</div>
</body>
</html>