Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Board is now shared, revised robber
  • Loading branch information
samuelmaddock committed Oct 1, 2012
1 parent 2e3ab82 commit 2b4d723
Show file tree
Hide file tree
Showing 15 changed files with 277 additions and 586 deletions.
2 changes: 2 additions & 0 deletions client/index.html
Expand Up @@ -119,6 +119,8 @@
<script src="shared/entities/HexCorner.js"></script>
<script src="shared/entities/HexEdge.js"></script>
<script src="shared/entities/Robber.js"></script>

<script src="shared/board.js"></script>

</head>
<body>
Expand Down
49 changes: 49 additions & 0 deletions client/js/catan.js
Expand Up @@ -105,4 +105,53 @@ CATAN.onSelectEntity = function(ent) {
id: ent.getEntId()
});
}
}

CATAN.getAvailableBuildings = function() {
var ply = CATAN.LocalPlayer;

var list = [];

var corners = this.board.getCorners();
for(var i in corners) {
var corner = corners[i];
if(corner.canBuild()) {
list.push(corner);
}
};

var edges = this.board.getEdges();
for(var i in edges) {
var edge = edges[i];
if(edge.canBuild(ply)) {
list.push(edge);
}
};

/*var corners = ply.getCorners();
for(var i in corners) {
var corner = corners[i];
var adjCorners = corner.getAdjacentCorners();
for(var j in adjCorners) {
if(adjCorners[j].canBuild()) {
list.push(adjCorners[j].getEntId());
}
}
var adjEdges = corner.getAdjacentEdges();
for(var j in adjEdges) {
var adjEdge = adjEdges[j];
if(adjEdge.canBuild(ply)) {
list.push(adjEdge.getEntId());
}
// TODO: Add adjacent roads
}
}*/

return list;
}
16 changes: 15 additions & 1 deletion client/js/enums.js
Expand Up @@ -11,4 +11,18 @@ RESOURCE_ORE = 5;

var BUILDING_ROAD = 0,
BUILDING_SETTLEMENT = 1,
BUILDING_CITY = 2;
BUILDING_CITY = 2;

var CORNER_TL = 0,
CORNER_TR = 1,
CORNER_R = 2,
CORNER_BR = 3,
CORNER_BL = 4,
CORNER_L = 5;

var EDGE_T = 0,
EDGE_TR = 1,
EDGE_BR = 2,
EDGE_B = 3,
EDGE_BL = 4,
EDGE_TL = 5;
15 changes: 9 additions & 6 deletions client/js/main.js
Expand Up @@ -79,6 +79,8 @@ CATAN.connectToServer = function(id, isEvent) {
};

CATAN.onConnection = function() {
this.board = new CATAN.Board();

this.server.emit( 'playerReady', { name: CATAN.getName() } );

this.chat = this.GUI.create("Chatbox");
Expand Down Expand Up @@ -117,7 +119,7 @@ CATAN.setupSocket = function(socket) {

socket.on('boardEntities', function (data) {
for(var i in data.ents) {
var ent = CATAN.ents.create(data.name);
var ent = CATAN.ents.getById(data.ents[i].id);
ent.setup(data.ents[i]);
}
});
Expand Down Expand Up @@ -199,12 +201,12 @@ CATAN.setupSocket = function(socket) {
});

socket.on('RobberMoved', function (data) {
var hex = CATAN.ents.getById(data.id);
hex.setRobber();

if(CATAN.LocalPlayer.isTurn()) {
CATAN.Game.collisionObjects.length = 0;
}

var tile = CATAN.ents.getById(data.id);
CATAN.board.getRobber().setTile(tile);
});

socket.on('GiveResources', function (data) {
Expand All @@ -223,8 +225,9 @@ CATAN.setupSocket = function(socket) {
socket.on('PlayerStartBuild', function (data) {
CATAN.Game.collisionObjects.length = 0

for(var i in data.available) {
var ent = CATAN.ents.getById(data.available[i]);
var available = CATAN.getAvailableBuildings();
for(var i in available) {
var ent = available[i];
ent.show(0.33);
CATAN.Game.collisionObjects.push( ent.getMesh() );
}
Expand Down

0 comments on commit 2b4d723

Please sign in to comment.