option explicit
sub createMap
const xMax = 14
const yMax = 14
const iChecked = 1
const iName = 2
dim sXml
dim isChecked
dim thisCheck
dim map(15, 15, 2)
dim thisName
dim sId
dim x
dim y
dim outputType
dim outputElement
sXml = ""
set outputElement = document.forms(0).rdoOutputType
if outputElement(0).checked then
outputType = "QML"
else
outputType = "SVG"
end if
for y = 1 to yMax
for x = 1 to xMax
sId = "x" & x & "y" & y
set thisCheck = document.getElementById(sId)
map(x, y, iChecked) = cBool(thisCheck.checked)
set thisName = document.getElementById("name" & sId)
map(x, y, iName) = cStr(thisName.value)
next
next
select case outputType
case "QML":
sXml = getQml(map, xMax, yMax)
case "SVG":
sXml = getSvg(map, xMax, yMax)
end select
document.getElementById("output").value = sXml
end sub
function getSvg(map, xMax, yMax)
const iChecked = 1
const iName = 2
const zoom = 10
dim x
dim y
dim sXml
dim sPolylines
dim sHead
dim sPoints
dim width
dim height
dim sText
dim xOff
dim yOff
dim nX
dim nY
sPolylines = ""
sText = ""
sPoints = ""
width = ( xMax * (zoom * 2 + 2) )
height = ( yMax * (zoom * 2 + 2) )
sHead = sHead & "" & vbNewline
sHead = sHead & "" & vbNewline
sHead = sHead & "" & vbNewline
getSvg = sXml
end function
function getQml(map, xMax, yMax)
const iChecked = 1
const iName = 2
dim x
dim y
dim sXml
dim sHead
sXml = ""
sHead = sHead & "" & vbNewline
sHead = sHead & "" & vbNewline & vbNewline
sHead = sHead & " " & vbNewline
sHead = sHead & " QML Map" & vbNewline
sHead = sHead & " Map Wizard" & vbNewline
sHead = sHead & " " & vbNewline & vbNewline
for y = 1 to yMax
for x = 1 to xMax
if map(x, y, iChecked) then
sXml = sXml & "" & vbNewline
sXml = sXml & "" & vbNewline
sXml = sXml & "You're in " & map(x, y, iName) & "."
sXml = sXml & "" & vbNewline
if map(x, y - 1, iChecked) then
sXml = sXml & ""
sXml = sXml & "Go north to " & map(x, y - 1, iName)
sXml = sXml & "" & vbNewline
end if
if map(x, y + 1, iChecked) then
sXml = sXml & ""
sXml = sXml & "Go south to " & map(x, y + 1, iName)
sXml = sXml & "" & vbNewline
end if
if map(x - 1, y, iChecked) then
sXml = sXml & ""
sXml = sXml & "Go west to " & map(x - 1, y, iName)
sXml = sXml & "" & vbNewline
end if
if map(x + 1, y, iChecked) then
sXml = sXml & ""
sXml = sXml & "Go east to " & map(x + 1, y, iName)
sXml = sXml & "" & vbNewline
end if
sXml = sXml & "" & vbNewline & vbNewline
end if
next
next
sXml = replace(sXml, vbNewline, vbNewline & " ")
sXml = sHead & sXml & vbNewline
sXml = sXml & ""
getQml = sXml
end function
sub openStationInfo(byVal nameOf)
dim thisDiv
dim thisCheck
set thisCheck = document.getElementById(nameOf)
if thisCheck.checked then
set thisDiv = document.getElementById("div" & nameOf)
thisDiv.style.display = "block"
document.getElementById("td" & nameOf).style.backgroundColor = "rgb(250,250,220)"
else
document.getElementById(nameOf).title = ""
document.getElementById("td" & nameOf).style.backgroundColor = "rgb(240,240,240)"
end if
end sub
sub closeStationInfo(byVal nameOf)
dim thisDiv
set thisDiv = document.getElementById("div" & nameOf)
document.getElementById(nameOf).title = document.getElementById("name" & nameOf).value
thisDiv.style.display = "none"
end sub