WittiestJoin Date: 2009-03-02 Post Count: 9665 |
So, I believe the following will work but I am not sure if you guys have a better way:
------Actual table to represent 1-8 and a-h-----------
local gameBoard = {
[a1] = "Crimson", [b1] = "Empty", [c1] = "Empty", [d1] = "Empty", [e1] = "Empty", [f1] = "Empty", [g1] = "Empty", [h1] = "Cyan",
[a2] = "Crimson", [b2] = "Empty", [c2] = "Empty", [d2] = "Empty", [e2] = "Empty", [f2] = "Empty", [g2] = "Empty", [h2] = "Cyan",
[a3] = "Crimson", [b3] = "Empty", [c3] = "Empty", [d3] = "Empty", [e3] = "Empty", [f3] = "Empty", [g3] = "Empty", [h3] = "Cyan",
[a4] = "Crimson", [b4] = "Empty", [c4] = "Empty", [d4] = "Empty", [e4] = "Empty", [f4] = "Empty", [g4] = "Empty", [h4] = "Cyan",
[a5] = "Crimson", [b5] = "Empty", [c5] = "Empty", [d5] = "Empty", [e5] = "Empty", [f5] = "Empty", [g5] = "Empty", [h5] = "Cyan",
[a6] = "Crimson", [b6] = "Empty", [c6] = "Empty", [d6] = "Empty", [e6] = "Empty", [f6] = "Empty", [g6] = "Empty", [h6] = "Cyan",
[a7] = "Crimson", [b7] = "Empty", [c7] = "Empty", [d7] = "Empty", [e7] = "Empty", [f7] = "Empty", [g7] = "Empty", [h7] = "Cyan",
[a8] = "Crimson", [b8] = "Empty", [c8] = "Empty", [d8] = "Empty", [e8] = "Empty", [f8] = "Empty", [g8] = "Empty", [h8] = "Cyan"
}
function LettersNextTo(letter1,letter2)
if letter1 == "a" and letter2 == "b" or letter2 == "a" and letter1 == "b" then
return true
elseif letter1 == "b" and letter2 == "c" or letter2 == "b" and letter1 == "c" then
return true
elseif letter1 == "c" and letter2 == "d" or letter2 == "c" and letter1 == "d" then
return true
elseif letter1 == "d" and letter2 == "e" or letter2 == "d" and letter1 == "e" then
return true
elseif letter1 == "e" and letter2 == "f" or letter2 == "e" and letter1 == "f" then
return true
elseif letter1 == "f" and letter2 == "g" or letter2 == "f" and letter1 == "g" then
return true
elseif letter1 == "g" and letter2 == "h" or letter2 == "h" and letter1 == "g" then
return true
end
end
function WhereCanIAttack(attacker,color)
local ViableAttackSpots={}
local ViableMoveSpots={}
for place,occupied in pairs(gameBoard) do
if (math.abs( tonumber(string.sub(place,2,2)) - tonumber(string.sub(attacker,2,2))) == 1) and LettersNextTo(string.sub(attacker,1,1),string.sub(place,1,1)) then
if occupied~=color then
return place
end
end
end
end
|