Среда, 24 Апреля 2024, 11:49

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Rean [246]
Результаты поиска
ReanДата: Воскресенье, 16 Декабря 2012, 16:58 | Сообщение # 221 | Тема: Помогите с кодом HTML
участник
Сейчас нет на сайте
DimOk, попробуй
Code
<table rules="none">


Ах да, еще атрибут frame есть. Но я не помню какие там значения.


Сообщение отредактировал Rean - Воскресенье, 16 Декабря 2012, 17:00
ReanДата: Воскресенье, 16 Декабря 2012, 16:50 | Сообщение # 222 | Тема: Задание в инст =))
участник
Сейчас нет на сайте
KPECT,
Quote (KPECT)
простого и в тоже время эффектного

Шашки? Логика реализуется довольно просто и быстро - поэтому все внимание можно уделить сетевой части (которая тоже в свою очередь получится очень простой) и визуальной составляющей.
ReanДата: Суббота, 15 Декабря 2012, 16:15 | Сообщение # 223 | Тема: C# и что учить до него
участник
Сейчас нет на сайте
Интересно... Никогда не думал, что можно программирование изучать по видеороликам. Если кто имел опыт - отпишитесь, как оно? Удобней/понятней/наглядней, чем читать?
ReanДата: Суббота, 15 Декабря 2012, 11:12 | Сообщение # 224 | Тема: C# и что учить до него
участник
Сейчас нет на сайте
Slavker,
Quote (Slavker)
дальше циклов понять не удалось.

А что именно вызвало сложность? Условные конструкции?

Quote (Slavker)
Что можно учить попроще чтобы было легче изучать C#

Не буду оригинальным, если скажу, что лучше начать с чистого C (хотя, работа с памятью на начальных порах в C# тебе не понадобится). Главное понять управляющие конструкции (циклы, условные операторы и прочее).

Quote (Slavker)
Библию очень сильно критикуют на торрентах, как на рутрекере так и на nnm-club.

Видимо, знатные специалисты. biggrin Вообще, то что я видел из работ Фленова - достаточно просто и доступно. Если осилишь его, то можешь с уверенностью считать, что сделал первый шаг к пониманию.

Я начинал в 2000-м году с каких-то статеек по BASIC и DELPHI, где основной задачей было - перепечатать листинг программы, прочитать краткое описание того, что перепечатал, а все остальное время методом научного тыка исправлять ошибки, допущенные автором, и свои опечатки.
ReanДата: Пятница, 14 Декабря 2012, 22:01 | Сообщение # 225 | Тема: Basic vs Pascal
участник
Сейчас нет на сайте
First,
Quote (First)
да никто про себя так не скажет, в принципе

От чего же? Я себя назову профессионалом.
Вы, видимо, путаете с "гуру" или кем-то подобным. А профессионал какого-либо дела - это человек, для которого данное дело является профессией. Иными словами, с помощью этого он зарабатывает на жизнь.

Quote (First)
он сам был не доволен этим языком

А вот и корень зла. Все по Фрейду. Теперь ваша привязанность и позиция ясна.

Quote (First)
Он мне помог понять логику и суть программирования

А это ключевая фраза. Перед ней можно поставить предложение вида: "Я начал изучать программирование с %programming_language%. Он мне помог понять логику и суть программирования."

Quote (First)
Пригодится! Сейчас в большинство универах (особенно на Украине) начинают учить программирование именно с VB.

Чтож, не очень завидное положение. VB, грубо говоря, это не основы. Это что-то среднее. Здесь уже и ООП, и событийное программирование - для человека мало знакомого с программированием это настоящая головная боль (особенно, если вспомнить как многие мои одногруппники пытались переварить основные принципы объектно-ориентированной парадигмы). В любом случае, на факультете вычислительной техники придется учить C++. Так не проще ли начать с довольно доступного C#? А вообще я исключительно за чистый C для начала. Ну или Pascal'я с Basic'ом.

И наконец, я в который раз говорю - не имеет значение с чего человек начинает постигать программирование: basic, pascal, кумир, ада и прочее. Да, возможно где-то синт. сахара больше, где-то не так сладко - главное, чтобы человек понял как работать с машиной, научился понимать ее. Научился "правильно подбирать выражения", ведь программирование тем и отличается от кодерства, что сначала надо придумать алгоритм понятный для машины. А если человек разобрался хоть в каком-то языке - составить более-менее внятный алгоритм будет не так уж трудно. А там уже не имеет значение на чем писать, если нет определенных требований.


Сообщение отредактировал Rean - Пятница, 14 Декабря 2012, 22:03
ReanДата: Четверг, 13 Декабря 2012, 23:03 | Сообщение # 226 | Тема: Basic vs Pascal
участник
Сейчас нет на сайте
-Mikle-,
Quote (-Mikle-)
Rean, бейсик сейчас гораздо более распространён, чем ты думаешь.

В корне не согласен.

И дело даже не в количестве диалектов (кстати, сомневаюсь, что большое количество диалектов языка - это успех, скорее напротив - никак не могут найти золотую середину).
Далее у вас идет исключительно личное мнение, уж простите, но не подкрепленное фактами. Я серьезно. Это ведь сугубо ваше мнение, что Turbo Pascal лучше Turbo Basic'a, а Quick Basic лучше первого.
И все в том же духе. Вы не подумайте, я не пытаюсь как-то оскорбить, принизить или сказать, что ваше мнение ничто.

Просто, если оперировать фактами и смотреть правде в глаза: успех VB во многом благодаря Microsoft, а именно маркетинговой политике. Почему? Да потому что это - Microsoft, и мы видим как она работает. Нет, я не имею ввиду, что они продают "отходы" в блестящей обвертке. Но при равных условиях конкурирующего товара, они все-таки выходят вперед (не знаю, может людям в Windows что-то подмешивают).
К тому же, интересный факт (примерно как тот, что "про университеты") - Microsoft, имея собственный неплохой язык, всё-же, делает ставку на симбиоз Delphi и C++. А это уже должно сказать о многом.

И когда мы начинаем наблюдать тенденции, а не просто рассуждать на тему строгой-нестрогой типизации, точки запятой в конце строки (а python так вообще звиздец со своими отступами ;)) и прочее, прочее, прочее - сразу все становится на свои места. Я не защищаю Pascal, хотя с ним у меня связано немного больше времени, чем с Basic. Каждый язык занял свое место: один пошел на слияния в угоду создания чего-то нового, а другой стал популярным скриптовомакросным языком MS Office'а, AutoCAD'а и прочего.

