Это то, что я сейчас использую (моя идея, а не 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;
}
}
C ++ подойдет. Я думаю, что ему лучше всего изучить управление памятью, указатели и т. Д. ПРЕЖДЕ чем переходить к C #, так как он лучше поймет, как программа работает. В противном случае он будет просто рассматривать память как волшебство, а сборщик мусора не будет иметь реального значения. Всегда хорошо иметь четкое представление о базовых языках (C, C ++, Assembly и т. Д.), Чтобы создавать лучший код.
C ++ - основной язык, используемый для большинства «серьезных» игр. Если он занимается программированием для крупной игровой студии, ему нужно знать грязные мелочи C ++.
Начинать с C ++ может быть непросто для новичка. Я бы порекомендовал C как отличную отправную точку. Вы познакомитесь с концепциями управления памятью и другими низкоуровневыми вещами, прежде чем добавлять сложность C ++.
Поскольку C # является управляемым кодом, он не получит понимания низкоуровневого управления памятью. Это ему не поможет, когда ему придется иметь дело с C ++. В этом случае приближение к металлу поможет ему в долгосрочной перспективе.
Программирование игр на C ++ великолепно. Но если вам не нравится полная боль во время обучения программированию, вы можете начать с XNA. Это позволит вам работать над игровым контентом и логикой вместо того, чтобы бороться с кодом вашего движка.
А теперь, если вам нравится боль, для начала выберите DirectX и C ++.
Если он хочет попасть в отрасль, знание C ++ жизненно важно , поскольку большинство игровых движков используют C ++. (Я также разработчик должен в какой-то момент использовать C или C ++)
Однако, если он хочет писать игры (например, закончить написание игры), то C ++ может быть не лучшим вариантом. Он очень сложен и имеет множество подводных камней, которые делают его медленным для разработки. Это не только управление памятью, но и такие вещи, как ужасные ошибки компиляции, связанные с stl, и т. Д., Которые очень затрудняют выполнение чего-либо при первой попытке для программирования.
Лучше было бы взглянуть на что-то вроде C # или Python, поскольку это гораздо менее сложные языки, и у каждого из них есть хорошая игровая библиотека.
Если он решит, что C ++ - правильный путь, я бы порекомендовал хотя бы библиотеку визуализации. Что-то вроде Ogre3D как минимум. Причина этого описана в статье Пишите игры, а не движки . Хотя написание (или попытка написания) движка на основе базового API будет хорошим опытом, маловероятно, что игра будет завершена.
Python хорош в программировании игр. См. i-хочу-изучать-разработку-игры-какой-язык-следует-использовать . Рассмотрите возможность изучения Pygame .
Pygame - это набор модулей Python, предназначенных для написания игр. Pygame добавляет функциональность поверх превосходной библиотеки SDL. Это позволяет создавать полнофункциональные игры и мультимедийные программы на языке Python. Pygame очень портативен и работает почти на всех платформах и операционных системах. Сам Pygame был загружен миллионы раз, и его сайт посетили миллионы раз.
Что-то, что вы должны учитывать, это существующие SDK, вы, вероятно, не захотите программировать все самостоятельно. Например, есть довольно хорошие 3D-движки с различными типами лицензирования, которые могут вам подойти.
Так что вы должны одновременно проверить существующие библиотеки и SDK, а также несколько языков, которые вы хотите использовать вместе. Адаптация к C ++ или C # не так уж и сложна, первый более строгий и требовательный, тогда как он дает вам более широкий контроль над памятью, второй позволяет вам сосредоточиться на основной области разработки, но берет на себя управление памятью (в основном), а это значит, что у вас могут быть проблемы в реальном времени.
В конце концов, любая помощь, которую вы можете получить для создания своего приложения, неизменно перевешивает небольшие различия между этими объектно-ориентированными языками (до некоторой степени).
Существует множество игровых движков, большинство из которых перечислены на этой странице . В свободном мире особый интерес представляют:
Несвободные пакеты включают Unity и др.
Если вы не хотите использовать какой-либо из этих движков,
Если ваша цель - развлечься и на самом деле закончить игры самостоятельно (или в небольших группах), которые относительно малы, то я говорю C # и XNA.
Если ваша цель - работать в индустрии, над сверхбюджетными играми с гигантскими командами ... Потом C ++ ...
Я думаю, что лучше тщательно выучить такой язык, как Java или C #, прежде чем браться за C ++. Я говорю это потому, что вы легко можете увязнуть в деталях и тонкостях C ++.
Я боролся с C ++ время от времени (в качестве хобби) в течение нескольких лет, затем в Uni меня научили Java, я перестал заниматься C ++, получил работу по Java в течение нескольких лет, затем перешел на C ++ dev. Я подобрал все очень быстро, потому что я уже знал, какие шаблоны и концепции я хочу применить, и мне оставалось просто изучить синтаксис и странности и снова привыкнуть к указателям. Мне просто нужно было узнать КАК, а не ПОЧЕМУ. Использование C ++ в качестве первого основного языка означает одновременное изучение КАК и ПОЧЕМУ, и это может сбивать с толку!
XNA - хорошее предложение.
Я бы предпочел XNA и C # для быстрого и безболезненного введения. Я бы использовал C ++ и такую библиотеку, как DirectX, для программирования игр после некоторого опыта в этой теме. Большинство из наиболее успешных. игры написаны на C ++.
Обычно люди выдыхаются, прежде чем завершить свою первую игру. Поэтому, если ваш друг не имеет послужной список того, чтобы быть упорно определены, я рекомендовал бы наиболее вариант высокого уровня доступен. Если вы выбираете между C ++ и C #, это будет C #.