none
C# Помогите начинающему программисту RRS feed

  • Вопрос

  • Пытаюсь создать простую игру, в визуал экспрес студио 2010 в поле формы,

    Суть игры очень простая, есть изображение виде черного квадратика, это наш персонаж и он определен в отдельный класс (Igrok), к примеру я использую лейбел с черной заливкой, этот лебел должен передвигаться стрелка ми клавиатуры, также у него есть событие, при нажатие пробела (space) он стреляет черными квадратами, которые проверяются на коллизию с врагами.

    Также есть класс (Vragi) - они тоже изображены виде черного квадрата, и появляются со всех 4-х сторон формы кажкую секунду, их цель дойти до персонажа и коснуться его, тогда игра будит окончена!



    Не могу понять как менять позиции координат _х _у

    как задать событие с клавиатуры.

    как проверить коллизию.

    как сделать чтобы объект появлялся, в определенной координате до бесконечности.

    Пожалуйста помогите примерами как это сделать, больше всего меня интересуют методы!

    Зарание спосибо!


    • Изменено Денис313 20 июля 2012 г. 13:32
    • Перемещено PashaPash 20 июля 2012 г. 16:21 (От:Где задать вопрос?)
    20 июля 2012 г. 13:29

Ответы

  • Ну Unity эта разработка не имеющая отношения к Microsoft и маскимум что вам здесь ответят про этот движок это то, что если у него есть свободно распространяемый SDK, то качайте и юзайте.

    Про XNA (а его я вам больше советую) - VisualStudio у вас уже есть, осталось докачать XNA Game Studio 3.0 и пробовать разработку игр. Вот неплохой сайт посвященный разработке XNA. Там кстати есть FAQ для начинающих и форум где можно обсудить тонкости разработки игр. Ну и на нашем форуме есть ветка посвященная играм. Смотрите какие вросы задают там новички и задавайте свои.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    20 июля 2012 г. 14:57
  • Полагаю несколько оффтопно прозвучит обращение к LXGDARK, но коль уж топикастер технологию подбирает - вотъ™:

    Все говорят "XNA". Все нахваливают и рекомендуют эту технологию. ..."супер платформа"... ..."легко разрабатывать"... ..."мощный и простой в обращении инструментарий разработчика"... Это лишь толика того что можно получить в ответ на вопрос что такое "XNA".

    Позвольте возразить - пробовал я порендерить как то трехмерные объекты, подвигать, повзаимодействовать... Работает. Замечательно. Все действительно просто. Но не дает покоя засевший гвоздем в голове один простой вопрос - почему до сих пор нет ни одной толковой игрушки разработанной на базе этой без преувеличения "восхитительной" технологии? Толковая в моем понимании - это та, которая расходится миллионными тиражами по всему миру, локализована на "100500" языков и принесла собственно "толк" своим создателям? Самое реальное что я видел, из того что можно потрогать ручками - игра "Магика", но и она отстала от качественного уровня современных игр по крайней мере лет на 10. Вот в 2002 она была бы кошерной, хотя не уверен.

    Исходя из внушительного объема информации о технология игростроения, с которой я ознакомился, кто как на чем и что пишет, мной был сделан неутешительный для этой технологии вердикт - XNA бесперспективная технология. Скороспелый плод огромной корпорации стремящейся стать "затычкой в каждой бочке" и запустить свои без преувеличения длинные руки во все направления цифровой индустрии. XNA - эксперимент, созданный из расчета пойдет - вбухаем в него бабла, а нет так нет, запустим проект GDT, или с другим названием из генератора аббревиатур в верхнем регистре.

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

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

    P.S. Конечно же я могу заблуждаться. Я не из тех людей которые уперлись в какоето свое убеждение и готовы глотку на каждом углу драть что они правы. Но переубедить меня можно только фактами.  Воздух сотрясать бессмысленными высказываниями о том какая это технология замечательная, и бросаться красиво звучащими определениями ее положительных качеств не стоит, наслышан. Рекламу оставим создателям XNA. Либо факты (с ссылками на немайкрософт источники), либо ничего.

    5 декабря 2012 г. 8:31

