mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 12:21:52 +09:00
Collision detector fixing on going, hangul combining (johab) font
Former-commit-id: d225fb399ea7ca6c80da1fa35db3c13a1505f1cc Former-commit-id: e218312c567bb7b2ea30961076e8bd24a8f2c131
This commit is contained in:
126
work_files/Tools/crypto-hangul.py
Normal file
126
work_files/Tools/crypto-hangul.py
Normal file
@@ -0,0 +1,126 @@
|
||||
# encoding: utf-8
|
||||
|
||||
import sys
|
||||
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
|
||||
|
||||
def encrypt(ch):
|
||||
base = 0xAC00
|
||||
|
||||
if ord(ch) == 0x20:
|
||||
return '모'
|
||||
|
||||
if ord(ch) < 0xAC00 or ord(ch) > 0xD7A3:
|
||||
return ''
|
||||
|
||||
crypt_initials = [
|
||||
'거',
|
||||
'거거',
|
||||
'로',
|
||||
'자',
|
||||
'자자',
|
||||
'가',
|
||||
'라',
|
||||
'러',
|
||||
'러러',
|
||||
'구',
|
||||
'구구',
|
||||
'', # ㅇ
|
||||
'저',
|
||||
'저저',
|
||||
'마',
|
||||
'조',
|
||||
'머',
|
||||
'고',
|
||||
'주'
|
||||
]
|
||||
|
||||
crypt_medians = [
|
||||
'그',
|
||||
'지',
|
||||
'디',
|
||||
'지',
|
||||
'리',
|
||||
'르',
|
||||
'기',
|
||||
'으',
|
||||
'므',
|
||||
'므그',
|
||||
'므지',
|
||||
'므미',
|
||||
'이',
|
||||
'드',
|
||||
'드리',
|
||||
'드르',
|
||||
'드미',
|
||||
'비',
|
||||
'즈',
|
||||
'브',
|
||||
'미'
|
||||
]
|
||||
|
||||
crypt_finals = [
|
||||
'', # x
|
||||
'더', # ㄱ
|
||||
'더더',
|
||||
'더오',
|
||||
'어',
|
||||
'어무',
|
||||
'어아',
|
||||
'루',
|
||||
'보',
|
||||
'보더',
|
||||
'보버',
|
||||
'보다',
|
||||
'보오',
|
||||
'보부',
|
||||
'보우',
|
||||
'보아',
|
||||
'버',
|
||||
'다',
|
||||
'다오',
|
||||
'오',
|
||||
'바',
|
||||
'도',
|
||||
'무',
|
||||
'두',
|
||||
'두',
|
||||
'부',
|
||||
'우',
|
||||
'아'
|
||||
]
|
||||
|
||||
key = ord(ch) - base
|
||||
size_f = len(crypt_finals)
|
||||
size_m = len(crypt_medians)
|
||||
|
||||
initial = key / (size_m * size_f)
|
||||
median = (key / size_f) % size_m
|
||||
final = key % size_f
|
||||
|
||||
return crypt_initials[initial] + crypt_medians[median] + crypt_finals[final]
|
||||
|
||||
|
||||
plainmsg = u'''동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세
|
||||
남산 위에 저 소나무 철갑을 두른 듯 바람서리 불변함은 우리 기상일세
|
||||
가을 하늘 공활한데 높고 구름 없이 밝은 달은 우리 가슴 일편단심일세
|
||||
무궁화 삼천리 화려강산 대한 사람 대한으로 길이 보전하세'''
|
||||
cryptmsg = []
|
||||
|
||||
width = 24
|
||||
|
||||
for i in range(len(plainmsg)):
|
||||
crypted = unicode(encrypt(plainmsg[i]))
|
||||
|
||||
for j in range(len(crypted)):
|
||||
cryptmsg.append(crypted[j])
|
||||
|
||||
for i in range(len(cryptmsg)):
|
||||
if i % width == 0 and i > 0:
|
||||
sys.stdout.write("\n")
|
||||
|
||||
sys.stdout.write(cryptmsg[i])
|
||||
|
||||
sys.stdout.write("\n")
|
||||
Reference in New Issue
Block a user