from flask import Flask, redirect, url_for, request
import random
import string
app = Flask(__name__)
rooms = {} # здесь будем хранить комнаты и игроков, которые к ним подключились
def generate_room_code(): # функция генерация id комнаты
return ''.join(random.choices(string.ascii_uppercase, k=4))
@app.route('/')
def index(): # тут делаем стартовую страницу. Сейчас это зашито прямо в скрипт, но можно возвращать файл
return '''
<!doctype html>
<html>
<head>
<title>Новая игра</title>
</head>
<body>
<h1>Добро пожаловать!</h1>
<a href="/start">Начать новую игру</a>
</body>
</html>
'''
@app.route('/start')
def start(): # это будет выполняться после нажатия на ссылку "Начать игру"
room_code = generate_room_code()
rooms[room_code] = [] # тут добавляем id комнаты. Список пустой, т. к. игроков ещё нет
return redirect(url_for('waiting_room', room_code=room_code)) # перенаправляем пользователя в комнату
@app.route('/waiting/<room_code>')
def waiting_room(room_code): # тут делаем комнату.
if room_code not in rooms:
return "Not found", 404 # если нет такой комнаты
return f'''
<!doctype html>
<html>
<head>
<title>Комната</title>
</head>
<body>
<h1>Комната {room_code}</h1>
<form action="/join" method="post">
<input type="hidden" name="room_code" value="{room_code}">
<input type="text" name="player_name" placeholder="Имя">
<button type="submit">Присоединиться</button>
</form>
<h2>Игроки:</h2>
<ul>
{''.join([f'<li>{player}</li>' for player in rooms[room_code]])}
</ul>
</body>
</html>
'''
@app.route('/join', methods=['POST'])
def join_room(): # обрабатываем запрос на присоединение
room_code = request.form['room_code']
player_name = request.form['player_name']
if room_code in rooms:
# добавляем игрока и перенаправляем его обратно
rooms[room_code].append(player_name)
return redirect(url_for('waiting_room', room_code=room_code))
return "Not found", 404
if __name__ == '__main__':
app.run(debug=True)
Беда в том, что довольно трудно найти хорошо написанный код, который можно было обозреть целиком.бесполезное занятие, больше похоже на прокрастинацию, короче пока сам не начнешь понимать какой код "красивый", какой нет (а это только когда сам напишешь кучу кода), толку от рассматривания не будет.
:root {
--primary-color: #f9f9f9;
--text-color: #424242;
}
:root.dark-mode {
--primary-color: #161625;
--text-color: #e1e1ff;
}
body {
background: var(--primary-color);
color: var(--text-color);
}
grub-install /dev/sdX --root-directory=/mnt
Что вообще с фреймворком? Он развивается?
Если да то в какую сторону и что слышно про Vue 4?
Про React знаю, но интересуют именно Vue и ему подобные фреймворки
Невольно думается, что это заговор производителей: чтобы горели, а мы шли новые покупать.