- Форкните проект.
- В ветке tasks находятся (и периодически появляются) заготовки, которые вам нужно выкачивать, заливать в свой develop и, собственно, имплементировать.
- Когда захотите сдать задание убедитесь, что у вас выполняются все тесты и нет ошибок mypy. После этого откройте pull-request из вашего develop в ваш же main, не забыв поставить меня (ник DarkSquirrelComes) в ревьюеры. Пингуйте, пока не посмотрю!
- Если промотать вниз, то там будут задания!
-
Установите питон. https://www.python.org/downloads/windows/
Для проверки в консоли можете написать
python --version
-
Установите VSCode (или PyCharm, но VSCode мне нравится чуть больше для наших целей).
-
Установите Git (и Git Bash в Винде, они вроде вместе ставятся).
-
(только для винды). Установите в вашей IDE Git Bash как дефолтный терминал.
-
Клонируйте ваш репозиторий (вставьте ссылку на ваш репозиторий)!
git clone https://github.com/VasyaPupkin/tic-tac-toe-9000-tasks.git
Можете клонировать, указав папку, куда хотите клонировать. (~ - это домашняя директория вашего пользователя).
git clone https://github.com/VasyaPupkin/tic-tac-toe-9000-tasks.git ~/my/favorite/folder
-
Откройте то, что склонировали как папку (или как проект) вашим редактором (IDE).
-
"Подключитесь" к оригинальному репозиторию, дабы иметь возможность брать оттуда задания.
git remote add upstream https://github.com/DarkSquirrelComes/tic-tac-toe-9000-tasks.git
-
Небольшой гайд.
7.1.0 как создать ветку?
git checkout -b my-branch
7.1.1 как переключиться на ветку?
git checkout my-branch
7.2 Как выкачать свежее содержимое моей (Вадима Евгеньевича в смысле) ветки tasks?
git checkout tasks git fetch upstream git rebase upstream/tasks
7.3 Как влить изменения из tasks в develop?
git checkout develop git merge tasks
7.4 Мне уже лень писать, вспомните/погуглите сами как работают команды...
git status git add git commit git push
-
Добавьте меня как участника в настройках репозитория (гуглить add colaborator).
-
Когда внесёте в свой develop все свои изменения, сделайте pull-request в ваш же
main
и не забудьте добавить меня ревьюером!
Реализуйте все методы в https://github.com/DarkSquirrelComes/tic-tac-toe-9000-tasks/blob/main/game_engine/tic_tac_toe_game.py
Пример использования можете посмотреть в https://github.com/DarkSquirrelComes/tic-tac-toe-9000-tasks/blob/main/game_engine_test.py
Этот самый тест можно запустить или с помощью pytest
pytest test_game_engine.py
или просто выполнив функцию test_scenario()
.
В коллабе ниже приведён небольшой набор примеров использования библиотеки requests. Смысл его в том, чтобы вы пощупали на конкретных примерах как работает протокол HTTP. Теорию я писать не стал, вам в целом досточно будет собержания статьи на википедии.
Не факт, что конкретно requests мы вообще будем использовать в проекте. Мы эти запросы точно будем обрабатывать. А вот как будет выглядеть клиент, который эти запросы будет делать - вопрос пока открытый.
https://colab.research.google.com/drive/15-IUWCh5u3gQDAnyDEtEVzVioFi6iNaA?usp=sharing
Хорошо, мы умеем играть в одну игру и с одним пользователем. Но если мы пишем веб-сервис, то хочется непрерывно уметь обслуживать кучу пользователей, создавать игры и завершать игры. (В перспективе мы добавим игру игрока с игроком, но не сегодня).
Что нужно сделать?
Написать класс TicTacToeApp, который будет наследоваться от AbstractTicTacToeApp. Объект этого класса будет обслуживать сразу множество партий. Вызовы его мтодов примерно будут соответвовать http-запросам, обработку которых мы приделаем позднее.
Я не думаю, что для его реализации нужны какие-то особенные инструкциию. Все смотрите на типы!!!
Опишите список енд-поинтов в файле api.md
. В нём есть некоторый набросок того, как это нужно делать.
Реализуйте на Flask тот API, который описали в предыдущем задании. (Мб будут уточнения, задание в процессе).