Skip to content

Instantly share code, notes, and snippets.

@jreighley
Last active September 26, 2016 21:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jreighley/7d14216ce2d43dc8230eed2ba333fa66 to your computer and use it in GitHub Desktop.
Save jreighley/7d14216ce2d43dc8230eed2ba333fa66 to your computer and use it in GitHub Desktop.
JS c960 generator- https://repl.it/Dhqa/19
function c960seq (){
var emptySquares = new Set([1,2,3,4,5,6,7,8]);
var peiceMap = new Map()
var ob = (Math.floor(Math.random() * 4)+1)*2-1;
var eb = (Math.floor(Math.random() * 4)+1)*2;
function pickasquare(){
do{
tsq = (Math.floor(Math.random() * 8)+1);
}
while (emptySquares.has (tsq)===false);
return tsq;
}
function getblanksq(){
tsq=0
while (emptySquares.has (tsq)===false){
tsq ++;
}
return tsq;
}
peiceMap.set(ob,"Bishop. ");
peiceMap.set(eb,"Bishop. ");
emptySquares.delete (eb);
emptySquares.delete (ob);
var ns1=pickasquare();
peiceMap.set(ns1, "Knight. ");
emptySquares.delete (ns1);
var ns2=pickasquare();
peiceMap.set(ns2, "Knight. ");
emptySquares.delete (ns2);
var qs=pickasquare();
peiceMap.set(qs, "Queen. ");
emptySquares.delete (qs);
var rs1=getblanksq();
peiceMap.set(rs1, "Rook. ");
emptySquares.delete(rs1);
var ks=getblanksq();
peiceMap.set(ks, "King. ");
emptySquares.delete(ks);
var rs2=getblanksq();
peiceMap.set(rs2, "Rook. ");
emptySquares.delete(rs2);
return (peiceMap.get(1)+peiceMap.get(2) +peiceMap.get(3)+peiceMap.get(4) +peiceMap.get(5)+peiceMap.get(6) +peiceMap.get(7)+peiceMap.get(8));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment