209 lines
2.2 KiB
GDScript
209 lines
2.2 KiB
GDScript
extends RefCounted
|
|
|
|
|
|
const boxed_map: Dictionary = {
|
|
'a': """
|
|
▒▄▀█
|
|
░█▀█
|
|
""",
|
|
'b': """
|
|
░█▄▄
|
|
▒█▄█
|
|
""",
|
|
'c': """
|
|
░▄▀▀
|
|
░▀▄▄
|
|
""",
|
|
'd': """
|
|
▒█▀▄
|
|
░█▄▀
|
|
""",
|
|
'e': """
|
|
░██▀
|
|
▒█▄▄
|
|
""",
|
|
'f': """
|
|
░█▀▀
|
|
░█▀░
|
|
""",
|
|
'g': """
|
|
▒▄▀▀
|
|
░▀▄█
|
|
""",
|
|
'h': """
|
|
░█▄█
|
|
▒█▒█
|
|
""",
|
|
'i': """
|
|
░█
|
|
░█
|
|
""",
|
|
'j': """
|
|
░░▒█
|
|
░▀▄█
|
|
""",
|
|
'k': """
|
|
░█▄▀
|
|
░█▒█
|
|
""",
|
|
'l': """
|
|
░█▒░
|
|
▒█▄▄
|
|
""",
|
|
'm': """
|
|
▒█▀▄▀█
|
|
░█▒▀▒█
|
|
""",
|
|
'n': """
|
|
░█▄░█
|
|
░█▒▀█
|
|
""",
|
|
'o': """
|
|
░█▀█
|
|
▒█▄█
|
|
""",
|
|
'p': """
|
|
▒█▀█
|
|
░█▀▀
|
|
""",
|
|
'q': """
|
|
░▄▀▄
|
|
░▀▄█
|
|
""",
|
|
'r': """
|
|
▒█▀█
|
|
░█▀▄
|
|
""",
|
|
's': """
|
|
░▄▀
|
|
▒▄█
|
|
""",
|
|
't': """
|
|
░▀█▀
|
|
░▒█▒
|
|
""",
|
|
'u': """
|
|
░█░█
|
|
▒█▄█
|
|
""",
|
|
'v': """
|
|
░█░█
|
|
▒▀▄▀
|
|
""",
|
|
'w': """
|
|
▒█░█░█
|
|
░▀▄▀▄▀
|
|
""",
|
|
'x': """
|
|
░▀▄▀
|
|
░█▒█
|
|
""",
|
|
'y': """
|
|
░▀▄▀
|
|
░▒█▒
|
|
""",
|
|
'z': """
|
|
░▀█
|
|
▒█▄
|
|
""",
|
|
' ': """
|
|
░
|
|
░
|
|
""",
|
|
'_': """
|
|
░░░
|
|
▒▄▄
|
|
""",
|
|
',': """
|
|
░▒
|
|
░█
|
|
""",
|
|
'.': """
|
|
░░
|
|
░▄
|
|
""",
|
|
'!': """
|
|
░█
|
|
░▄
|
|
""",
|
|
'-': """
|
|
░▒░
|
|
░▀▀
|
|
""",
|
|
'?': """
|
|
░▀▀▄
|
|
░▒█▀
|
|
""",
|
|
'\'': """
|
|
░▀
|
|
░░
|
|
""",
|
|
':': """
|
|
░▄░
|
|
▒▄▒
|
|
""",
|
|
'0': """
|
|
░▄▀▄
|
|
░▀▄▀
|
|
""",
|
|
'1': """
|
|
░▄█
|
|
░░█
|
|
""",
|
|
'2': """
|
|
░▀█
|
|
░█▄
|
|
""",
|
|
'3': """
|
|
░▀██
|
|
░▄▄█
|
|
""",
|
|
'4': """
|
|
░█▄
|
|
░░█
|
|
""",
|
|
'5': """
|
|
░█▀
|
|
░▄█
|
|
""",
|
|
'6': """
|
|
░█▀
|
|
░██
|
|
""",
|
|
'7': """
|
|
░▀█
|
|
░█░
|
|
""",
|
|
'8': """
|
|
░█▄█
|
|
░█▄█
|
|
""",
|
|
'9': """
|
|
░██
|
|
░▄█
|
|
""",
|
|
}
|
|
|
|
const unsupported_char := """
|
|
░▒░
|
|
▒░▒
|
|
"""
|
|
|
|
|
|
static func str_to_boxed_art(p_text: String) -> PackedStringArray:
|
|
var lines: PackedStringArray = []
|
|
lines.resize(2)
|
|
for c in p_text:
|
|
var ascii: String = boxed_map.get(c.to_lower(), unsupported_char)
|
|
var parts: PackedStringArray = ascii.split('\n')
|
|
lines[0] += parts[1]
|
|
lines[1] += parts[2]
|
|
return lines
|
|
|
|
|
|
static func is_boxed_art_supported(p_text: String) -> bool:
|
|
for c in p_text:
|
|
if not boxed_map.has(c.to_lower()):
|
|
return false
|
|
return true
|