Все ответы

  • Если вас интересует разработка именно игр, то вам стоит смотреть в сторону XNA. Если вы решили на примере игры начать изучать разработку настольных приложений, то это не удачный способ знакомства с разработкой.

    Так или иначе в любом случае вы задаете ряд базовых вопросов на которые нельзя вот взять и быстро и понятно ответить. Базовые вопросы программирования лучше изучать по книгам. Вот была тема - что почитать начинающему?


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Изменено LXGDARK 20 июля 2012 г. 13:56
    20 июля 2012 г. 13:56
  • Спосибо за отзыв!

    я смотрю в сторону Unity что вы можете посоветовать для этой программы.

    Но про XNA много слышал, у меня вопрос, XNA бесплатный или в него нужно выкупать?

    И уже прочитал несколько книг, но они дают только основы программирования, и не дают того что мне нужно, конкретно в играх!

    К примеру колизя, или случайные события.
    Основы я уже изучил, не плохо владею ими!

    20 июля 2012 г. 14:50
  • Ну Unity эта разработка не имеющая отношения к Microsoft и маскимум что вам здесь ответят про этот движок это то, что если у него есть свободно распространяемый SDK, то качайте и юзайте.

    Про XNA (а его я вам больше советую) - VisualStudio у вас уже есть, осталось докачать XNA Game Studio 3.0 и пробовать разработку игр. Вот неплохой сайт посвященный разработке XNA. Там кстати есть FAQ для начинающих и форум где можно обсудить тонкости разработки игр. Ну и на нашем форуме есть ветка посвященная играм. Смотрите какие вросы задают там новички и задавайте свои.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    20 июля 2012 г. 14:57
  • Полагаю несколько оффтопно прозвучит обращение к LXGDARK, но коль уж топикастер технологию подбирает - вотъ™:

    Все говорят "XNA". Все нахваливают и рекомендуют эту технологию. ..."супер платформа"... ..."легко разрабатывать"... ..."мощный и простой в обращении инструментарий разработчика"... Это лишь толика того что можно получить в ответ на вопрос что такое "XNA".

    Позвольте возразить - пробовал я порендерить как то трехмерные объекты, подвигать, повзаимодействовать... Работает. Замечательно. Все действительно просто. Но не дает покоя засевший гвоздем в голове один простой вопрос - почему до сих пор нет ни одной толковой игрушки разработанной на базе этой без преувеличения "восхитительной" технологии? Толковая в моем понимании - это та, которая расходится миллионными тиражами по всему миру, локализована на "100500" языков и принесла собственно "толк" своим создателям? Самое реальное что я видел, из того что можно потрогать ручками - игра "Магика", но и она отстала от качественного уровня современных игр по крайней мере лет на 10. Вот в 2002 она была бы кошерной, хотя не уверен.

    Исходя из внушительного объема информации о технология игростроения, с которой я ознакомился, кто как на чем и что пишет, мной был сделан неутешительный для этой технологии вердикт - XNA бесперспективная технология. Скороспелый плод огромной корпорации стремящейся стать "затычкой в каждой бочке" и запустить свои без преувеличения длинные руки во все направления цифровой индустрии. XNA - эксперимент, созданный из расчета пойдет - вбухаем в него бабла, а нет так нет, запустим проект GDT, или с другим названием из генератора аббревиатур в верхнем регистре.

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

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

    P.S. Конечно же я могу заблуждаться. Я не из тех людей которые уперлись в какоето свое убеждение и готовы глотку на каждом углу драть что они правы. Но переубедить меня можно только фактами.  Воздух сотрясать бессмысленными высказываниями о том какая это технология замечательная, и бросаться красиво звучащими определениями ее положительных качеств не стоит, наслышан. Рекламу оставим создателям XNA. Либо факты (с ссылками на немайкрософт источники), либо ничего.

    5 декабря 2012 г. 8:31
  • JusteG я почти полностью с вами согласен, за тем лишь исключением, что никто и никогда не рекомендует использовать XNA для игр аля HalfLife. Это платформа по большей части для казуальных игр и поверьте есть масса таковых, играя в которых вы и не догадываетесь на чем она была сделана. Что до загубливания будущих творцов игровой индустрии, то если бы вопрос стоял "Я пишу на низкоуровневом коде и у меня такая то проблема", то я бы даже не полез в этот топик. Когда же перед человеком задача из ряда пятнашек, то ему не нужно для этого изучать DirectX и в принципе подойдет проект WinForms/WPF, но на XNA больше открытых дверей.

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


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    5 декабря 2012 г. 8:45
  • Соглашусь с вами. Все так и есть.

    Собирался как то написать свою игру - аля "Maincraft". Но так и не определился с платформой. На достаточно высоком уровне пишу на C#, но сложилось такое мнение, что он мне в этом не помощник. Потихоньку при наличии свободного времени изучаю ++. Может вы мне порекомендуете что нибудь? С какой стороны подступится к задаче?

    Подпись улыбнула =)

    • Изменено JusteG 5 декабря 2012 г. 9:04
    5 декабря 2012 г. 8:55
  • JusteG, понимаете ли, в чём дело. Игрострой давно базируется на C++. Опытным разработчикам нет смысла переходить на другую платформу/язык.

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

    В то же время, именно C++ позволяет выжать все соки из машины. Тут управляемые платформы, без сомнения, проигрывают. Но они выигрывают в надёжности и безопасности софта (что не критично для навороченных игр). Именно поэтому игры, выжимающие всё из компьютера, создаются и будут создаваться на языках типа C++, и лишь игры попроще - на XNA.

    ЗЫ: вопрос на засыпку: попробуйте назвать несколько "толковых" неигровых приложений на C#. Не можете? Так что, списываем полностью платформу .NET? Или всё же позволим ей существовать именно там, где ей место - в нише бизнес-софта.

    5 декабря 2012 г. 9:04
  • JusteG не бросайте топик без ответа. Пожалуйста отметьте ответ который вам помог или, если такого нет, уточните что еще под вопросом.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    15 января 2013 г. 15:31
  • =) Это не мой топик))))
    22 февраля 2013 г. 5:58