Но не стоит говорить, что хоть один из этих языков сейчас хоть что-то отдельно из себя представляет. Я к тому, что люди говорят: "Учи Basic, мол, он тебе в дальнейшем пригодится!". Не пригодится. Также как и Pascal. Отдельно, сам по себе - нет. Как точка старта - возможно.

P.S.
Quote
но никогда паскалеподобный.

Это слиииишком категорично. У нас разве нет движков на Delphi/Object Pascal? Нет паскалеподобного-самого-мега-популярного-среди-начинающих GML??? Вы меня расстраиваете.

First,
Quote (First)
О Господи Я не буду писать контраргументы, ведь очень долго и бестолку

Молодой человек, вы хотя бы сначала наберитесь профессионального опыта, чтобы "огосподничать". Если вам нечего сказать, и вы пишите об это в общественном месте - это не показатель большого ума.

Quote (First)
VB удобный, популярный, хороший язык программирования

Да никто у вас его не забирает. Хватит читать между строк.
С вами, First, разговор окончен не начавшись. Теперь я понимаю, что значит

Quote
«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации»
ReanДата: Среда, 12 Декабря 2012, 23:45 | Сообщение # 227 | Тема: Basic vs Pascal
участник
Сейчас нет на сайте
First, а толку? Какое практическое применение?
Я не утверждаю, что Pascal лучше/удобней/быстрее/и прочее, но если где-то требуется VB, то скорее всего это: как вариант разработки под .NET, либо поддержка ранее разработанной системы, либо решение школьных/университетских задач. Если и встречаются иные случаи - это исключение из правил. Это из личного опыта.

Вообще, глубоко плевать, что выбрать: разберешься в одном - разберешься и в другом. А там уже можно определиться, что больше нравится.

Интересный факт: ни разу не слышал, чтобы в университетах изучали какой-либо Basic. В нашем был либо C, либо Delphi (Object Pascal). Хотя последнее сейчас уже практически отошло в сторону - его место занял C#. Аналогично и в другом ВУЗе.
ReanДата: Вторник, 11 Декабря 2012, 07:44 | Сообщение # 228 | Тема: Basic vs Pascal
участник
Сейчас нет на сайте
Quote
Я видел достаточно вакансий на программиста VB

