42 lines
907 B
Python
42 lines
907 B
Python
import dotenv
|
|
import logging
|
|
from pysuchsel.Alphabet import Alphabet
|
|
from pysuchsel.Suchsel import Suchsel
|
|
from pysuchsel.RandomDist import RandomDist
|
|
from util import file_name
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def main() -> int:
|
|
dotenv.load_dotenv()
|
|
logging.basicConfig(level=logging.INFO, format='%(message)s')
|
|
|
|
plcrule = RandomDist({
|
|
"lr": 1,
|
|
"tb": 1,
|
|
})
|
|
|
|
# w: 1275
|
|
# h: 1651
|
|
suchsel = Suchsel(10, 10, plcrule, 5)
|
|
words = ['TOWER', 'HAIR', 'PRINCESS', 'GOLDEN', 'RAPUNZEL']
|
|
unplaced = []
|
|
for word in words:
|
|
placed = suchsel.place(word, contiguous=False)
|
|
if not placed:
|
|
unplaced.append(word)
|
|
|
|
# TODO: optimize
|
|
print('UNPLACE: %s' % unplaced)
|
|
|
|
filler = Alphabet('en')
|
|
suchsel.fill(filler)
|
|
suchsel.write_svg(file_name('tangled', 'svg'))
|
|
|
|
return 0
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|