aboutsummaryrefslogtreecommitdiff
path: root/challenge-266/roger-bell-west/lua/ch-2.lua
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-266/roger-bell-west/lua/ch-2.lua')
-rwxr-xr-xchallenge-266/roger-bell-west/lua/ch-2.lua48
1 files changed, 48 insertions, 0 deletions
diff --git a/challenge-266/roger-bell-west/lua/ch-2.lua b/challenge-266/roger-bell-west/lua/ch-2.lua
new file mode 100755
index 0000000000..c16415bb87
--- /dev/null
+++ b/challenge-266/roger-bell-west/lua/ch-2.lua
@@ -0,0 +1,48 @@
+#! /usr/bin/lua
+
+function xmatrix(a)
+ local order = #a + 1
+ local valid = true
+ for y, row in ipairs(a) do
+ for x, value in ipairs(row) do
+ if x == y or x == order - y then
+ if value == 0 then
+ valid = false
+ end
+ else
+ if value ~= 0 then
+ valid = false
+ end
+ end
+ if not valid then
+ break
+ end
+ end
+ if not valid then
+ break
+ end
+ end
+ return valid
+end
+
+if xmatrix({{1, 0, 0, 2}, {0, 3, 4, 0}, {0, 5, 6, 0}, {7, 0, 0, 1}}) then
+ io.write("Pass")
+else
+ io.write("FAIL")
+end
+io.write(" ")
+
+if not xmatrix({{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}) then
+ io.write("Pass")
+else
+ io.write("FAIL")
+end
+io.write(" ")
+
+if xmatrix({{1, 0, 2}, {0, 3, 0}, {4, 0, 5}}) then
+ io.write("Pass")
+else
+ io.write("FAIL")
+end
+print("")
+