C++ как первый язык для игрового программирования Windows? [закрытый]

Это то, что я сейчас использую (моя идея, а не API):

System.Diagnostics;    

void InternetConnection(string str)
{
    ProcessStartInfo internet = new ProcessStartInfo()
    {
        FileName = "cmd.exe",
        Arguments = "/C ipconfig /" + str,
        WindowStyle = ProcessWindowStyle.Hidden
    };  
    Process.Start(internet);
}

Отключение от Интернета: InternetConnection("release");
Подключение к Интернету: InternetConnection("renew");

Отключение просто лишит вас доступа к Интернету (на значке Wi-Fi появится значок предупреждения). Подключение может занять пять секунд или более.

Не по теме :
В любом случае вы можете проверить, подключены ли вы или нет (когда вы используете код выше), я лучше предлагаю это:

System.Net.NetworkInformation;

public static bool CheckInternetConnection()
{
   try
   {
       Ping myPing = new Ping();
       String host = "google.com";
       byte[] buffer = new byte[32];
       int timeout = 1000;
       PingOptions pingOptions = new PingOptions();
       PingReply reply = myPing.Send(host, timeout, buffer, pingOptions);
            return (reply.Status == IPStatus.Success);
    }
    catch (Exception)
    {
       return false;
    }
}
7
задан Matthew Daly 24 October 2009 в 13:45
поделиться

10 ответов

C ++ подойдет. Я думаю, что ему лучше всего изучить управление памятью, указатели и т. Д. ПРЕЖДЕ чем переходить к C #, так как он лучше поймет, как программа работает. В противном случае он будет просто рассматривать память как волшебство, а сборщик мусора не будет иметь реального значения. Всегда хорошо иметь четкое представление о базовых языках (C, C ++, Assembly и т. Д.), Чтобы создавать лучший код.

15
ответ дан 6 December 2019 в 04:56
поделиться

C ++ - основной язык, используемый для большинства «серьезных» игр. Если он занимается программированием для крупной игровой студии, ему нужно знать грязные мелочи C ++.

Начинать с C ++ может быть непросто для новичка. Я бы порекомендовал C как отличную отправную точку. Вы познакомитесь с концепциями управления памятью и другими низкоуровневыми вещами, прежде чем добавлять сложность C ++.

Поскольку C # является управляемым кодом, он не получит понимания низкоуровневого управления памятью. Это ему не поможет, когда ему придется иметь дело с C ++. В этом случае приближение к металлу поможет ему в долгосрочной перспективе.

8
ответ дан 6 December 2019 в 04:56
поделиться

Программирование игр на C ++ великолепно. Но если вам не нравится полная боль во время обучения программированию, вы можете начать с XNA. Это позволит вам работать над игровым контентом и логикой вместо того, чтобы бороться с кодом вашего движка.

А теперь, если вам нравится боль, для начала выберите DirectX и C ++.

6
ответ дан 6 December 2019 в 04:56
поделиться

Если он хочет попасть в отрасль, знание C ++ жизненно важно , поскольку большинство игровых движков используют C ++. (Я также разработчик должен в какой-то момент использовать C или C ++)
Однако, если он хочет писать игры (например, закончить написание игры), то C ++ может быть не лучшим вариантом. Он очень сложен и имеет множество подводных камней, которые делают его медленным для разработки. Это не только управление памятью, но и такие вещи, как ужасные ошибки компиляции, связанные с stl, и т. Д., Которые очень затрудняют выполнение чего-либо при первой попытке для программирования.
Лучше было бы взглянуть на что-то вроде C # или Python, поскольку это гораздо менее сложные языки, и у каждого из них есть хорошая игровая библиотека.

Если он решит, что C ++ - правильный путь, я бы порекомендовал хотя бы библиотеку визуализации. Что-то вроде Ogre3D как минимум. Причина этого описана в статье Пишите игры, а не движки . Хотя написание (или попытка написания) движка на основе базового API будет хорошим опытом, маловероятно, что игра будет завершена.

3
ответ дан 6 December 2019 в 04:56
поделиться

Python хорош в программировании игр. См. i-хочу-изучать-разработку-игры-какой-язык-следует-использовать . Рассмотрите возможность изучения Pygame .

Pygame - это набор модулей Python, предназначенных для написания игр. Pygame добавляет функциональность поверх превосходной библиотеки SDL. Это позволяет создавать полнофункциональные игры и мультимедийные программы на языке Python. Pygame очень портативен и работает почти на всех платформах и операционных системах. Сам Pygame был загружен миллионы раз, и его сайт посетили миллионы раз.

3
ответ дан 6 December 2019 в 04:56
поделиться

Что-то, что вы должны учитывать, это существующие SDK, вы, вероятно, не захотите программировать все самостоятельно. Например, есть довольно хорошие 3D-движки с различными типами лицензирования, которые могут вам подойти.

Так что вы должны одновременно проверить существующие библиотеки и SDK, а также несколько языков, которые вы хотите использовать вместе. Адаптация к C ++ или C # не так уж и сложна, первый более строгий и требовательный, тогда как он дает вам более широкий контроль над памятью, второй позволяет вам сосредоточиться на основной области разработки, но берет на себя управление памятью (в основном), а это значит, что у вас могут быть проблемы в реальном времени.

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

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

Несвободные пакеты включают Unity и др.

Если вы не хотите использовать какой-либо из этих движков,

2
ответ дан 6 December 2019 в 04:56
поделиться

Если ваша цель - развлечься и на самом деле закончить игры самостоятельно (или в небольших группах), которые относительно малы, то я говорю C # и XNA.

Если ваша цель - работать в индустрии, над сверхбюджетными играми с гигантскими командами ... Потом C ++ ...

0
ответ дан 6 December 2019 в 04:56
поделиться

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

Я боролся с C ++ время от времени (в качестве хобби) в течение нескольких лет, затем в Uni меня научили Java, я перестал заниматься C ++, получил работу по Java в течение нескольких лет, затем перешел на C ++ dev. Я подобрал все очень быстро, потому что я уже знал, какие шаблоны и концепции я хочу применить, и мне оставалось просто изучить синтаксис и странности и снова привыкнуть к указателям. Мне просто нужно было узнать КАК, а не ПОЧЕМУ. Использование C ++ в качестве первого основного языка означает одновременное изучение КАК и ПОЧЕМУ, и это может сбивать с толку!

XNA - хорошее предложение.

6
ответ дан 6 December 2019 в 04:56
поделиться

Я бы предпочел XNA и C # для быстрого и безболезненного введения. Я бы использовал C ++ и такую ​​библиотеку, как DirectX, для программирования игр после некоторого опыта в этой теме. Большинство из наиболее успешных. игры написаны на C ++.

0
ответ дан 6 December 2019 в 04:56
поделиться

Обычно люди выдыхаются, прежде чем завершить свою первую игру. Поэтому, если ваш друг не имеет послужной список того, чтобы быть упорно определены, я рекомендовал бы наиболее вариант высокого уровня доступен. Если вы выбираете между C ++ и C #, это будет C #.

1
ответ дан 6 December 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: