Прикреплённый файл «DungeonMap_gen.py»
Загрузка 1 #!/usr/bin/env python3
2 '''
3 '''
4
5 # argv: 10 12 5 5
6
7 import sys
8 import random
9 import itertools
10 import os
11
12 def Print(*ap, **an):
13 print(*ap, **an)
14 if not os.isatty(sys.stdout.fileno()):
15 print(*ap, **an, file=sys.stderr)
16
17 N = 10 if len(sys.argv)<2 else int(sys.argv[1])
18 R = N*3//2 if len(sys.argv)<3 else int(sys.argv[2])
19 with open(os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])),"google-10000-english.txt")) as f:
20 words = [w for w in f.read().split() if 2<len(w)<8]
21 random.shuffle(words)
22 words = words[:N]
23
24 s = 0
25 res = []
26 From, To = words[0], words[-1]
27 for sn in sys.argv[3:] or [N]:
28 n = int(sn)
29 gen = []
30 while len(gen)<n*R/N:
31 inp = words[s:s+n]
32 random.shuffle(inp)
33 gen.extend(list(zip(inp[:-1],inp[1:])))
34 res.extend(gen[:1+n*R//N])
35 print("*",*set(itertools.chain(*gen[:1+n*R//N])), file=sys.stderr)
36 s += n
37 random.shuffle(res)
38 for a,b in res:
39 Print("{} {}".format(*((a,b) if random.randrange(2) else (b,a))))
40 Print(From,To,sep="\n")
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2019-10-31 22:57:01, 1.0 KB) [[attachment:DungeonMap_gen.py]]
- [получить | показать] (2019-10-31 22:57:28, 0.9 KB) [[attachment:FarGalaxy_gen.py]]
Вам нельзя прикреплять файлы к этой странице.