Skip to content

Instantly share code, notes, and snippets.

@aaangeletakis
Last active November 13, 2017 21:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aaangeletakis/e64e17385908ae7ff70f5564929c4837 to your computer and use it in GitHub Desktop.
Save aaangeletakis/e64e17385908ae7ff70f5564929c4837 to your computer and use it in GitHub Desktop.
def indent(num):
  stringy = ""
  for x in range(0, num):
    stringy += "  "
  return stringy
  
funcName = "introCredit"

lines = """
By Alexios Angel
"""

startOfLineThingToAdd = "return \""
endOfLineThingToAdd = "\";"

a = 0
  
f = lines.splitlines()
c = len(f)
"unsigned char& line"
funcky = "std::string %s(%s)"%(funcName, "" if c == 1 else ("unsigned char& line" if c <= 255 else "unsigned short& line"))
print(funcky)
print("{")
if c > 1: print("%sswitch(line){"%(indent(1)))
for line in f:
    if line != "":
      print(("%scase %s: %s%s%s break;"%(indent(2), a, startOfLineThingToAdd, line, endOfLineThingToAdd)) if c > 1 else "%s%s%s%s"%(indent(1), startOfLineThingToAdd, line, endOfLineThingToAdd))
      #print("%s%s%s%s%s%s"%("  ", "case", startOfLineThingToAdd, line, endOfLineThingToAdd)
      a += 1
if c > 1: print("%sdefualt:\n%sstd::cout << \"ERROR: \\\"%s\\\"\" << std::endl;\n%sbreak;\n%s}"%(indent(2), indent(3), funcky, indent(3), indent(1)))
print("%s}"%("" if c == 1 else "  return \"\";\n"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment