1

这个问题是关于流行游戏2048的。我想知道每一轮新瓷砖的外观细节:

  • 是 50% 的二人组和 50% 的四人组吗?
  • 出现的概率是否均匀分布在所有空闲时隙上?
4

1 回答 1

3

https://github.com/gabrielecirulli/2048/blob/master/js/game_manager.js#L72

// Adds a tile in a random position
GameManager.prototype.addRandomTile = function () {
  if (this.grid.cellsAvailable()) {
    var value = Math.random() < 0.9 ? 2 : 4;
    var tile = new Tile(this.grid.randomAvailableCell(), value);

    this.grid.insertTile(tile);
  }
};

https://github.com/gabrielecirulli/2048/blob/master/js/grid.js#L36

// Find the first available random position
Grid.prototype.randomAvailableCell = function () {
  var cells = this.availableCells();

  if (cells.length) {
    return cells[Math.floor(Math.random() * cells.length)];
  }
};
于 2014-04-06T09:48:48.600 回答