По большей части это лишь связано с платформой .NET.
ReanДата: Воскресенье, 09 Декабря 2012, 10:42 | Сообщение # 229 | Тема: [HGE] Камера
участник
Сейчас нет на сайте
Quote (sooqua)
А нет все сик) Поигрался с "настройками", код менять не пришлось

Вся суть в том, что "менять" там практически нечего. Единственное, что можно сделать - "поиграть" с параметрами функций.
Основная задача была: реализовать плавное движение камеры. Остальное - побрякушки, которые делаются еще проще.

Quote (sooqua)
Спасибо)

Всегда пожалуйста! )
ReanДата: Воскресенье, 09 Декабря 2012, 00:25 | Сообщение # 230 | Тема: [HGE] Камера
участник
Сейчас нет на сайте
Quote (sooqua)
Блин.. Не выходит ничего.

Значит плохо старался! wink

Делать будем так:

Создаю структуру, которая будет отвечать за объект "Камера":
Code
struct Camera
{
     // Координаты камеры
     float X;
     float Y;
     // Функция интерполяции
     float hLerp(float value, float amount)
     {
         return X + (value - X) * amount;
     }
};
Camera camera;


Функция hLerp - в нашем случае, это функция линейной интерполяции по горизонтали.
X - это value1.
value - это соответственно value2.
amout - он и есть amount

Далее, для наглядности опишем еще одну структуру - GameObject
Code
struct GameObject
{
     // Координаты объекта
     float X;
     float Y;
     // Спрайт объекта
     hgeSprite *sprite;
};
GameObject obj;

Здесь, думаю, все ясно.

А теперь, "финт ушами": в функции, которая отвечает у нас за просчет кадра (HGE_FRAMEFUNC), следует ввести следующее:
Code

bool FrameFunc()
{
     // Выход из программы
     if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;
     // Передвижение объекта по оси Х с учетом дельта-времени (к нашему делу мало относится)
     if (hge->Input_GetKeyState(HGEK_LEFT)) obj.X -= 500 * hge->Timer_GetDelta();
     if (hge->Input_GetKeyState(HGEK_RIGHT)) obj.X += 500 * hge->Timer_GetDelta();

     // Король Вечеринки - Линейная Интерполяция!
     camera.X = camera.hLerp(obj.X-100, hge->Timer_GetDelta() * 2);

     return false;
}

Основной смысл несет предпоследняя строчка. Здесь мы указываем, что интерполировать надо по координате X нашего игрового объекта (100 я отнимаю лишь для того, чтобы объект не был с самого края окна - костыль). Стоит обратить внимание на то, что в позицию параметра amount мы вставили GetDelta. По той простой причине, что интерполяция у нас должна происходить как бы в действии, чтобы мы могли наблюдать эффект "наплыва" камеры. Умножение на 2 - чтобы интерполяция происходила чуть быстрее.

Ну и в завершении:
Code

bool RenderFunc()
{
     // Применяем трансформацию с заданными параметрами.
     hge->Gfx_SetTransform(0, 0, -camera.X, camera.Y, 0, 1, 1);
     // Выполняем отрисовку
     hge->Gfx_BeginScene();
     hge->Gfx_Clear(0xFFFFFF);
     obj.sprite->Render(obj.X, obj.Y);
     hge->Gfx_EndScene();
      
     // TODO: отрисовать HUD
     // для этого "скидываем" трансформацию по нулями и рисуем то, что надо.
     return false;
}

Теперь это не должно вызвать каких-либо трудностей.
ReanДата: Суббота, 08 Декабря 2012, 12:55 | Сообщение # 231 | Тема: [HGE] Камера
участник
Сейчас нет на сайте
Quote (sooqua)
Можно примерчик с пояснениями?

Тебе подойдет реализация линейной интерполяции из Microsoft XNA:

Code
value1 + (value2 - value1) * amount


value1 - это будет X.
value2 - это будет X1.
amount - вес точки X1. Значение должно находится в [0;1].

Если мне не изменяет память, то amount будет влиять на резкость-плавность движения.
Задача из простых: реализуешь данный алгоритм в виде функции. Если у тебя камера "привязана" к объекту, то каждый такт процессора изменяешь значение X камеры, интерполируя текущую координату X и координату X объекта.
ReanДата: Суббота, 08 Декабря 2012, 12:24 | Сообщение # 232 | Тема: [HGE] Камера
участник
Сейчас нет на сайте
Quote
Но она слишком резкая))

