Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.73 KB | None | 0 0
  1. <HTML><HEAD><TITLE>5kChess</TITLE>
  2. <SCRIPT>
  3. Y = document;
  4. a = -1;
  5. t = 1;
  6. e = 0;
  7. k = 0;
  8. cm = 0;
  9. p = new Array;
  10. c = new Array;
  11. q = new Array;
  12. d = new Array;
  13. b = new Array;
  14. q[1] = 0;
  15. q[2] = 0;
  16. g = ".gif";
  17. u = "s" + g;
  18. for (i = 0; i < 64; i++) {
  19. c[i] = 0;
  20. p[i] = 0;
  21. d[i] = 0;
  22. b[i] = 0;
  23. }
  24. for (i = 0; i < 16; i++) {
  25. c[i] = 2;
  26. c[63 - i] = 1;
  27. p[i] = 1;
  28. p[63 - i] = 1
  29. }
  30. p[0] = 4;
  31. p[1] = 3;
  32. p[2] = 5;
  33. p[3] = 7;
  34. p[4] = 8;
  35. p[5] = 5;
  36. p[6] = 3;
  37. p[7] = 4;
  38. p[63] = 4;
  39. p[62] = 3;
  40. p[61] = 5;
  41. p[60] = 8;
  42. p[59] = 7;
  43. p[58] = 5;
  44. p[57] = 3;
  45. p[56] = 4;
  46.  
  47. function DI(i) {
  48. return Y.images[i].src;
  49. }
  50.  
  51. function IC(n, m) {
  52. Y.images[n].src = m;
  53. }
  54.  
  55. function YA(i) {
  56. if (i < 0) return -1;
  57. return 1;
  58. }
  59.  
  60. function G(i) {
  61. if (p[i] == 0) {
  62. im = u;
  63. } else {
  64. if (c[i] == 1) {
  65. im = "w" + p[i] + g;
  66. } else {
  67. im = "b" + p[i] + g;
  68. }
  69. };
  70. return im;
  71. }
  72.  
  73. function D(s, n) {
  74. if (cm < 1) {
  75. if (a == -1) {
  76. if (c[s] == t) {
  77. B('blue');
  78. } else {
  79. B('navy');
  80. }
  81. } else {
  82. if (M(a, s) == 1) {
  83. B('blue');
  84. } else {
  85. B('navy');
  86. }
  87. }
  88. if (s != a) {
  89. H(s, n);
  90. }
  91. }
  92. }
  93.  
  94. function X(v, w) {
  95. IC(v, DI(w));
  96. p[v] = p[w];
  97. c[v] = c[w];
  98. IC(w, u);
  99. H(w, 0);
  100. p[w] = 0;
  101. c[w] = 0;
  102. }
  103.  
  104. function E(s, n) {
  105. if (a > -1) {
  106. if (M(a, s) == 1) {
  107. if (p[a] == 8) {
  108. q[t] = 1;
  109. if (e == 1 & (C(s) == 1 | C(s) == 6)) {
  110. z = -YA(C(s) - 4);
  111. X(s + z, s - z);
  112. }
  113. }
  114. if (p[a] == 1 & R(s) == 0) {
  115. p[a] = 7;
  116. IC(a, "w7" + g);
  117. }
  118. e = 0;
  119. cm = 1;
  120. si = DI(s);
  121. sp = p[s];
  122. sc = c[s];
  123. X(s, a);
  124. I();
  125. T(2);
  126. for (i = 0; i < 64; i++) {
  127. if (p[i] == 8 & c[i] == 1 & b[i] > 0 & cm > 0) {
  128. cm = 0;
  129. X(a, s);
  130. IC(s, si);
  131. p[s] = sp;
  132. c[s] = sc;
  133. window.alert("In Check");
  134. }
  135. }
  136. a = -1;
  137. } else {
  138. H(a, 0);
  139. if (c[s] == c[a]) {
  140. H(s, n);
  141. a = s;
  142. } else {
  143. H(s, 0);
  144. a = -1;
  145. }
  146. }
  147. } else {
  148. if ((p[s] != 0) & (c[s] == t)) {
  149. H(s, n);
  150. a = s;
  151. }
  152. }
  153. if (cm) setTimeout("P()", 0);
  154. }
  155.  
  156. function I() {
  157. for (i = 0; i < 64; i++) {
  158. b[i] = 0;
  159. }
  160. }
  161.  
  162. function P() {
  163. if (t == 1) {
  164. t = 2;
  165. } else {
  166. t = 1;
  167. }
  168. if (Q.Z.checked == 1 & t == 2) {
  169. t = 2;
  170. n = 0;
  171. o = new Array;
  172. z = new Array;
  173. l = new Array;
  174. r = new Array;
  175. for (v = 0; v < 64; v++) {
  176. if (c[v] == 2) {
  177. for (w = 0; w < 64; w++) {
  178. if (M(v, w)) {
  179. op = p[w];
  180. oc = c[w];
  181. p[w] = p[v];
  182. c[w] = c[v];
  183. if (p[w] == 1 & R(w) == 7) {
  184. p[w] = 7;
  185. }
  186. p[v] = 0;
  187. c[v] = 0;
  188. I();
  189. o[n] = v;
  190. z[n] = w;
  191. r[n] = 0;
  192. l[n] = (T(2) + T(1) + 4 * op) + Math.random();
  193. if (b[w] < 0) {
  194. l[n] = l[n] - 3 * p[w];
  195. }
  196. if (k) {
  197. l[n] = -1000;
  198. }
  199. I();
  200. T(1);
  201. for (i = 0; i < 64; i++) {
  202. if (c[i] == 2 & b[i] < 0) {
  203. l[n] = l[n] - 4 * p[i];
  204. }
  205. }
  206. p[v] = p[w];
  207. c[v] = c[w];
  208. p[w] = op;
  209. c[w] = oc;
  210. for (i = 0; i < n + 1; i++) {
  211. if (l[n] > l[i]) {
  212. r[n] = r[n] + 1;
  213. } {
  214. r[i] = r[i] + 1;
  215. }
  216. }
  217. n = n + 1;
  218. }
  219. }
  220. }
  221. }
  222. h = n;
  223. for (i = 0; i < n; i++) {
  224. if (r[i] == n) {
  225. h = i;
  226. }
  227. }
  228. if (l[h] > -1000) {
  229. X(z[h], o[h]);
  230. IC(z[h], "b" + p[z[h]] + g);
  231. } else {
  232. window.alert("CheckMate!");
  233. }
  234. t = 1;
  235. }
  236. cm = 0;
  237. }
  238.  
  239. function T(tn) {
  240. tb = 0;
  241. k = 0;
  242. ot = t;
  243. t = tn;
  244. for (j = 0; j < 64; j++) {
  245. if (c[j] == t) {
  246. M(j, -1);
  247. for (i = 0; i < 64; i++) {
  248. if (d[i] > 0) {
  249. if (t == 2) {
  250. b[i] = b[i] + 1;
  251. if (b[i] > 2) {
  252. b[i] = 2;
  253. } {
  254. tb = tb + 1;
  255. }
  256. }
  257. if (t == 1) {
  258. b[i] = b[i] - 1;
  259. if (b[i] < -2) {
  260. b[i] = -2;
  261. } {
  262. tb = tb - 1;
  263. }
  264. if (p[i] == 8 & c[i] == 2) {
  265. k = 1;
  266. }
  267. }
  268. }
  269. }
  270. }
  271. }
  272. t = ot;
  273. return tb;
  274. }
  275.  
  276. function H(s, n) {
  277. Y.images[s].width = 60 - n * 2;
  278. Y.images[s].height = 60 - n * 2;
  279. Y.images[s].border = n;
  280. }
  281.  
  282. function B(i) {
  283. Y.linkColor = i;
  284. Y.alinkColor = i;
  285. Y.vlinkColor = i;
  286. }
  287.  
  288. function M(m, n) {
  289. re = 0;
  290. x = C(m);
  291. y = R(m);
  292. for (i = 0; i < 64; i++) {
  293. d[i] = 0;
  294. }
  295. if (p[m] == 1) {
  296. if (K(x, y + F(1)) == 1) {
  297. d[8 * (y + F(1)) + x] = 1;
  298. }
  299. if (K(x - 1, y + F(1)) == 2) {
  300. d[8 * (y + F(1)) + x - 1] = 1;
  301. }
  302. if (K(x + 1, y + F(1)) == 2) {
  303. d[8 * (y + F(1)) + x + 1] = 1;
  304. }
  305. if ((y == 6 | y == 1) & K(x, y + F(1)) == 1 & K(x, y + F(2)) == 1) {
  306. d[8 * (y + F(2)) + x] = 1;
  307. }
  308. }
  309. if (p[m] == 4) {
  310. L(x, y, 0, 9);
  311. }
  312. if (p[m] == 3) {
  313. for (va = -2; va < 3; va++) {
  314. for (wa = -2; wa < 3; wa++) {
  315. if (Math.abs(va) != Math.abs(wa) & va != 0 & wa != 0 & K(x + va, y + wa) > 0) {
  316. d[8 * (y + wa) + x + va] = 1;
  317. }
  318. }
  319. }
  320. }
  321. if (p[m] == 5) {
  322. L(x, y, 1, 9);
  323. }
  324. if (p[m] == 7) {
  325. L(x, y, 1, 9);
  326. L(x, y, 0, 9);
  327. }
  328. if (p[m] == 8) {
  329. L(x, y, 1, 2);
  330. L(x, y, 0, 2);
  331. if (q[t] == 0 & R(n) == y & C(n) == 1 & p[n - 1] == 4 & p[n] == 0 & p[n + 1] == 0 & p[n + 2] == 0) {
  332. d[n] = 1;
  333. e = 1;
  334. }
  335. if (q[t] == 0 & R(n) == y & C(n) == 6 & p[n + 1] == 4 & p[n] == 0 & p[n - 1] == 0) {
  336. d[n] = 1;
  337. e = 1;
  338. }
  339. }
  340. if (d[n]) {
  341. re = 1;
  342. }
  343. return re;
  344. }
  345.  
  346. function K(v, w) {
  347. sq = w * 8 + v;
  348. if (v > -1 & v < 8 & w > -1 & w < 8) {
  349. if (c[sq] != t) {
  350. if (c[sq] == 0) {
  351. return 1;
  352. } {
  353. return 2;
  354. }
  355. } else {
  356. return 0;
  357. }
  358. } else {
  359. return 0;
  360. }
  361. }
  362.  
  363. function L(m, n, l, s) {
  364. S = 1;
  365. U = 1;
  366. V = 1;
  367. W = 1;
  368. for (i = 1; i < s; i++) {
  369. f = l * i;
  370. A = K(m - i, n - f);
  371. J = K(m + f, n - i);
  372. N = K(m + i, n + f);
  373. O = K(m - f, n + i);
  374. if (A > 0 & S > 0) {
  375. d[8 * (n - f) + m - i] = 1;
  376. if (A > 1) {
  377. S = 0;
  378. }
  379. } else {
  380. S = 0;
  381. }
  382. if (J > 0 & U > 0) {
  383. d[8 * (n - i) + m + f] = 1;
  384. if (J > 1) {
  385. U = 0;
  386. }
  387. } else {
  388. U = 0;
  389. }
  390. if (N > 0 & V > 0) {
  391. d[8 * (n + f) + m + i] = 1;
  392. if (N > 1) {
  393. V = 0;
  394. }
  395. } else {
  396. V = 0;
  397. }
  398. if (O > 0 & W > 0) {
  399. d[8 * (n + i) + m - f] = 1;
  400. if (O > 1) {
  401. W = 0;
  402. }
  403. } else {
  404. W = 0;
  405. }
  406. }
  407. }
  408.  
  409. function F(i) {
  410. if (t == 1) {
  411. return -i;
  412. } else {
  413. return i;
  414. }
  415. }
  416.  
  417. function R(i) {
  418. return (Math.floor(i / 8));
  419. }
  420.  
  421. function C(i) {
  422. return (i - (Math.floor(i / 8) * 8));
  423. }
  424.  
  425. function DW(i) {
  426. Y.write(i);
  427. }
  428. </SCRIPT>
  429. <BODY bgColor=black>
  430. <SCRIPT>
  431. j = "<table border=0 cellspacing=1 cellpadding=0 ";
  432. DW(j + "width=100% height=100%><tr><td><center><font color=white size=6>5kChess</font><br><br>" + j + ">");
  433. i = 1;
  434. s = 0;
  435. for (v = 0; v < 8; v++) {
  436. DW("<tr>");
  437. for (w = 0; w < 8; w++) {
  438. if ((i / 2) == Math.floor(i / 2)) {
  439. n = "80808f";
  440. } else {
  441. n = "c0c0cf";
  442. }
  443. DW("<td bgcolor=" + n + "><a href=javascript:E(" + s + ",5) onMouseOut=D(" + s + ",0) onMouseOver=D(" + s + ",2)><img src=" + G(s) + " height=60 width=60 border=0></a></td>");
  444. i++;
  445. s++;
  446. }
  447. DW("</tr>");
  448. i++;
  449. }
  450. </SCRIPT>
  451. </TABLE>
  452. <FORM name=Q><INPUT CHECKED name=Z type=checkbox><FONT color=gray>Play
  453. Computer</FONT></FORM>iloveujulie</TD></TR></TABLE></BODY></HTML>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement