Created
February 20, 2019 14:54
-
-
Save questsin/dfbcc36c75518c61828e1b6567e1e29a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<HTML><HEAD><TITLE>5kChess</TITLE> | |
<SCRIPT> | |
Y = document; | |
a = -1; | |
t = 1; | |
e = 0; | |
k = 0; | |
cm = 0; | |
p = new Array; | |
c = new Array; | |
q = new Array; | |
d = new Array; | |
b = new Array; | |
q[1] = 0; | |
q[2] = 0; | |
g = ".gif"; | |
u = "s" + g; | |
for (i = 0; i < 64; i++) { | |
c[i] = 0; | |
p[i] = 0; | |
d[i] = 0; | |
b[i] = 0; | |
} | |
for (i = 0; i < 16; i++) { | |
c[i] = 2; | |
c[63 - i] = 1; | |
p[i] = 1; | |
p[63 - i] = 1 | |
} | |
p[0] = 4; | |
p[1] = 3; | |
p[2] = 5; | |
p[3] = 7; | |
p[4] = 8; | |
p[5] = 5; | |
p[6] = 3; | |
p[7] = 4; | |
p[63] = 4; | |
p[62] = 3; | |
p[61] = 5; | |
p[60] = 8; | |
p[59] = 7; | |
p[58] = 5; | |
p[57] = 3; | |
p[56] = 4; | |
function DI(i) { | |
return Y.images[i].src; | |
} | |
function IC(n, m) { | |
Y.images[n].src = m; | |
} | |
function YA(i) { | |
if (i < 0) return -1; | |
return 1; | |
} | |
function G(i) { | |
if (p[i] == 0) { | |
im = u; | |
} else { | |
if (c[i] == 1) { | |
im = "w" + p[i] + g; | |
} else { | |
im = "b" + p[i] + g; | |
} | |
}; | |
return im; | |
} | |
function D(s, n) { | |
if (cm < 1) { | |
if (a == -1) { | |
if (c[s] == t) { | |
B('blue'); | |
} else { | |
B('navy'); | |
} | |
} else { | |
if (M(a, s) == 1) { | |
B('blue'); | |
} else { | |
B('navy'); | |
} | |
} | |
if (s != a) { | |
H(s, n); | |
} | |
} | |
} | |
function X(v, w) { | |
IC(v, DI(w)); | |
p[v] = p[w]; | |
c[v] = c[w]; | |
IC(w, u); | |
H(w, 0); | |
p[w] = 0; | |
c[w] = 0; | |
} | |
function E(s, n) { | |
if (a > -1) { | |
if (M(a, s) == 1) { | |
if (p[a] == 8) { | |
q[t] = 1; | |
if (e == 1 & (C(s) == 1 | C(s) == 6)) { | |
z = -YA(C(s) - 4); | |
X(s + z, s - z); | |
} | |
} | |
if (p[a] == 1 & R(s) == 0) { | |
p[a] = 7; | |
IC(a, "w7" + g); | |
} | |
e = 0; | |
cm = 1; | |
si = DI(s); | |
sp = p[s]; | |
sc = c[s]; | |
X(s, a); | |
I(); | |
T(2); | |
for (i = 0; i < 64; i++) { | |
if (p[i] == 8 & c[i] == 1 & b[i] > 0 & cm > 0) { | |
cm = 0; | |
X(a, s); | |
IC(s, si); | |
p[s] = sp; | |
c[s] = sc; | |
window.alert("In Check"); | |
} | |
} | |
a = -1; | |
} else { | |
H(a, 0); | |
if (c[s] == c[a]) { | |
H(s, n); | |
a = s; | |
} else { | |
H(s, 0); | |
a = -1; | |
} | |
} | |
} else { | |
if ((p[s] != 0) & (c[s] == t)) { | |
H(s, n); | |
a = s; | |
} | |
} | |
if (cm) setTimeout("P()", 0); | |
} | |
function I() { | |
for (i = 0; i < 64; i++) { | |
b[i] = 0; | |
} | |
} | |
function P() { | |
if (t == 1) { | |
t = 2; | |
} else { | |
t = 1; | |
} | |
if (Q.Z.checked == 1 & t == 2) { | |
t = 2; | |
n = 0; | |
o = new Array; | |
z = new Array; | |
l = new Array; | |
r = new Array; | |
for (v = 0; v < 64; v++) { | |
if (c[v] == 2) { | |
for (w = 0; w < 64; w++) { | |
if (M(v, w)) { | |
op = p[w]; | |
oc = c[w]; | |
p[w] = p[v]; | |
c[w] = c[v]; | |
if (p[w] == 1 & R(w) == 7) { | |
p[w] = 7; | |
} | |
p[v] = 0; | |
c[v] = 0; | |
I(); | |
o[n] = v; | |
z[n] = w; | |
r[n] = 0; | |
l[n] = (T(2) + T(1) + 4 * op) + Math.random(); | |
if (b[w] < 0) { | |
l[n] = l[n] - 3 * p[w]; | |
} | |
if (k) { | |
l[n] = -1000; | |
} | |
I(); | |
T(1); | |
for (i = 0; i < 64; i++) { | |
if (c[i] == 2 & b[i] < 0) { | |
l[n] = l[n] - 4 * p[i]; | |
} | |
} | |
p[v] = p[w]; | |
c[v] = c[w]; | |
p[w] = op; | |
c[w] = oc; | |
for (i = 0; i < n + 1; i++) { | |
if (l[n] > l[i]) { | |
r[n] = r[n] + 1; | |
} { | |
r[i] = r[i] + 1; | |
} | |
} | |
n = n + 1; | |
} | |
} | |
} | |
} | |
h = n; | |
for (i = 0; i < n; i++) { | |
if (r[i] == n) { | |
h = i; | |
} | |
} | |
if (l[h] > -1000) { | |
X(z[h], o[h]); | |
IC(z[h], "b" + p[z[h]] + g); | |
} else { | |
window.alert("CheckMate!"); | |
} | |
t = 1; | |
} | |
cm = 0; | |
} | |
function T(tn) { | |
tb = 0; | |
k = 0; | |
ot = t; | |
t = tn; | |
for (j = 0; j < 64; j++) { | |
if (c[j] == t) { | |
M(j, -1); | |
for (i = 0; i < 64; i++) { | |
if (d[i] > 0) { | |
if (t == 2) { | |
b[i] = b[i] + 1; | |
if (b[i] > 2) { | |
b[i] = 2; | |
} { | |
tb = tb + 1; | |
} | |
} | |
if (t == 1) { | |
b[i] = b[i] - 1; | |
if (b[i] < -2) { | |
b[i] = -2; | |
} { | |
tb = tb - 1; | |
} | |
if (p[i] == 8 & c[i] == 2) { | |
k = 1; | |
} | |
} | |
} | |
} | |
} | |
} | |
t = ot; | |
return tb; | |
} | |
function H(s, n) { | |
Y.images[s].width = 60 - n * 2; | |
Y.images[s].height = 60 - n * 2; | |
Y.images[s].border = n; | |
} | |
function B(i) { | |
Y.linkColor = i; | |
Y.alinkColor = i; | |
Y.vlinkColor = i; | |
} | |
function M(m, n) { | |
re = 0; | |
x = C(m); | |
y = R(m); | |
for (i = 0; i < 64; i++) { | |
d[i] = 0; | |
} | |
if (p[m] == 1) { | |
if (K(x, y + F(1)) == 1) { | |
d[8 * (y + F(1)) + x] = 1; | |
} | |
if (K(x - 1, y + F(1)) == 2) { | |
d[8 * (y + F(1)) + x - 1] = 1; | |
} | |
if (K(x + 1, y + F(1)) == 2) { | |
d[8 * (y + F(1)) + x + 1] = 1; | |
} | |
if ((y == 6 | y == 1) & K(x, y + F(1)) == 1 & K(x, y + F(2)) == 1) { | |
d[8 * (y + F(2)) + x] = 1; | |
} | |
} | |
if (p[m] == 4) { | |
L(x, y, 0, 9); | |
} | |
if (p[m] == 3) { | |
for (va = -2; va < 3; va++) { | |
for (wa = -2; wa < 3; wa++) { | |
if (Math.abs(va) != Math.abs(wa) & va != 0 & wa != 0 & K(x + va, y + wa) > 0) { | |
d[8 * (y + wa) + x + va] = 1; | |
} | |
} | |
} | |
} | |
if (p[m] == 5) { | |
L(x, y, 1, 9); | |
} | |
if (p[m] == 7) { | |
L(x, y, 1, 9); | |
L(x, y, 0, 9); | |
} | |
if (p[m] == 8) { | |
L(x, y, 1, 2); | |
L(x, y, 0, 2); | |
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) { | |
d[n] = 1; | |
e = 1; | |
} | |
if (q[t] == 0 & R(n) == y & C(n) == 6 & p[n + 1] == 4 & p[n] == 0 & p[n - 1] == 0) { | |
d[n] = 1; | |
e = 1; | |
} | |
} | |
if (d[n]) { | |
re = 1; | |
} | |
return re; | |
} | |
function K(v, w) { | |
sq = w * 8 + v; | |
if (v > -1 & v < 8 & w > -1 & w < 8) { | |
if (c[sq] != t) { | |
if (c[sq] == 0) { | |
return 1; | |
} { | |
return 2; | |
} | |
} else { | |
return 0; | |
} | |
} else { | |
return 0; | |
} | |
} | |
function L(m, n, l, s) { | |
S = 1; | |
U = 1; | |
V = 1; | |
W = 1; | |
for (i = 1; i < s; i++) { | |
f = l * i; | |
A = K(m - i, n - f); | |
J = K(m + f, n - i); | |
N = K(m + i, n + f); | |
O = K(m - f, n + i); | |
if (A > 0 & S > 0) { | |
d[8 * (n - f) + m - i] = 1; | |
if (A > 1) { | |
S = 0; | |
} | |
} else { | |
S = 0; | |
} | |
if (J > 0 & U > 0) { | |
d[8 * (n - i) + m + f] = 1; | |
if (J > 1) { | |
U = 0; | |
} | |
} else { | |
U = 0; | |
} | |
if (N > 0 & V > 0) { | |
d[8 * (n + f) + m + i] = 1; | |
if (N > 1) { | |
V = 0; | |
} | |
} else { | |
V = 0; | |
} | |
if (O > 0 & W > 0) { | |
d[8 * (n + i) + m - f] = 1; | |
if (O > 1) { | |
W = 0; | |
} | |
} else { | |
W = 0; | |
} | |
} | |
} | |
function F(i) { | |
if (t == 1) { | |
return -i; | |
} else { | |
return i; | |
} | |
} | |
function R(i) { | |
return (Math.floor(i / 8)); | |
} | |
function C(i) { | |
return (i - (Math.floor(i / 8) * 8)); | |
} | |
function DW(i) { | |
Y.write(i); | |
} | |
</SCRIPT> | |
<BODY bgColor=black> | |
<SCRIPT> | |
j = "<table border=0 cellspacing=1 cellpadding=0 "; | |
DW(j + "width=100% height=100%><tr><td><center><font color=white size=6>5kChess</font><br><br>" + j + ">"); | |
i = 1; | |
s = 0; | |
for (v = 0; v < 8; v++) { | |
DW("<tr>"); | |
for (w = 0; w < 8; w++) { | |
if ((i / 2) == Math.floor(i / 2)) { | |
n = "80808f"; | |
} else { | |
n = "c0c0cf"; | |
} | |
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>"); | |
i++; | |
s++; | |
} | |
DW("</tr>"); | |
i++; | |
} | |
</SCRIPT> | |
</TABLE> | |
<FORM name=Q><INPUT CHECKED name=Z type=checkbox><FONT color=gray>Play | |
Computer</FONT></FORM>iloveujulie</TD></TR></TABLE></BODY></HTML> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<HTML><HEAD><TITLE>5kChess</TITLE> | |
<SCRIPT> | |
Y = document; | |
a = -1; | |
t = 1; | |
e = 0; | |
k = 0; | |
cm = 0; | |
p = new Array; | |
c = new Array; | |
q = new Array; | |
d = new Array; | |
b = new Array; | |
q[1] = 0; | |
q[2] = 0; | |
g = ".gif"; | |
u = "s" + g; | |
for (i = 0; i < 64; i++) { | |
c[i] = 0; | |
p[i] = 0; | |
d[i] = 0; | |
b[i] = 0; | |
} | |
for (i = 0; i < 16; i++) { | |
c[i] = 2; | |
c[63 - i] = 1; | |
p[i] = 1; | |
p[63 - i] = 1 | |
} | |
p[0] = 4; | |
p[1] = 3; | |
p[2] = 5; | |
p[3] = 7; | |
p[4] = 8; | |
p[5] = 5; | |
p[6] = 3; | |
p[7] = 4; | |
p[63] = 4; | |
p[62] = 3; | |
p[61] = 5; | |
p[60] = 8; | |
p[59] = 7; | |
p[58] = 5; | |
p[57] = 3; | |
p[56] = 4; | |
function DI(i) { | |
return Y.images[i].src; | |
} | |
function IC(n, m) { | |
Y.images[n].src = m; | |
} | |
function YA(i) { | |
if (i < 0) return -1; | |
return 1; | |
} | |
function G(i) { | |
if (p[i] == 0) { | |
im = u; | |
} else { | |
if (c[i] == 1) { | |
im = "w" + p[i] + g; | |
} else { | |
im = "b" + p[i] + g; | |
} | |
}; | |
return im; | |
} | |
function D(s, n) { | |
if (cm < 1) { | |
if (a == -1) { | |
if (c[s] == t) { | |
B('blue'); | |
} else { | |
B('navy'); | |
} | |
} else { | |
if (M(a, s) == 1) { | |
B('blue'); | |
} else { | |
B('navy'); | |
} | |
} | |
if (s != a) { | |
H(s, n); | |
} | |
} | |
} | |
function X(v, w) { | |
IC(v, DI(w)); | |
p[v] = p[w]; | |
c[v] = c[w]; | |
IC(w, u); | |
H(w, 0); | |
p[w] = 0; | |
c[w] = 0; | |
} | |
function E(s, n) { | |
if (a > -1) { | |
if (M(a, s) == 1) { | |
if (p[a] == 8) { | |
q[t] = 1; | |
if (e == 1 & (C(s) == 1 | C(s) == 6)) { | |
z = -YA(C(s) - 4); | |
X(s + z, s - z); | |
} | |
} | |
if (p[a] == 1 & R(s) == 0) { | |
p[a] = 7; | |
IC(a, "w7" + g); | |
} | |
e = 0; | |
cm = 1; | |
si = DI(s); | |
sp = p[s]; | |
sc = c[s]; | |
X(s, a); | |
I(); | |
T(2); | |
for (i = 0; i < 64; i++) { | |
if (p[i] == 8 & c[i] == 1 & b[i] > 0 & cm > 0) { | |
cm = 0; | |
X(a, s); | |
IC(s, si); | |
p[s] = sp; | |
c[s] = sc; | |
window.alert("In Check"); | |
} | |
} | |
a = -1; | |
} else { | |
H(a, 0); | |
if (c[s] == c[a]) { | |
H(s, n); | |
a = s; | |
} else { | |
H(s, 0); | |
a = -1; | |
} | |
} | |
} else { | |
if ((p[s] != 0) & (c[s] == t)) { | |
H(s, n); | |
a = s; | |
} | |
} | |
if (cm) setTimeout("P()", 0); | |
} | |
function I() { | |
for (i = 0; i < 64; i++) { | |
b[i] = 0; | |
} | |
} | |
function P() { | |
if (t == 1) { | |
t = 2; | |
} else { | |
t = 1; | |
} | |
if (Q.Z.checked == 1 & t == 2) { | |
t = 2; | |
n = 0; | |
o = new Array; | |
z = new Array; | |
l = new Array; | |
r = new Array; | |
for (v = 0; v < 64; v++) { | |
if (c[v] == 2) { | |
for (w = 0; w < 64; w++) { | |
if (M(v, w)) { | |
op = p[w]; | |
oc = c[w]; | |
p[w] = p[v]; | |
c[w] = c[v]; | |
if (p[w] == 1 & R(w) == 7) { | |
p[w] = 7; | |
} | |
p[v] = 0; | |
c[v] = 0; | |
I(); | |
o[n] = v; | |
z[n] = w; | |
r[n] = 0; | |
l[n] = (T(2) + T(1) + 4 * op) + Math.random(); | |
if (b[w] < 0) { | |
l[n] = l[n] - 3 * p[w]; | |
} | |
if (k) { | |
l[n] = -1000; | |
} | |
I(); | |
T(1); | |
for (i = 0; i < 64; i++) { | |
if (c[i] == 2 & b[i] < 0) { | |
l[n] = l[n] - 4 * p[i]; | |
} | |
} | |
p[v] = p[w]; | |
c[v] = c[w]; | |
p[w] = op; | |
c[w] = oc; | |
for (i = 0; i < n + 1; i++) { | |
if (l[n] > l[i]) { | |
r[n] = r[n] + 1; | |
} { | |
r[i] = r[i] + 1; | |
} | |
} | |
n = n + 1; | |
} | |
} | |
} | |
} | |
h = n; | |
for (i = 0; i < n; i++) { | |
if (r[i] == n) { | |
h = i; | |
} | |
} | |
if (l[h] > -1000) { | |
X(z[h], o[h]); | |
IC(z[h], "b" + p[z[h]] + g); | |
} else { | |
window.alert("CheckMate!"); | |
} | |
t = 1; | |
} | |
cm = 0; | |
} | |
function T(tn) { | |
tb = 0; | |
k = 0; | |
ot = t; | |
t = tn; | |
for (j = 0; j < 64; j++) { | |
if (c[j] == t) { | |
M(j, -1); | |
for (i = 0; i < 64; i++) { | |
if (d[i] > 0) { | |
if (t == 2) { | |
b[i] = b[i] + 1; | |
if (b[i] > 2) { | |
b[i] = 2; | |
} { | |
tb = tb + 1; | |
} | |
} | |
if (t == 1) { | |
b[i] = b[i] - 1; | |
if (b[i] < -2) { | |
b[i] = -2; | |
} { | |
tb = tb - 1; | |
} | |
if (p[i] == 8 & c[i] == 2) { | |
k = 1; | |
} | |
} | |
} | |
} | |
} | |
} | |
t = ot; | |
return tb; | |
} | |
function H(s, n) { | |
Y.images[s].width = 60 - n * 2; | |
Y.images[s].height = 60 - n * 2; | |
Y.images[s].border = n; | |
} | |
function B(i) { | |
Y.linkColor = i; | |
Y.alinkColor = i; | |
Y.vlinkColor = i; | |
} | |
function M(m, n) { | |
re = 0; | |
x = C(m); | |
y = R(m); | |
for (i = 0; i < 64; i++) { | |
d[i] = 0; | |
} | |
if (p[m] == 1) { | |
if (K(x, y + F(1)) == 1) { | |
d[8 * (y + F(1)) + x] = 1; | |
} | |
if (K(x - 1, y + F(1)) == 2) { | |
d[8 * (y + F(1)) + x - 1] = 1; | |
} | |
if (K(x + 1, y + F(1)) == 2) { | |
d[8 * (y + F(1)) + x + 1] = 1; | |
} | |
if ((y == 6 | y == 1) & K(x, y + F(1)) == 1 & K(x, y + F(2)) == 1) { | |
d[8 * (y + F(2)) + x] = 1; | |
} | |
} | |
if (p[m] == 4) { | |
L(x, y, 0, 9); | |
} | |
if (p[m] == 3) { | |
for (va = -2; va < 3; va++) { | |
for (wa = -2; wa < 3; wa++) { | |
if (Math.abs(va) != Math.abs(wa) & va != 0 & wa != 0 & K(x + va, y + wa) > 0) { | |
d[8 * (y + wa) + x + va] = 1; | |
} | |
} | |
} | |
} | |
if (p[m] == 5) { | |
L(x, y, 1, 9); | |
} | |
if (p[m] == 7) { | |
L(x, y, 1, 9); | |
L(x, y, 0, 9); | |
} | |
if (p[m] == 8) { | |
L(x, y, 1, 2); | |
L(x, y, 0, 2); | |
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) { | |
d[n] = 1; | |
e = 1; | |
} | |
if (q[t] == 0 & R(n) == y & C(n) == 6 & p[n + 1] == 4 & p[n] == 0 & p[n - 1] == 0) { | |
d[n] = 1; | |
e = 1; | |
} | |
} | |
if (d[n]) { | |
re = 1; | |
} | |
return re; | |
} | |
function K(v, w) { | |
sq = w * 8 + v; | |
if (v > -1 & v < 8 & w > -1 & w < 8) { | |
if (c[sq] != t) { | |
if (c[sq] == 0) { | |
return 1; | |
} { | |
return 2; | |
} | |
} else { | |
return 0; | |
} | |
} else { | |
return 0; | |
} | |
} | |
function L(m, n, l, s) { | |
S = 1; | |
U = 1; | |
V = 1; | |
W = 1; | |
for (i = 1; i < s; i++) { | |
f = l * i; | |
A = K(m - i, n - f); | |
J = K(m + f, n - i); | |
N = K(m + i, n + f); | |
O = K(m - f, n + i); | |
if (A > 0 & S > 0) { | |
d[8 * (n - f) + m - i] = 1; | |
if (A > 1) { | |
S = 0; | |
} | |
} else { | |
S = 0; | |
} | |
if (J > 0 & U > 0) { | |
d[8 * (n - i) + m + f] = 1; | |
if (J > 1) { | |
U = 0; | |
} | |
} else { | |
U = 0; | |
} | |
if (N > 0 & V > 0) { | |
d[8 * (n + f) + m + i] = 1; | |
if (N > 1) { | |
V = 0; | |
} | |
} else { | |
V = 0; | |
} | |
if (O > 0 & W > 0) { | |
d[8 * (n + i) + m - f] = 1; | |
if (O > 1) { | |
W = 0; | |
} | |
} else { | |
W = 0; | |
} | |
} | |
} | |
function F(i) { | |
if (t == 1) { | |
return -i; | |
} else { | |
return i; | |
} | |
} | |
function R(i) { | |
return (Math.floor(i / 8)); | |
} | |
function C(i) { | |
return (i - (Math.floor(i / 8) * 8)); | |
} | |
function DW(i) { | |
Y.write(i); | |
} | |
</SCRIPT> | |
<BODY bgColor=black> | |
<SCRIPT> | |
j = "<table border=0 cellspacing=1 cellpadding=0 "; | |
DW(j + "width=100% height=100%><tr><td><center><font color=white size=6>5kChess</font><br><br>" + j + ">"); | |
i = 1; | |
s = 0; | |
for (v = 0; v < 8; v++) { | |
DW("<tr>"); | |
for (w = 0; w < 8; w++) { | |
if ((i / 2) == Math.floor(i / 2)) { | |
n = "80808f"; | |
} else { | |
n = "c0c0cf"; | |
} | |
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>"); | |
i++; | |
s++; | |
} | |
DW("</tr>"); | |
i++; | |
} | |
</SCRIPT> | |
</TABLE> | |
<FORM name=Q><INPUT CHECKED name=Z type=checkbox><FONT color=gray>Play | |
Computer</FONT></FORM>iloveujulie</TD></TR></TABLE></BODY></HTML> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment