Advertisement
Guest User

arbitrary_playfield_05.html

a guest
Feb 27th, 2014
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. <html>
  2. <head>
  3. <title> arbitrary playfield table </title>
  4.  
  5. <script>
  6. var c = 8, r = 16, w = c * 8, ra = 0, cn = 0, clt, fl = "", out = "";
  7. var p2 = ""; for(i=1; i<=128; i*=2){p2=String.fromCharCode(i)+p2;};
  8. clt ="0000004040406c6c6c909090b0b0b0c8c8c8dcdcdcffffff444400646410848424a0a034b8b840d0d050e8"
  9. clt+="e85cfcfc68702800844414985c28ac783cbc8c4ccca05cdcb468ecc878841800983418ac5030c06848d080"
  10. clt+="5ce09470eca880fcbc948800009c2020b03c3cc05858d07070e08888eca0a0fcb4b478005c8c2074a03c88"
  11. clt+="b0589cc070b0d084c0dc9cd0ecb0e0480078602090783ca48c58b8a070ccb484dcc49cecd4b0fc14008430"
  12. clt+="20984c3cac6858c07c70d09488e0a8a0ecbcb4fc0000881c209c3840b0505cc06874d07c8ce090a4eca4b8"
  13. clt+="fc00187c1c38903854a85070bc6888cc7c9cdc90b4eca4c8fc002c5c1c4c783868905084ac689cc07cb4d4"
  14. clt+="90cce8a4e0fc003c2c1c5c48387c64509c8068b4947cd0ac90e4c0a4fcd4003c00205c20407c405c9c5c74"
  15. clt+="b4748cd08ca4e4a4b8fcb8143800345c1c507c386c985084b4689ccc7cb4e490c8fca42c30004c501c6870"
  16. clt+="34848c4c9ca864b4c078ccd488e0ec9c442800644818846830a08444b89c58d0b46ce8cc7cfce08c"
  17.  
  18. document.write("<div id=\"btns\"></div><br><div id=\"world\"></div><div id=\"tbl\"></div>");
  19. nin("columns","col",4,8,4,32,"chcl");
  20. nin("rows","row",4,11,11,32,"chrw");
  21. nin("BG","bg",3,84,0,255,"chbgc");
  22. nin("PF","pf",3,44,0,255,"chpfc");
  23. out+="<input type=\"text\" id=\"wnm\" size=\"16\" value=\"world_data\">";
  24. btns.innerHTML=out;
  25.  
  26. function nin(txt,id,size,val,min,max,onch){
  27. out += txt + " <input type=\"number\" id=\"" + id + "\" size=\"" + size + "\"";
  28. out += " value=\"" + val + "\" min=\"" + min + "\" max=\"" + max + "\"";
  29. out += " onchange = \"" + onch + "(this.value)\"> ";}
  30.  
  31. function getc(p){return clt.substr((p&126)*3,6)}
  32.  
  33. var pfc = getc(pf.value), bgc = getc(bg.value); c = col.value; r = row.value
  34. var ci, bm
  35.  
  36. function gcfl(p){ci = Math.floor(p/8); bm = p2.charCodeAt(p&7); return fl.charCodeAt(ci);}
  37.  
  38. function settcc(p){document.getElementById("c"+p).style.backgroundColor=p}
  39.  
  40. function flip(p){
  41. var cc = gcfl(p)
  42. fl = fl.substr(0,ci)+String.fromCharCode(cc^bm)+fl.substring(ci+1,fl.length);
  43. document.getElementById("c"+p).className=cc&bm?"tbclbg":"tbclpf";
  44. wtbl();}
  45.  
  46.  
  47. function chrw(p){r=p; wwld(); wtbl();}
  48. function chcl(p){c=p; wwld(); wtbl();}
  49. function chbgc(p){
  50. bgc = getc(p)
  51. document.getElementById("bgs").innerHTML = " .tbclbg {border:1px solid grey; background-color:#"+ bgc +";}";}
  52.  
  53. function chpfc(p){
  54. pfc = getc(p)
  55. document.getElementById("pfs").innerHTML = " .tbclpf {border:1px solid grey; background-color:#"+ pfc +";}";}
  56.  
  57.  
  58.  
  59. var cont = "";
  60.  
  61. function write(p){world.innerHTML=p}
  62.  
  63. function wtbl(){
  64. function hxd(p){return "0123456789ABCDEF".charAt(p & 15);}
  65. function hxn(q){return " $" + hxd(q/16) + hxd(q);}
  66. cont = "<pre><br> data " + wnm.value + "\n "
  67. for (i=0, j=0; i<fl.length; i++){j++; cont+= hxn(fl.charCodeAt(i)) + (j&15?"":"\n ");}
  68. cont += (j&15?"\n ":"") + "end\n";
  69. cont = cont.replace(/\n/g,"<br>"); cont = cont.replace(/ /g,"&nbsp;");
  70. tbl.innerHTML=cont + "<br></pre><br>";
  71. }
  72.  
  73. function wwld(){
  74. var z = String.fromCharCode(0); while (z.length<c){z = z+z}; z = z.substr(0,c);
  75. for (i=0, fl=""; i<r; i++){fl+=z};
  76. var w = c * 8, ra, cn, tw = w * 8;
  77. cont = "<table style=\"border-collapse:collapse; width:" + tw + "px; height:12px;\">"
  78.  
  79. for (ri = 0; ri<r; ri++){
  80. ra = ri*w; cont += "<tr>";
  81. for (ci = 0; ci<w; ci++){
  82. cn=ra+ci;
  83. cont += "<td ID=\"c" + cn + "\" class=\"tbclbg\" onclick=\"flip(" + cn + ")\">&nbsp;</td>";
  84. }
  85. cont += "</tr>";
  86. }
  87. cont += "</table><br>"
  88. world.innerHTML = cont;}
  89.  
  90. wwld(); wtbl();
  91.  
  92. </script>
  93.  
  94. <style id="bgs"> .tbclbg {border:1px solid grey; background-color:#0000FF;}</style>
  95. <style id="pfs"> .tbclpf {border:1px solid grey; background-color:#FF0000;}</style>
  96. </head>
  97.  
  98. <body>
  99. </body>
  100. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement