IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Необходима помощь в написании программы. (https://www.imho.ws/showthread.php?t=89497)

Rassini 19.07.2005 13:36

Необходима помощь в написании программы.
 
Курсовик был задан в институте. Написать нужно игру на С++. Чтобы не очень сложная, но с анимацией. Я языком мал-мала знаком, но с чего начать не знаю. Есть ли какие то советы как начать проект. План работ, что ли? Что то вроде в начала рисуем то , потом то, а потом уже меняем координаты изображения и т.п. и т.д.
Спасибо.

dyr_farot 19.07.2005 13:48

может лучше на готовые проекты посмотреть?
h__p://sources.codenet.ru/index.php?cid=10

Hatifnatt 19.07.2005 13:50

Курсовик говоришь? Тебе именно игру надо? Или все таки что то другое сойдет. ИМХО если ты сам выбрал игру, то это не самый простой вариант, может что-то другое можно выбрать? Я лично особо с графикой не работал. Разве что иконки в проге ставил :gigi: Какого типа игра нужна? Когда свой курсовик писал, то прогу для склеивания файлов покоцаных JAS-ом сделал (с некоторыми дополнительными фичами ;) ) Ну а если все таки игру писать, то помоему надо сначала надо с программной частью разобраться, а потом уже рисовать. Но это только ИМХО т.к. я игрушки не писал, а надо бы попробовать.

Rassini 19.07.2005 14:57

Цитата:

Сообщение от dyr_farot
может лучше на готовые проекты посмотреть?
h__p://sources.codenet.ru/index.php?cid=10

Там я уже смотрел. Там конечно все нормально, но проект хочеться с нуля свой. Конечно дело сложное, но нужно когда то начинать.

Цитата:

Сообщение от Hatifnatt
Курсовик говоришь? Тебе именно игру надо? Или все таки что то другое сойдет. ИМХО если ты сам выбрал игру, то это не самый простой вариант, может что-то другое можно выбрать? Я лично особо с графикой не работал. Разве что иконки в проге ставил :gigi: Какого типа игра нужна? Когда свой курсовик писал, то прогу для склеивания файлов покоцаных JAS-ом сделал (с некоторыми дополнительными фичами ;) ) Ну а если все таки игру писать, то помоему надо сначала надо с программной частью разобраться, а потом уже рисовать. Но это только ИМХО т.к. я игрушки не писал, а надо бы попробовать.

Да нет сам не выбирал. Преподователь такую тему задал. Я сам ничего не писал еще, ну кроме лабораторных на С#. Вот в этот раз С++ задали, я думаю что нибудь тривиальное вроде пинпонга, простенького. Вот кто бы подсказал вообще с чего начать :eek:

/7y3uK 19.07.2005 16:01

тебе помогут книжки: Е.В.Шишкина и А.В.Борескова изтательства Диалог-МИФИ - в яндехе набей для дополнительной информации - у них несколько очень хороших книг посвященных нужной тебе тематики - я у них встречал наброски того как надо первый Doom делать :) ... кстати у них там все с код-патернами, что поможет тебе вдвойне...

Naked 19.07.2005 16:07

Пинпонга, или пинбола? Пинпонг по-моему не так легко сделать... :confused: Сначала нужно разобраться что ты именно хочешь сделать, какой жанр, потом нарисовать что-то типа кружочков, и сними отрабатывать алгоритм самой программы, а потом уже кружочки заменять нормальными картинками:)

Rassini 19.07.2005 16:10

Цитата:

Сообщение от The_naked
Пинпонга, или пинбола? Пинпонг по-моему не так легко сделать... :confused: Сначала нужно разобраться что ты именно хочешь сделать, какой жанр, потом нарисовать что-то типа кружочков, и сними отрабатывать алгоритм самой программы, а потом уже кружочки заменять нормальными картинками:)

Я так представляю пинпонг - два прямоугольника, плюс кружок летающий. Вот только не пойму как проверять чтобы шарик (кружок) отскачил от них под нужным углом, ну и от стенок. Мысль есть что нужно постоянно проверять координаты шарика, и если они совпадут то произвести некую функцию отскока. Тогда вопрос как сделать, чтобы прямоугольники двигались. Короче дремучий лес :confused:

dyr_farot 19.07.2005 16:17

вот поэтому и следует посмотреть готовые исходники...
движение делается легко -- выбираеш начальное направление и скорость ( или просто скорость по X и Y )
по таймеру каждый тик прибавляеш к текущим координатам скорость. при соприкосновении с ракеткой считаеш угол ( угол отражения == углу падения ) и меняеш направление ( или скорости )
кажется все...

Rassini 19.07.2005 16:19

