Reddit DP 320

thodelu

HTML

<label>p1</label>
<input type-"text" id="p1" value="5 1 13 10 11 3 2 10 4 12 5 11 10 5 7 6 6 11 9 6 3 13 6 1 8 1" />
<label>p2</label>
<input type-"text" id="p2" value="9 12 8 3 11 10 1 4 2 4 7 9 13 8 2 13 7 4 2 8 9 12 3 12 7 5" />
<label>p1 stakes</label>
<input type-"text" id="p1_stakes"/>
<label>p2 stakes</label>
<input type-"text" id="p2_stakes"/>
<input type="button" value="go" id="go"/>

CSS

input {
  width: 100%;
  margin-bottom: 10px;
}
label {
  font-size: 80%;
}

JavaScript

var p1=[], p2=[];
var p1_stakes = [], p2_stakes = [];
var paint = function(){
	$("#p1").val(p1.join(" "));
  $("#p1_stakes").val([].concat.apply([], p1_stakes).join(" "));
  $("#p2").val(p2.join(" "));
  $("#p2_stakes").val([].concat.apply([], p2_stakes).join(" "));
}
var stake = function(){
  p1 = $("#p1").val().split(" ");
  p2 = $("#p2").val().split(" ");
  var p1_stake = [];
  for(var i=1;i<=4;i++){
    var top = p1.shift();
    if(top) p1_stake.unshift(top);
  }
  p1_stakes.unshift(p1_stake);
  var p2_stake = [];
  for(var i=1;i<=4;i++){
    var top = p2.shift();
    if(top) p2_stake.unshift(top);
  }
  p2_stakes.unshift(p2_stake);
  paint();
};
var check = function(){
	var p1_stake = p1_stakes.shift();
  var p2_stake = p2_stakes.shift();
  var p1_top = parseInt(p1_stake.shift());
  var p2_top = parseInt(p2_stake.shift());
  if(p1_top > p2_top){
  	while(p1_stakes.length > 0){
    	p1 = p1.concat(p1_stakes.pop());
      p1 = p1.concat(p2_stakes.pop());
    }
  	p1 = p1.concat(p1_stake.reverse());
    p1.push(p1_top.toString());
    p1 = p1.concat(p2_stake.reverse());
    p1.push(p2_top.toString());
  } 
  if(p1_top < p2_top){
  	while(p1_stakes.length > 0){
    	p2 = p2.concat(p2_stakes.pop());
      p2 = p2.concat(p1_stakes.pop());
    }
  	p2 = p2.concat(p2_stake.reverse());
    p2.push(p2_top.toString());
    p2 = p2.concat(p1_stake.reverse());
    p2.push(p1_top.toString());
  }
  if(p1_top == p2_top){
  	p1_stake.unshift(p1_top.toString());
    p2_stake.unshift(p2_top.toString());
  	p1_stakes.unshift(p1_stake);
    p2_stakes.unshift(p2_stake);
  }
  paint();
};
var bid = function(){
  	stake();
    setTimeout(verify, 200);
};
var verify = function(){
		check();
    if(p1.length != 0 && p2.length != 0){
    	setTimeout(bid, 200);
    }
}
$("#go").click(bid);