Добавлен awesomesk1ll,
опубликован
Наступило 3 октября, теперь я понимаю, что мне категорически не хватает времени на конкурс.
Неудобно по времени начался, для меня, на полмесяца-месяц раньше бы.. (сейчас много всего IRL на голову свалилось, некогда заниматься, но я стараюсь выкроить время.)
Неудобно по времени начался, для меня, на полмесяца-месяц раньше бы.. (сейчас много всего IRL на голову свалилось, некогда заниматься, но я стараюсь выкроить время.)
Начнём с того что я переделал модели как планировал, теперь с помощью
call SetUnitVertexColor(Юнит,Красный,Зеленый,Синий,Непрозрачность)
можно устанавливать цвет юнитам. Для установки цвета я написал небольшую функцию которая красит юнита в соответствии с его CustomValue.
(цвета пока криво подобраны, позже исправлю на точные...)
(цвета пока криво подобраны, позже исправлю на точные...)
функция
//color update, красит юнита в зависимости от его CustomValue
// 1 white 255 255 255
// 2 blue 96 208 224
// 3 darkblue 96 160 255
// 4 brown 255 160 0
// 5 darkgreen 112 224 112
// 6 yellow 255 216 160
// 7 orange 255 120 48
// 8 purple 160 112 255
// 9 green 112 240 64
// 10 pink 224 176 255
// 11
function cu takes unit u returns nothing
local integer color = GetUnitUserData(u)
if (color==1)
call SetUnitVertexColor(u,255,255,255,255)
endif
if (color==2)
call SetUnitVertexColor(u,96,160,255,255)
endif
if (color==3)
call SetUnitVertexColor(u,96,160,255,255)
endif
if (color==4)
call SetUnitVertexColor(u,255,160,0,255)
endif
if (color==5)
call SetUnitVertexColor(u,112,224,112,255)
endif
if (color==6)
call SetUnitVertexColor(u,255,216,160,255)
endif
if (color==7)
call SetUnitVertexColor(u,255,120,48,255)
endif
if (color==8)
call SetUnitVertexColor(u,160,112,255,255)
endif
if (color==9)
call SetUnitVertexColor(u,112,240,64,255)
endif
if (color==10)
call SetUnitVertexColor(u,224,176,255,255)
endif
if (color==11)
call SetUnitVertexColor(u,255,255,255,255)
endif
endfunction
Так же вчера уже начал писать алгоритмы генерации фигуры/движения и т.д
Для юнитов создал массив 8192шт и с помощью двумерного индекса обращаюсь к ним, карта 32х32, почему нет).
Для юнитов создал массив 8192шт и с помощью двумерного индекса обращаюсь к ним, карта 32х32, почему нет).
подробнее
//Двумерный массив внутри 1 массива, например: X 19 и Y 65 - число 1965
function mx takes integer x, integer y returns integer
return 100*x+y
endfunction
первые 2 цифры индекса использую как X юнита, вторые 2 как Y юнита
Пока что сделал только генерацию фигуры и движение вниз.
Выглядит это всё примерно так на данном этапе:
На функциях движения влево/вправо я застрял и багу найти пока что не могу в своей помойке :D.. Очень не хватает времени/мозгов, что-бы разобраться со этим всем.
Если кто-то может помочь с кодом/алгоритмами - буду крайне благодарен. (добавить меня в скайпе)//
Если кто-то может помочь с кодом/алгоритмами - буду крайне благодарен. (добавить меня в скайпе)//
Надеюсь что к концу конкурса успею доделать хотя бы тетрис, вообще проект можно развивать и после конкурса в принципе, но тогда мне определённо понадобится кодер, а то всё туго идёт... :).
Пожалуй это всё, из того чем я хотел бы поделиться на сегодня, но, как обычно, помимо WIP'ов прикладываю к новости очередную вкусняшку:
(в прошлый раз был эмуль с ромом)
(в прошлый раз был эмуль с ромом)
Вкусняшка
Про random в тетрисе:
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Buulichkaa
а что это за лолокостыль с колор апдейтом?? про базы данных слышали?
вот тебе норм вброс
Отредактирован awesomesk1ll
Сам понимаю что стрёмно составил, но что-то нормальное в голову не приходит, как написать). Я без образования в этой сфере, помог бы кто :D.
Содержание чёрного в перепадах цветов не одинаковое, поэтому цвет, получающийся при смешении альфы с самым ярким в наборе местами даёт не тот результат.
Похоже что этим способом не получится сделать 1 в 1. Только похоже..