To dyr farot
А что такое тик?

dyr_farot 19.07.2005 16:21

момент срабатывания таймера

Naked 19.07.2005 16:33

Можно просто в цикле в бесконечном проверять координаты и прибавлять к текущим координатам такие вещи: dx и dy(для шарика), а координаты прямоугольников будут меняться когда ты клавишами вверх вниз (для второго игрока например w s) щелкнешь, например нажал вниз, и у тебя dy(для прямоугольника) стало равно -1, нажал вверх - просто 1, тоже для dx а при отскакивании от чего либо dx и dy(для шарика) меняют знаки, от нижней и верхней части экрана - dy меняет знак, от прямоугольников - dx меняет знак (это если прямоугольники по вертикали двигаются). А вот если ты прогу посложнее решишь написать, то угол отскока нужно будет не просто инверсией dx/dy считать, а еще и учитывать скорость прямоугольников, и ввести какой-нибудь коэффициент трения (и высчитывать углы по физическим законам). Так что решай, что делать:)

Hatifnatt 19.07.2005 16:48

ИМХО в отношении простоты Тетрис рулит, это конечно ужасно избитая тема (хотя пин понг тоже), но зато никакой физики, все просто как лапоть (уж точно проще пин понга). Тебе ведь важна не новизна, а факт написания действующей игрушки. Так что подумай насчет такого варианта.

Naked 19.07.2005 16:53

Абсолютно не согласен, не обязательно сложно делать пинпонг, достаточно угол_падения=угол_отражения, а это элементарно делается, а в тетрисе, нужно как-то крутить эти фигурки, реализация на мой взгляд намного сложнее...
Цитата:

Hatifnatt:
это конечно ужасно избитая тема
А если брать неизбитую, то тут нужен отряд квалифицированных программистов :biggrin:

dyr_farot 19.07.2005 16:57

ну не так их и сложно крутить -- простое транспонтрование матрицы...
главное решится, а там дело пойдет :)

toxa21 19.07.2005 19:36

Можно попробовать взять игру линии. Ну знаеште там поле 9х9 и шарики разного цвета появляются по 3 (а мож и не три) на каждом ходе. И когда выставляешь 5 или больше в ряд они пропадают. Помоему ничего сложного сам гдето пол года назад делал. И графика есть какая никакая.

kibal4ich 19.07.2005 22:37

писать надо на OpenGL?
двухмерный билиард не подходит?

/7y3uK 19.07.2005 23:46

OpenGL API однозначно рулят, если ты не хочеш заморачиваться такими вещами как матрица сдига, поворота, масштабирования, проецирования и процая дребедень... хотя это тоже поможет...

toxa21 21.07.2005 02:57

Тада уж DX рулит если уж на то пошло. Чуть посложнее чем GL но если привыкнуть то не так уж и сложно. Правда документации маловато, а english справка майкрософт по DX 9.0 я думаю будет непонятна и самим англичанам.
Все таки парню я думаю не стоит на етом заморачиваться. В етом надо долго разбираться, геометрию подтянуть. Там я вам скажу геометрия на уровне должна быть.
Пускай лучше GDI использует. Какуюнить логическую игрушку.

А ваще напиши ченить типа Morrowind. У тя на ето уйдет лет 500 не меньше ;)

Rassini 21.07.2005 08:11

Благодраю всех за очень позновательные советы. Но к сожаленью я только начал учиться программировать, и программирование под OpenGL и т.п. подобное просто не доступно мне на данном этапе. Может у кого есть исходники чего нибудь подобного?

kibal4ich 21.07.2005 09:22

могу скинуть код двухмерного билиарда, который писал лет 8 назад по систему IRIX на компах Silicon Graphics. если у тебя мастдай на писишке, то придется попотеть с настройками. если подходит-скинь свое мыло в пс

big2002 29.07.2005 23:44

Билиард действительно интересно для программирования.

NEO2004 01.08.2005 07:15

А на самом деле что-нибудь простое на OpenGL замутить, используя какой-нибудь простиенький пример это не так уж и сложно... было бы желание :) могу посоветовать или прислать аля "First MFC + OpenGL App"...

PSyton 01.08.2005 21:07

Ну вы тут и развели дебатов. Детский сад ей-богу.
Книжки люди посоветовали? Вот и почитай, для начала. Потом подумай что же все таки хочется... Потом подумай о физике того что соберешься написать. Какие объекты буду и что они будут уметь делать. А уже после этого можно и реализацией заняться и выбирать там на чем писать на DX или GL. И при том снчала желательно сделать убого, но чтобы физика работала как надо, а потом можно и красоту наводить.


Часовой пояс GMT +4, время: 22:10.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.