Clear columns; improved adjacent tile selection

This commit is contained in:
synth-ruiner 2015-03-09 22:51:03 +00:00
parent 8148057849
commit 55226c5baf
1 changed files with 19 additions and 36 deletions

View File

@ -467,40 +467,26 @@
$.fn.getAdjacentTiles = function() { $.fn.getAdjacentTiles = function() {
var adjacentTiles = $(''); var adjacentTiles = $('');
var x = $(this).getX();
var y = $(this).getY();
//row above if (y > 0) {
if ($(this).getY() > 0) { var tileAbove = $(this).rowAbove().children().eq(x);
if ($(this).getX() > 0) {
adjacentTiles = adjacentTiles.add($(this).rowAbove().children().eq($(this).getX() - 1).toArray());
}
adjacentTiles = adjacentTiles.add($(this).rowAbove().children().eq($(this).getX()).toArray()); adjacentTiles = adjacentTiles.add(tileAbove.prev());
adjacentTiles = adjacentTiles.add(tileAbove );
if ($(this).getX() < (gameBoardWidth - 1)) { adjacentTiles = adjacentTiles.add(tileAbove.next());
adjacentTiles = adjacentTiles.add($(this).rowAbove().children().eq($(this).getX() + 1).toArray());
}
} }
//this row adjacentTiles = adjacentTiles.add($(this).prev());
if ($(this).getX() > 0) { adjacentTiles = adjacentTiles.add($(this).next());
adjacentTiles = adjacentTiles.add($(this).prev().toArray());
}
if ($(this).getX() < (gameBoardWidth - 1)) { if (y < (gameBoardHeight - 1)) {
adjacentTiles = adjacentTiles.add($(this).next().toArray()); var tileBelow = $(this).rowBelow().children().eq(x);
}
//row below adjacentTiles = adjacentTiles.add(tileBelow.prev());
if ($(this).getY() < (gameBoardHeight - 1)) { adjacentTiles = adjacentTiles.add(tileBelow );
if ($(this).getX() > 0) { adjacentTiles = adjacentTiles.add(tileBelow.next());
adjacentTiles = adjacentTiles.add($(this).rowBelow().children().eq($(this).getX() - 1).toArray());
}
adjacentTiles = adjacentTiles.add($(this).rowBelow().children().eq($(this).getX()).toArray());
if ($(this).getX() < (gameBoardWidth - 1)) {
adjacentTiles = adjacentTiles.add($(this).rowBelow().children().eq($(this).getX() + 1).toArray());
}
} }
return adjacentTiles; return adjacentTiles;
@ -596,9 +582,7 @@
//already clicked; use middle click reveal functionality //already clicked; use middle click reveal functionality
//number of flags matches number of adjacent mines //number of flags matches number of adjacent mines
$(this).getAdjacentTiles().filter(':not(.flagged, .revealed)').each(function() { $(this).getAdjacentTiles().filter(':not(.flagged, .revealed)').mouseup();
$(this).mouseup();
});
} else { } else {
$(this).addClass("revealed"); $(this).addClass("revealed");
@ -620,9 +604,7 @@
$.fn.middleClick = function() { $.fn.middleClick = function() {
//number of flags matches number of adjacent mines //number of flags matches number of adjacent mines
if (parseInt($(this).text()) === $(this).getAdjacentTiles().filter('.flagged, .revealed.mine').length) { if (parseInt($(this).text()) === $(this).getAdjacentTiles().filter('.flagged, .revealed.mine').length) {
$(this).getAdjacentTiles().filter(':not(.flagged)').each(function() { $(this).getAdjacentTiles().filter(':not(.flagged, .revealed)').mouseup();
$(this).mouseup();
});
} }
} }
@ -680,7 +662,7 @@
} }
removeClearedRows(); removeClearedRows();
//removeClearedColumns(); removeClearedColumns();
checkGameOver(); checkGameOver();
updateScore(); updateScore();
@ -696,7 +678,7 @@
</script> </script>
<script> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date(); a=s.createElement(o), (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
@ -716,6 +698,7 @@
<p>a game by max bradbury</p> <p>a game by max bradbury</p>
<p>inspirations include minesweeper, tetris and 2048</p> <p>inspirations include minesweeper, tetris and 2048</p>
<p>tell your friends</p> <p>tell your friends</p>
<p>stay in school</p>
<button>reset</button> <button>reset</button>
</div> </div>
<div id="setup"> <div id="setup">