Вот и наступило 26 сентября, а это значит что именно сегодня участники конкурса карт «Мини-игры» должны поделиться информацией о том как обстоят у них дела на этапе разработки.
Мне наверное в каком то роде не повезло так как остальным, я действительно начал работу…
awesomesk1ll, сиджасс проще чем просто джасс
для занятости есть очень крутая проверка
if(a[i]==null)
где a массив юнитов а i индекс ячейки
Юнитов в массиве записывать нужно значит, и обнулять если переносишь из ячейки в ячейку. (Я примерно так хотел делать)
Если юнита ремувишь, насколько помню - не надо обнулять, хендл должен убиваться..
Со структурами конечно выглядит красиво, но я не понимаю как ими пользоваться, мне всё это в новинку) т.к я стремный "кодер", я на примерах джасс учу), осваивать джасс вообще начал на базе .j файла внутри карты после xdep'а (была нужда переделать кое-что под себя, а для этого нужно было понять как что работает), а по профе я гуманитарий вообще), на самом деле спасибо за попытку объяснить мне), может спустя какое то время дойдёт) (что-то перечитаю/переосознаю)
awesomesk1ll, нет ли там уже занятой клетки как проверять будешь? Я бы просто запустил функцию перемещения в следующую точку, и проверив ее занятость остановил бы движение фигуры
Проще, если юнит не может туда переместиться из-за того что занято другим юнитом (Если коллизия включена) то не выполнять функцию, для этого то я точки и предлагаю использовать
Нене, точки использовать в данном случае точно глупо, потому что есть нативки для движения только по x или y.
У меня пока времени нет добраться до компутера, что бы что-то накидать, (работа/дорога/сон, благо инет под рукой, смартфон штука удобная xd), поэтому я пока в голове прокручиваю варианты..
Мой вариант примерно такой, раз все фигуры в тетрисе состоят из 4 "точек". Для текущей(падающей) фигуры объявляется массив из 4 юнитов, и двигается for 1 to 4 вниз, запускается этот цикл таймером.
Для поворота фигуры так же по этому же циклу проверяется, есть ли место для "проворота фигуры".
Для движения влево/вправо, так же проверка по циклу.
А вот как именно проверять есть ли там юнит в "слоте" или же пусто, это отдельный вопрос, можно областями, можно в переменной держать для каждой ячейки булю на занятость.
Я когда-то хотел делать тетрис и писал систему падения и двигания фигурок, правда тогда я мало чего знал и сделал очень утечную гуи наработку, если перевести в джазз убрать все бж удалять локации и тд, то может лагать не будет, могу описать алгоритм, в принципе там все просто в реализации
Но насчет оптимизации нагрузки я очень сомневаюсь
Ох, не.. После прочтения на 1 раз двух статей, в моей голове мало очень осело.. Я с джассом еще пока не "на ты", а v/cJass это вообще что-то далекое)).
В моей голове это был простой цикл с движением 4 юнитов (for 1 to 4), который в свою очередь прицеплен на таймер, который регулируется сложностью. Как то так, вот это доступно для моего понимания, а массив структур..
Вообще v/c jass вроде на уровень выше чем jass, и должны быть для понимания проще по идее, но почему то не в моем случае.
awesomesk1ll, массив структур
точнее экземпляров структур
фигуру тоже через структуры
кроме того экземпляр структуры блок может хранить в себе экземпляр структуры фигура
у меня в блоге есть скрытые статьи которые могут помочь
прими приглашение
так же есть файлик про структуры и прочее
Комментарии проекта Dendy
Неделя первая - Тетрис
Ред. awesomesk1ll
Если юнита ремувишь, насколько помню - не надо обнулять, хендл должен убиваться..
Со структурами конечно выглядит красиво, но я не понимаю как ими пользоваться, мне всё это в новинку) т.к я стремный "кодер", я на примерах джасс учу), осваивать джасс вообще начал на базе .j файла внутри карты после xdep'а (была нужда переделать кое-что под себя, а для этого нужно было понять как что работает), а по профе я гуманитарий вообще), на самом деле спасибо за попытку объяснить мне), может спустя какое то время дойдёт) (что-то перечитаю/переосознаю)
для занятости есть очень крутая проверка
но структурами намного проще
вторая это ячейка(содержит булеан и юнита)
Ред. darkowlom
Проще, если юнит не может туда переместиться из-за того что занято другим юнитом (Если коллизия включена) то не выполнять функцию, для этого то я точки и предлагаю использовать
Ред. awesomesk1ll
У меня пока времени нет добраться до компутера, что бы что-то накидать, (работа/дорога/сон, благо инет под рукой, смартфон штука удобная xd), поэтому я пока в голове прокручиваю варианты..
Для поворота фигуры так же по этому же циклу проверяется, есть ли место для "проворота фигуры".
Для движения влево/вправо, так же проверка по циклу.
Но насчет оптимизации нагрузки я очень сомневаюсь
Ред. awesomesk1ll
В моей голове это был простой цикл с движением 4 юнитов (for 1 to 4), который в свою очередь прицеплен на таймер, который регулируется сложностью. Как то так, вот это доступно для моего понимания, а массив структур..
Вообще v/c jass вроде на уровень выше чем jass, и должны быть для понимания проще по идее, но почему то не в моем случае.
Ред. nvc123
точнее экземпляров структур
фигуру тоже через структуры
кроме того экземпляр структуры блок может хранить в себе экземпляр структуры фигура
у меня в блоге есть скрытые статьи которые могут помочь
прими приглашение
так же есть файлик про структуры и прочее