Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Применить на практике.  (Прочитано 11543 раз)
0 Пользователей и 1 Гость смотрят эту тему.
IgnisFatuus
Постоялец

ru
Offline Offline

« : 27-06-2012 13:08 » 

Как видно из предыдущей темы С++ я изучаю недавно и времени катастрофически не хватает. Однако я не унываю и все свободное время посвящаю программированию (для вас это как 2 х 2 = 4, а для меня нечто новое).

Довольно много понял и почерпнул из различных источников, спасибо darkelf, Гаечке, Finch и другим - дали нужный толчёк.

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

Заранее спасибо за терпение.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 27-06-2012 13:14 » 

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

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
IgnisFatuus
Постоялец

ru
Offline Offline

« Ответ #2 : 27-06-2012 13:16 » 

Весь вопрос в том - как? Текстовую - можно. А вот тот же самый тетрис, арканоид, пакман?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 27-06-2012 13:31 » 

Ответ немного не в тему.

Во-первых, С++ (как и впрочем любой другой язык) здесь совершенно не при чём. Во-вторых, одинаковых программ не бывает. Даже если ты сделаешь самую что ни на есть сложнючую игру, еще не будет означать, что ты в совершенстве овладел программированием. Это очень узкоспециализированая задача, при решении которой, ты в большей стпени не будешь учиться программировать, а искать инфу по разным движкам и модулям. Те делать то, чего ты так боишься - искать ответы на вопросы типа: "как сделать это", "а как сделать то" и "а зачем ваще всё это нужно". И как результат, у тебя просто пропадёт желание этим заниматься, ибо не будет мотивации -  реальный результат ты увидишь ой как не скоро. Поэтому ИМХО стратегию ты выбрал неправильную. Обычно люди осваивают каждый инструмент в отдельности, а потом уже переходят к заданиям, в которых требуется использование многих инструментов одновременно. Поэтому я бы тебе советовал таки от простого к сложному. А принцип learning by doing хоть и существует, но не приносит фундаментальных знаний таким образом, чтобы ими можно было пользоваться и в дальнейшем. Грубо говоря, потеряв затратив много времени, ты может и поймёшь как работает одна шестерёнка в данном конкретном механизме, но такая же шестерёнка в другом, будет для тебя новой загадкой.

ИМХО разумеется.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
IgnisFatuus
Постоялец

ru
Offline Offline

« Ответ #4 : 27-06-2012 13:43 » 

Я не боюсь искать ответы на вопросы "Для чего, зачем и пр.". Я в общем-то этим и занимаюсь. В общем из Вашего сообщения я понял, что лучше изучить все составляющие языка, а уже потом браться за данную задачу, так?
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 27-06-2012 14:06 » 

Не...
Без задачи не будет изучения.

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

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 27-06-2012 14:12 » 

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

Да даже не языка. Ещё раз: программирование и знание языка это не одно и то же. Программа есть последовательность неких действий, или алгоритм. И если стоИт, например, вопрос "как делается игра", то надо начинать с алгоритма, уж никак не с "движков", тем более готовых . А язык программирования - это просто средство объяснения алгоритма данной конкретной системе. У каждого языка есть свои плюсы и минусы. Один лучше подходит для одной задачи, другой - для другой (сорри за тавтологию).

Конечно, теоретически заниматься только алгоритмами скучно. Но тем не менее, я бы советовал осваивать именно алгоритмы, с последующим их практическим применением в небольших, тестовых, программках. Это ещё лучше и потому, что позволит не зацикливаться на одном конкретном языке, а попробовать разные. След. этапом можно усложнить задачу - объединить несколько алгоритмов в одной программе.

Ну и ещё одно. На самом деле упомянутых составляющих языка не так уж и много. А вот расширений, дополнений, обеспечивающих работу конечного продукта на определённой конкретной системе, вагон и маленькая тележка. К примеру WinAPI. Разные языки (С++, C#, Pascal и тд), работая с ней, используют свои собственные "обёртки" - врапперы (wrapper). Но в конечном итоге вызвается одна единственная ф-я, которую предлагает WinAPI. Таким образом, для создания конечного программного продукта, требуются ещё и специальные знания о целевой платформе, которые имеют отношение к программированию постольку-поскольку.
« Последнее редактирование: 27-06-2012 14:14 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 27-06-2012 17:25 » 

По поводу платформ, каковые с годами всё совершенствуются и усложняются. Последнее время я думаю, что хорошей платформой является DOS (хотя бы в среде DOSBox). Там можно простыми средствами без особого изучения всяких "платформ" сделать какие-то простые, но наглядные вещи и изучить основные алгоритмы.

Единственный недостаток - сильный отрыв от современных технологий и библиотек языков.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #8 : 28-06-2012 07:22 » 

100% согласен. Кстати, можно и игрушки делать (если уж очень хочется), оттачивая логику,  и даже в текстовом режиме. И никаких тебе заморочек.
Ну конечно ф-ции ввода/вывода придётся использовать, но их действительно 2 штуки. Ага
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
IgnisFatuus
Постоялец

ru
Offline Offline

« Ответ #9 : 28-06-2012 09:21 » 

Текстовые вроде этого ? - http://gcup.ru/forum/7-1558-1
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 28-06-2012 09:28 » 

IgnisFatuus, типа того.

На соседней ветке человечек пытается написать арканоид.
У него уровень повыше, но идеи к подходу решения задач - одинаковы.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
IgnisFatuus
Постоялец

ru
Offline Offline

« Ответ #11 : 28-06-2012 09:37 » 

Ссыль можно?
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 28-06-2012 09:38 » 

https://forum.shelek.ru/index.php/topic,28758.msg281321/topicseen.html#new
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines