Ну тут тремя таблицами не обойдешься, нужна таблица классы, учителей и учеников можно засунуть и в одну таблицу, а различать по какому нибудь полю type например. Нужна связующая таблица и связь многие ко многим так как учитель наверно к нескольким классам может быть привязан, или он вообще никуда не привязан. Нужна таблица группы, и связующая таблица которая привязывает ученика\учителя к определенной группе, остальное дело логики и проверок...
Шарпер, о чем вы? Какие большие расходы? Сейчас не 90е годы, когда боролись за каждый лишний килобайт памяти, и каждый 1 герц. Сейчас у всех по телефоны по 8 ядер да 4 гб рамы. Если бы этот человек думал об оптимизации, он точно не использовал бы юнити, а писал бы свой движок. И поверьте какой-то несчастный класс вычисления этих чисел не будет занимать даже пол процентика той мощности которую будет сжирать сам движок.
Я когда писал, но сейчас уже не найду среди тысяч файлов такой класс.
В общем там был класс, или несколько, который хранит числа и символьное обозначение числа. В кликерах же не отображается все число, как правило идет сокращение n > 1000 = 1k , n > 1000k = 1m, n > 1000m = 1b, и т.д. там 1 #$^&*#^$&* любые знаки. Суть в том что число может хранится например в массиве, грубо говоря как [123,'1k', '12m', '33b','45z'], ну только это могут быть например классы наследованные от общего какого нибудь MyNumber или т.п. Таким образом можно хранить хранить любое очень длинное число. Главное запастись этими знаками обозначения, а можно генерить их и подставлять как e1, e3, e165 ....
Ну игрок кликает на квадрат, после чего этот клик передается на сервер. На сервере грубо говоря проверяется можно ли ему кликать на этот квадрат, если да перемещаем позицию игрока и передаем обратно на клиент текущую ситуацию игры.
Тоесть по сути вся игра, все ее переменные, координаты игроков, денежные счета, ходы должно хранится на сервере, и просчитываться только на сервере. Единственное что может сделать игрок, это какую то реакцию, тот же клик или еще что то, это отправляется на сервер обрабатывается и присылаются изменения в параметрах игры.
Когда то делал игру типа agar.io на canvas+node js. Так вот по сути единственное что мог игрок, это посылать угол движения на сервер. Все остальное происходит на сервере, там "крутится" жизненый цикл игры, происходит генерация игровых объектов, просчет колизий и т.п. ,а игрокам броадкастом просто посылаем всякие параметры, координаты чтобы на клиенте просто все это рисовалось и все.
Sirion, кстате если рисовать адаптивно нужно только UI. Пришла в голову тупая идея, у нас есть основной канвас на котором игра рисуется, и несколько канвасов наложенных сверху на которвых, UI. Рисуем UI на всех, а отображение их делаем на CSS с помощью media и display:block/none
svladys, На стороне сервера обработка происходит также как и обычного любого гет, пост запроса.Получаем данные разбриаем, шлем ответ. На стороне клиента отправляем пост , гет.. запрос на адрес где будет обрабатываться. Далее можно подписаться на событие ответа сервера, получаем ответ сервера смотрим что прислали делаем с этим что то... В чем прелесть ajax, в том что это происходит без перезагрузки или зависания страницы браузера.
Алексей Майрин, На свой выбор. Если сайт одностраничный я не вижу смысла подключать bootstrap можно все самому стилизовать. Ну опять же выбирайте сами. Может это просто я такой любитель всего нативного
Мож я чето не понял. Но зачем тебе тогда добавлять картинку если ее всеравно не будет видно из за старой.
Вообще подобие z-index в канвас это есть порядок отрисовки. Тоесть каждая новая отрисовка рисует поверх уже имеющегося. Сделайте массив объектов типа {src:http://url..., z-index: 1 }. Далее перед отрисовкой отсортируйте массив по z-index, и получится что вы будете рисовать сначала элементы с меньшим индексом и по возрастающей.
Илья Висков, все прекрасно работает на два и на 10 чатов. А хочешь нагрузки меньше выкинь свой php и используй node.js или что то другое с постоянным соединением, а не этот колхоз
Илья Висков, Ты думать пробовал? Посиди подумай придумай алгоритм не ужели так сложно, без этих навыков в программировании делать нечего. Вот последний проект дальше сам