По поводу Git:
* документацию все-таки нужно почитать :) ты всегда коммитишь в новую ветку - посмотри вкладку Network. нужно вставлять либо в commit либо в push в конце origin master
* файлы .pydevproject и .project продолжают добавляться. нужно следить за этим (убирать: 'rm --cache <file>') или посмотреть как их убрать из индекса навсегда
По игре:
* я могу, к примеру, каждые 5 секунд посылать POST online=1 (пока этого нет) на главную страницу или на отдельный url, ты можешь это проверять, заносить в базу данных, и как только нас окажется в онлайне двое - создавать игру. еще ник игрока стоит внести как запись в базу. cookies обработать я тоже смогу.
*
playing.py - делает все:
ты посылаешь запрос post на /gameprocess2 с параметром mode.
Когда не твой ход ты посываешь запросы с mode = 'waiting',
и я жду 20 секунд, но если очередь хода на перешла к тебе,
то возвращаю тебе status(о нем далее), если очередь не перешла к тебе,
то я все равно возвращаю status(через 20 сек),
когда игрок нажимает на квадратик(ходит),
то ты посылаешь мне запрос mode = 'moving' и с параметрами x и y.
я в любом случае верну status(и возможно схожу).
также можешь послать mode = 'ask' и я верну status
О status:
если соперник offline, то я верну 'opponent_offline'
иначе если игра окенчена, то верну 'win '/'lose ' + winning_string (winning_string в старом формате)
если игра продолжается, то 'moving '/'waiting ' + board_string (о ней далее)
О board_string:
boardstring := list of {'X'/'O' + ' ' + x + ' ' + 'y'} joined by comma
for example: boardstring = "X 0 0,O 0 2,O 1 1,X 2 0,O 2 2,X 3 4"
Иток, playing заменяет GameStatus, GameProcess, GameRepaint
[Test]
Тестируем Cloud9...