Atomic Game
Atomic Game using jQuery.js
by homer2
HTML
<script src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-2.1.0.js"></script>
Click a box that you own or an unoccupied adjacent box<br/><br/>
<span data-bind="text:turn"></span>'s turn<br/>
<table id="board" data-bind="foreach: rows" border="1">
<tr data-bind="foreach: cols">
<td data-bind="attr: {'class': owner}">
<span data-bind="text:owner" style="display:none;"></span><span data-bind="text: display"></span>
</td>
</tr>
</table>
CSS
td{cursor:pointer; color:white; font-size: x-large; width: 20px; height: 20px; border: 1px solid grey}
.blue{background-color: blue; }
.red {background-color: red; }
JavaScript
function cell(r, c){
var self = this;
self.r = r;
self.c = c;
self.value = ko.observable(0);
self.owner = ko.observable("");
self.neightboors = [];
this.display = ko.computed(function() {
return self.value()>0?self.value().toString():" ";
}, this);
self.addValue = function (owner){
self.value(self.value()+1);
if(owner) self.owner(owner);
if(self.value()>self.neightboors.length){
alert("opps" + self.value());
}
else if(self.value()==self.neightboors.length){
self.value(0);
self.owner("");
for(var n=0; n<self.neightboors.length; n++){
self.neightboors[n].addValue(owner);
}
}
}
}
function b(){
var self = this;
self.size = 6;
self.rows = [];
self.turn = ko.observable("red");
self.addValue = function (cell){
var taken = false;
if(cell.owner()==""){
for(var n=0; n<cell.neightboors.length; n++){
if(cell.neightboors[n].owner()==self.turn()){
cell.addValue(self.turn());
taken = true;
break;
}
}
}
else if(cell.owner()==self.turn()){
cell.addValue(self.turn());
taken = true;
}
if(taken){
if(self.turn()=="red")
self.turn("blue");
else
self.turn("red");
}
}
for(var r=0; r<self.size; r++){
self.rows[r]={};
self.rows[r].cols=[];
for(var c=0; c<self.size; c++){
self.rows[r].cols[c] = new...