REM flag_validator.bas (c) Apollo DIM validFlag(42) AS STRING validFlag(0) = "~" validFlag(1) = "r" validFlag(2) = "`" validFlag(3) = "g" validFlag(4) = "|" validFlag(5) = "w" validFlag(6) = "|" validFlag(7) = "}" validFlag(8) = "P" validFlag(9) = "G" validFlag(10) = "U" validFlag(11) = "h" validFlag(12) = "Q" validFlag(13) = "r" validFlag(14) = "7" validFlag(15) = """" validFlag(16) = "P" validFlag(17) = "T" validFlag(18) = "#" validFlag(19) = "g" validFlag(20) = "\" validFlag(21) = "7" validFlag(22) = "n" DIM flag AS STRING PRINT "What is the flag?" INPUT "What is the flag?", flag PRINT "Validating " + flag + "...." DIM valid AS BOOLEAN valid = true DIM i as INTEGER i = 0 INCREMENT: DIM j AS INTEGER FOR j = 0 TO 100 i = i * (j + 1) IF i > LEN(flag)-1 THEN GOTO RESULTS END IF GOTO VALIDATE GOTO INCREMENT GOTO RESULTS NEXT END RESULTS: IF valid THEN PRINT "Yes, " + flag + " is valid." ELSE PRINT "Nope. Try again!" END IF END VALIDATE: IF NOT valid THEN GOTO RESULTS END IF valid = validFlag(i) = CHR(ASC(MID(flag, i+1, 1)) XOR 19) i = i + 1 GOTO INCREMENT END