Добавление бэкэнда
This commit is contained in:
44
generate.py
44
generate.py
@@ -36,56 +36,56 @@ def check_win(board) -> str:
|
||||
[0, 3, 6], [1, 4, 7], [2, 5, 8], # columns
|
||||
[0, 4, 8], [2, 4, 6] # diagonals
|
||||
]
|
||||
return next((board[line[0]] for line in lines if board[line[0]] == board[line[1]] == board[line[2]] != '□'), '□')
|
||||
return next((board[line[0]] for line in lines if board[line[0]] == board[line[1]] == board[line[2]] != '-'), '-')
|
||||
|
||||
minify = lambda s: s.replace('\n', '').replace('\t', '').replace(' ', '')
|
||||
files = {
|
||||
'index':
|
||||
minify('''<meta property="og:type" content="website"><meta property="og:url" content="ToDo"><title>oxTicTacToe</title>
|
||||
<h1>oxTicTacToe.html</h1><p>Select team for start [ <a href="o□□□□□□□□□.html">O</a> | <a href="x□□□□□□□□□.html">X</a> ]</p>
|
||||
<a href="https://git.0x174.su/wowlikon/oxTTT">source code</a><script src="s.js"></script>''')
|
||||
minify(f"""{'<meta property="og:url" content="ToDo">' if server_mode else ''}<title>oxTicTacToe</title>
|
||||
<h1>oxTicTacToe.html</h1><p>Select team for start [ <a href="o---------.html">O</a> | <a href="x---------.html">X</a> ]</p>
|
||||
<a href="https://git.0x174.su/wowlikon/oxTTT">source code</a><script src="s.js"></script>""")
|
||||
}
|
||||
|
||||
try: iterable = tqdm(itertools.product('□xo', repeat=10))
|
||||
except: iterable = itertools.product('□xo', repeat=10)
|
||||
try: iterable = tqdm(itertools.product('-xo', repeat=10))
|
||||
except: iterable = itertools.product('-xo', repeat=10)
|
||||
for field_tuple in iterable:
|
||||
field = ''.join(field_tuple)
|
||||
if abs(field.count('x') - field.count('o')) > 1 or field[0] == '□': continue
|
||||
if abs(field.count('x') - field.count('o')) > 1 or field[0] == '-': continue
|
||||
win = check_win(list(field[1:]))
|
||||
np = "x" if field.startswith("o") else "o"
|
||||
line = lambda n: (np + field[1:])[:n] + field[0] + (np + field[1:])[n+1:] + '.html'
|
||||
if win != '□':
|
||||
if win != '-':
|
||||
line = lambda n: "index.html"
|
||||
title = f'WIN {win}'
|
||||
elif '□' not in field:
|
||||
elif '-' not in field:
|
||||
line = lambda n: "index.html"
|
||||
title = f'Draft'
|
||||
else: title = field[0]
|
||||
content = minify(f"""<meta property="og:type" content="website"><meta property="og:url" content="ToDo">
|
||||
content = minify(f"""{'<meta property="og:url" content="ToDo">' if server_mode else ''}
|
||||
<title>oxTTT:{title}</title><h1><a href="{line(0)}">{title}</a></h1>
|
||||
<table>
|
||||
<tr>
|
||||
<td>{'' if field[1] != '□' else f'<a href="{line(1)}">'}{field[1]}{'' if field[1] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[2] != '□' else f'<a href="{line(2)}">'}{field[2]}{'' if field[2] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[3] != '□' else f'<a href="{line(3)}">'}{field[3]}{'' if field[3] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[1] != '-' else f'<a href="{line(1)}">'}{field[1].replace('-', '□')}{'' if field[1] != '-' else '</a>'}</td>
|
||||
<td>{'' if field[2] != '-' else f'<a href="{line(2)}">'}{field[2].replace('-', '□')}{'' if field[2] != '-' else '</a>'}</td>
|
||||
<td>{'' if field[3] != '-' else f'<a href="{line(3)}">'}{field[3].replace('-', '□')}{'' if field[3] != '-' else '</a>'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{'' if field[4] != '□' else f'<a href="{line(4)}">'}{field[4]}{'' if field[4] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[5] != '□' else f'<a href="{line(5)}">'}{field[5]}{'' if field[5] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[6] != '□' else f'<a href="{line(6)}">'}{field[6]}{'' if field[6] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[4] != '-' else f'<a href="{line(4)}">'}{field[4].replace('-', '□')}{'' if field[4] != '-' else '</a>'}</td>
|
||||
<td>{'' if field[5] != '-' else f'<a href="{line(5)}">'}{field[5].replace('-', '□')}{'' if field[5] != '-' else '</a>'}</td>
|
||||
<td>{'' if field[6] != '-' else f'<a href="{line(6)}">'}{field[6].replace('-', '□')}{'' if field[6] != '-' else '</a>'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{'' if field[7] != '□' else f'<a href="{line(7)}">'}{field[7]}{'' if field[7] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[8] != '□' else f'<a href="{line(8)}">'}{field[8]}{'' if field[8] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[9] != '□' else f'<a href="{line(9)}">'}{field[9]}{'' if field[9] != '□' else '</a>'}</td>
|
||||
<td>{'' if field[7] != '-' else f'<a href="{line(7)}">'}{field[7].replace('-', '□')}{'' if field[7] != '-' else '</a>'}</td>
|
||||
<td>{'' if field[8] != '-' else f'<a href="{line(8)}">'}{field[8].replace('-', '□')}{'' if field[8] != '-' else '</a>'}</td>
|
||||
<td>{'' if field[9] != '-' else f'<a href="{line(9)}">'}{field[9].replace('-', '□')}{'' if field[9] != '-' else '</a>'}</td>
|
||||
</tr>
|
||||
</table><script src="s.js"></script>""")
|
||||
files[field] = f"{'<a href="../index.html">' if win != '□' else ''}{content}{'</a>' if win != '□' else ''}"
|
||||
files[field] = f"{'<a href="../index.html">' if win != '-' else ''}{content}{'</a>' if win != '-' else ''}"
|
||||
|
||||
os.makedirs(path, exist_ok=True)
|
||||
for filename, content in files.items():
|
||||
with open(f"{path}{filename}{'.html' if file_mode else ''}", 'w+', encoding='utf-8') as f:
|
||||
f.write(content.replace('.html') if server_mode else content)
|
||||
with open(f'{path}{filename}{".html" if file_mode else ""}', 'w+', encoding='utf-8') as f:
|
||||
f.write(('<meta property="og:type" content="website">' if server_mode else '')+(content.replace('.html', '') if server_mode else content))
|
||||
|
||||
with open(f'{path}s.js', 'w+', encoding='utf-8') as f:
|
||||
f.write(minify("""
|
||||
|
||||
Reference in New Issue
Block a user