Skip to content

Commit

Permalink
New harbor generation strategy
Browse files Browse the repository at this point in the history
  • Loading branch information
prevostc committed Jan 10, 2015
1 parent cbf4a4f commit 5dcecf5
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 1 deletion.
31 changes: 31 additions & 0 deletions www/js/catan/js/generator/generator.harbor.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,35 @@
}
}
};


Catan.Generator.Harbor.generateCoastBars = function (map) {
var coastBarsOrderedClockwiseType1 = [
[Catan.T.Empty, Catan.T.Ocean, Catan.T.Hills],
[Catan.T.Empty, Catan.T.Ocean, Catan.T.Pasture],
[Catan.T.Empty, Catan.T.Ocean, Catan.T.Fields]
];
var coastBarsOrderedClockwiseType2 = [
[Catan.T.Ocean, Catan.T.Empty, Catan.T.Ocean],
[Catan.T.Ocean, Catan.T.Forest, Catan.T.Ocean],
[Catan.T.Ocean, Catan.T.Mountains, Catan.T.Ocean]
];

Catan.Tools.shuffle(coastBarsOrderedClockwiseType1);
Catan.Tools.shuffle(coastBarsOrderedClockwiseType2);

var coastLandTypesOrderedClockwise = [];
for (var i = 0 ; i < 6 ; i++) {
var harborBars = i % 2 ? coastBarsOrderedClockwiseType1 : coastBarsOrderedClockwiseType2;
var harborBar = harborBars.pop();
coastLandTypesOrderedClockwise.push(harborBar.pop());
coastLandTypesOrderedClockwise.push(harborBar.pop());
coastLandTypesOrderedClockwise.push(harborBar.pop());
}

map.eachCoast(function (column, line) {
var harbor = map.get(column, line);
harbor.land = coastLandTypesOrderedClockwise.pop();
});
};
})(Catan);
2 changes: 1 addition & 1 deletion www/js/catan/js/generator/generator.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
res = Catan.Generator.Number.generate(map, tileTrioScoreLimit);
} while (!res);

Catan.Generator.Harbor.generate(map);
Catan.Generator.Harbor.generateCoastBars(map);

return map;
};
Expand Down

0 comments on commit 5dcecf5

Please sign in to comment.