Интерполяция по точкам? Не помню, есть ли она в HGE, но реализуется она достаточно просто.

Правка: интерполяция координат камеры позволит перемещать ее плавно.
Допустим, необходимо переместить камеру по горизонтали. Тогда, следует взять текущую координату Х и конечную Х1. В результате интерполяции получаем новое значение Х и повторяем операцию до тех пор, пока Х не станет Х1.


Сообщение отредактировал Rean - Суббота, 08 Декабря 2012, 12:31
ReanДата: Пятница, 07 Декабря 2012, 21:17 | Сообщение # 233 | Тема: Помогите дописать игру :3
участник
Сейчас нет на сайте
Quote
Костыльно, но работает) Тему можно клоуз))

Ну уж нет! Описывай как сделал - алгоритм и примеры кода приветствуются!
А иначе зачем создавал тему? Вдруг у кого-нибудь такой же вопрос будет - помогайте друг другу.
ReanДата: Пятница, 07 Декабря 2012, 19:10 | Сообщение # 234 | Тема: Помогите дописать игру :3
участник
Сейчас нет на сайте
То есть???
Автор осилил генерацию карты, парс строки, перемещение спрайта и вывод через HGE, но не смог сделать элементарную коллизию?
А там, откуда вы код копировали, коллизии не было?

О чем нам должно сказать описание класса MapBuilder?

Декабрь подсказывает мне, что началась пора сдачи курсовых... smile


Сообщение отредактировал Rean - Пятница, 07 Декабря 2012, 19:13
ReanДата: Суббота, 29 Сентября 2012, 01:09 | Сообщение # 235 | Тема: Как возвести число в степень.
участник
Сейчас нет на сайте
Maxaon, а алгоритм действительно кривой. Причем это очевидно.
MrAkakuy, конечно, не прав, но ошибка следующая:

При x = 3, p = 2
Code
for(a=p;a>=0;a-=1)

При таком раскладе будет выполнено три итерации (а = 2, а = 1, а = 0). Что имеем в результате?
Code

Первый проход.
x = 3 * 3 = 9
Второй проход.
x = 9 * 3 = 27
Третий проход.
x = 27 * 3 = 81


В итоге получаем, что 3 во 2 степени у нас равно 81.

И вообще, зачем все так усложнять, можно было ведь проще сделать:
Code

s = 1;
for (i = 0; i < p; i += 1)
   s = s * x;
return s;
ReanДата: Суббота, 08 Сентября 2012, 22:36 | Сообщение # 236 | Тема: Игродел
участник
Сейчас нет на сайте
Quote (Qvant)
В точку , после этого кода вообще ничего работать не будит , а никто это не замечает

Так а зачем столько лишних движений? Не проще было бы использовать так?
Code

while (1) { }


А если уж ты хотел запутать, то можно было бы что-то вроде этого:
Code

int *p = new int(10);
while (p) {
     *p--;
}
ReanДата: Суббота, 08 Сентября 2012, 09:45 | Сообщение # 237 | Тема: NeoAxis Engine
участник
Сейчас нет на сайте
А NeoAxis уже перешел в раздел конструкторов? Что-то я давно уже не следил за ним.
ReanДата: Пятница, 31 Августа 2012, 16:35 | Сообщение # 238 | Тема: Странность с переменной
участник
Сейчас нет на сайте
Чудеса )
ReanДата: Пятница, 31 Августа 2012, 15:50 | Сообщение # 239 | Тема: Странность с переменной
участник
Сейчас нет на сайте
Quote
не совсем понял...

Такие проблемы бывают, если объявлены переменные с разными уровнями доступа. Поэтому, когда происходит попытка получить данные из переменной, которая объявлена в другой области - результат может быть непредсказуемым.

Quote
хотя я просто скопировал код масивов в другой обьект(с аналогичным названием)

Здесь подробней. В первом объекте работа с массивами выполняется корректно? У первого и второго объекта одинаковые имена?
ReanДата: Пятница, 31 Августа 2012, 13:09 | Сообщение # 240 | Тема: Странность с переменной
участник
Сейчас нет на сайте
Приведенных в первом посте данных не достаточно, чтобы обнаружить ошибку.
Проблема может быть в областях видимости, в неправильном присвоении где-нибудь ранее.
Вплоть до опечатке.
Уверены, что отрисовка спрайтов не происходит раньше, чем заполнение массива?
Форум игроделов » Записи участника » Rean [246]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг