Тема: The Maze
Показать сообщение отдельно
Старый 09.02.2009, 11:05   #79
Serg153
Нуждающийся
 
Регистрация: 03.01.2009
Сообщений: 93
Написано 8 полезных сообщений
(для 15 пользователей)
Ответ: The Maze

>>...по оптимизации в j2me ...
>>..нахождения дистанции...
мммм.. а дистанция нужна для определения какую стену рисовать?
вертикальную или горизонтальную?
к примеру - до ВертСтены по х 3 по у=4, до гориз стены по х=5 у=4
1 -если просто использовать квадраты расстояний 3*3+4*4=25 5*5+4*4= 41
т.е. рисуем вертикальную стену так как она ближе(25<41) - можно и без корня квадратного обойтись
2 - попробовать вообще без Квадратов типа 3+4=7 5+4=9 снова рисуем верт стену т.к. 7<9...
~~~
попробовать оптимизировать кол-во интераций(глубину луча) -
исходно принимаем что макс длина лабиринта = 64 клетки
Но - при про прорисовке на такую длину стена будет в виде 1..2х пикселей...
тут конечно поэксперементировать - но ограничить максимальный перебор стен до 5-10-15... если стена дальше то отрисовать тёмно серой вертикальной полоской(типа в тени)...
и описать ограничение для дизайнера уровней, что максимально большая комната(видимый участок) не больше например 6 клеток, условно:
*******
*
*******
~~~
опять же расстояние до клеток, нужно для определения коэффициента масштаба выводимой стены - попробовать создать таблицу возможных растояний - с коэфициентами (расчитать и считывать из файла заранее или в програме инициализации игры)
например макс видимое поле 10 клеток - значит массив - вернее 2 массива будут размерностью(10+10=20) и [64+64]
то индекс в массиве будет расчитывать [x+y] - это расстояние в Больших клетках - [x1+y1] это координаты игрока в клетке....
и множитель выводимой стены будет равен m1[x+y]+m2[x1+y1]
типа такого?
(Offline)
 
Ответить с цитированием