make actuator properly create html elements
This commit is contained in:
+1
-12
@@ -46,18 +46,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tile-container">
|
<div class="tile-container">
|
||||||
<div class="tile tile-2 tile-position-1-1">
|
|
||||||
2
|
|
||||||
</div>
|
|
||||||
<div class="tile tile-4 tile-position-2-3">
|
|
||||||
4
|
|
||||||
</div>
|
|
||||||
<div class="tile tile-512 tile-position-3-2">
|
|
||||||
512
|
|
||||||
</div>
|
|
||||||
<div class="tile tile-2048 tile-position-4-4">
|
|
||||||
2048
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -25,7 +25,9 @@ GameManager.prototype.addStartTiles = function () {
|
|||||||
|
|
||||||
// Adds a tile in a random position
|
// Adds a tile in a random position
|
||||||
GameManager.prototype.addRandomTile = function () {
|
GameManager.prototype.addRandomTile = function () {
|
||||||
var tile = new Tile(this.grid.randomAvailableCell());
|
var value = Math.random() < 0.9 ? 2 : 4;
|
||||||
|
var tile = new Tile(this.grid.randomAvailableCell(), value);
|
||||||
|
|
||||||
this.grid.insertTile(tile);
|
this.grid.insertTile(tile);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+30
-7
@@ -1,13 +1,36 @@
|
|||||||
function HTMLActuator() {
|
function HTMLActuator() {
|
||||||
|
this.tileContainer = document.getElementsByClassName("tile-container")[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
HTMLActuator.prototype.actuate = function (grid) {
|
HTMLActuator.prototype.actuate = function (grid) {
|
||||||
// Temporary debug visualizer
|
var self = this;
|
||||||
grid.cells.forEach(function (row) {
|
|
||||||
var mapped = row.map(function (tile) {
|
this.clearContainer();
|
||||||
return tile ? tile.value : " ";
|
|
||||||
}).join(" | ");
|
grid.cells.forEach(function (column) {
|
||||||
console.log(mapped);
|
column.forEach(function (cell) {
|
||||||
|
if (cell) {
|
||||||
|
self.addTile(cell);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
HTMLActuator.prototype.clearContainer = function () {
|
||||||
|
while (this.tileContainer.firstChild) {
|
||||||
|
this.tileContainer.removeChild(this.tileContainer.firstChild);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
HTMLActuator.prototype.addTile = function (tile) {
|
||||||
|
var element = document.createElement("div");
|
||||||
|
|
||||||
|
var x = tile.x + 1;
|
||||||
|
var y = tile.y + 1;
|
||||||
|
var position = "tile-position-" + x + "-" + y;
|
||||||
|
|
||||||
|
element.classList.add("tile", "tile-" + tile.value, position);
|
||||||
|
element.textContent = tile.value;
|
||||||
|
|
||||||
|
this.tileContainer.appendChild(element);
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user