Skip to content

DarkSquirrelComes/tic-tac-toe-9000-tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

tic-tac-toe-9000-tasks

Как начать пользоваться этим проектом?

  1. Форкните проект.
  2. В ветке tasks находятся (и периодически появляются) заготовки, которые вам нужно выкачивать, заливать в свой develop и, собственно, имплементировать.
  3. Когда захотите сдать задание убедитесь, что у вас выполняются все тесты и нет ошибок mypy. После этого откройте pull-request из вашего develop в ваш же main, не забыв поставить меня (ник DarkSquirrelComes) в ревьюеры. Пингуйте, пока не посмотрю!
  4. Если промотать вниз, то там будут задания!

Мини-гайд по гиту...

  1. Установите питон. https://www.python.org/downloads/windows/

    Для проверки в консоли можете написать

    python --version
  2. Установите VSCode (или PyCharm, но VSCode мне нравится чуть больше для наших целей).

  3. Установите Git (и Git Bash в Винде, они вроде вместе ставятся).

  4. (только для винды). Установите в вашей IDE Git Bash как дефолтный терминал.

    VSCode

    PyCharm

  5. Клонируйте ваш репозиторий (вставьте ссылку на ваш репозиторий)!

    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
  6. Откройте то, что склонировали как папку (или как проект) вашим редактором (IDE).

  7. "Подключитесь" к оригинальному репозиторию, дабы иметь возможность брать оттуда задания.

    git remote add upstream https://github.com/DarkSquirrelComes/tic-tac-toe-9000-tasks.git
  8. Небольшой гайд.

    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
  9. Добавьте меня как участника в настройках репозитория (гуглить add colaborator).

  10. Когда внесёте в свой develop все свои изменения, сделайте pull-request в ваш же main и не забудьте добавить меня ревьюером!

Задание 1

Реализуйте все методы в 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().

Задание 2

В коллабе ниже приведён небольшой набор примеров использования библиотеки requests. Смысл его в том, чтобы вы пощупали на конкретных примерах как работает протокол HTTP. Теорию я писать не стал, вам в целом досточно будет собержания статьи на википедии.

Не факт, что конкретно requests мы вообще будем использовать в проекте. Мы эти запросы точно будем обрабатывать. А вот как будет выглядеть клиент, который эти запросы будет делать - вопрос пока открытый.

https://colab.research.google.com/drive/15-IUWCh5u3gQDAnyDEtEVzVioFi6iNaA?usp=sharing

Задание 3

Хорошо, мы умеем играть в одну игру и с одним пользователем. Но если мы пишем веб-сервис, то хочется непрерывно уметь обслуживать кучу пользователей, создавать игры и завершать игры. (В перспективе мы добавим игру игрока с игроком, но не сегодня).

Что нужно сделать?

Написать класс TicTacToeApp, который будет наследоваться от AbstractTicTacToeApp. Объект этого класса будет обслуживать сразу множество партий. Вызовы его мтодов примерно будут соответвовать http-запросам, обработку которых мы приделаем позднее.

Я не думаю, что для его реализации нужны какие-то особенные инструкциию. Все смотрите на типы!!!

Задание 4

Опишите список енд-поинтов в файле api.md. В нём есть некоторый набросок того, как это нужно делать.

Задание 5

Реализуйте на Flask тот API, который описали в предыдущем задании. (Мб будут уточнения, задание в процессе).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published