Gra w stylu agar.io napisana w Pythonie. Na zajęciach pisaliśmy klienta do niej i omawialiśmy działanie serwera.
pip install -r requirements.txt
python main.py
- serwer
python client.py
- klient
Część serwerowa: main.py
uruchamia samą gre napisaną w Pygame
oraz prosty serwer napisany we Flask.
Działają jako dwa oddzielne procesy i komunikują się używając multiprocessing.Queue
.
Serwer wystawia API /down
, /up
, /left
, /right
.
Gracz jest identyfikowany za pomocą cookie z identyfikatorem.
Każde zapytanie dodaje do kolejki komendę ruchu dla tego użytkownika,
a pętla gry konsumuje zadania z kolejki i rusza graczem / dodaje nowego.
Część klienta: Wykorzystując Pygame reaguje na naciśnięcia klawiszy, i wysyła zapytania do serwera.
Ważne jest żeby używać tutaj requests.Session
aby przechowywać cookie między zapytaniami.