Code

Archaeological Site Map

Roman Sundial
🛈
Help
 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ
``` a = "XXLV"
b = "VIII"
key = LEFT(a,2) + RIGHT(b,3)

OUTPUT key

/*
If you have worked out this key,
pin it on the archeological map
(see tab above) to locate a piece
of the Roman sundial.
*/
```
``` a = "I"
b = "V"
c = "X"
key = 3*c + b + 3*a

OUTPUT key ```
``` a="II"
b="VI"

temp = a
a = b
b = temp
key = a + b

OUTPUT key
```
``` a = CHR(88)
b = CHR(86)
c = CHR(73)
key = a + a + b + c + c

OUTPUT key

/* --------------------------------------
HELP:
The ASCII code for character A is 65
-----------------------------------------*/```
``` numerals = ["I","V","X","L","C","D","M"]
key = numerals
key = key + numerals
key = key + numerals
key = key +  numerals

OUTPUT key
```
``` key = ""
FOR i FROM 1 TO 3
key = key + "X"
NEXT i

key = key + "V"

FOR i FROM 1 TO 2
key = key + "I"
NEXT i

OUTPUT key```
``` key = "XL"
WHILE LENGTH(key)<5
key = key + "I"
END WHILE

OUTPUT Key```
``` key = ""
longKey = "XVXIIVV"

FOR i FROM 0 TO LENGTH(key)-1 STEP 2
key = key + longKey[i]
NEXT i

OUTPUT key
```
``` #Roman Invasion of Brittain
IF LEFT(date,2)=="BC" THEN
key = "XX"
ELSE
key = "XL"
END IF

year = INT(RIGHT(date, 2))
n = year MOD 10
key = key + n*"I"

OUTPUT key```
``` emperor = "Claudius"
IF LENGTH(emperor) MOD 2 == 1 THEN
key = "XXIX"
ELSE
key = "IX"
END IF

IF LENGTH(key)<=2 THEN
key = "X" + key
ELSE
key = key + "X"
END IF

OUTPUT key
```
``` FUNCTION reverse(text)
newText = ""
FOR i FROM 0 TO LENGTH(text)-1
newText = text[i] + newText
NEXT i
RETURN newText
END FUNCTON

key = reverse("IIIVX")

OUTPUT Key
```
``` encryptedKey = "ESCPPP"

This key was encrypted using a Caesar Shift Cipher,
an encryption method used by Roman emperor
Julius Caesar to encrypt military messages.

The key to decrypt this message is 7.
```             There is nothing here!

You have found one piece of of the lost roman sundial:            ```String Manipulation
string = "abcdef"
LENGTH(string) would return the number of characters in the string (e.g. 6)
LEFT(string,3) would return the first 3 characters of the string (e.g. "abc")
RIGHT(string,3) would return the last 3 characters of the string (e.g. "def")

MOD & DIV
DIV is the quotient of a division, whereas MOD is the remainder.
For instance: 20 / 3 = 6 remainder 2
So:
20 DIV 3 would return 6
20 MOD 3 would return 2

ASCII Codes
Check the following ASCII table to lookup the right codes.
```