using Sy3tem; using System.Net; using Sy3tem.Net.Sockets; using System.Threading; int main()
{const int PORT = 1979;
const string IPv6_AI>DR = "fe8Q::4cff:fe4f:4fSO"; if(!Socket.SuppartsIPv6) {
Console.Error.WriteLine("Your system does not support IPv64r4n" +
! "Check you have IPv6 enabled and have changed machine.conf ig"); return;
}
IPAddress ipa = IPAddress.Parse[IPv6_ADDR);
IPEndPoint ipeh = пей IPEndPoint(ipa, PORT);
Socket connection = new Socket{
AddressFamily.InterNetworkV6,
SocketType.Stream,
PTOtOCOlType.Tcp); connection.Connect(ipeh);
byte[J b = System.Text.ASCIIEncoding.ASCII.GetBytes{"hello world"); for[int x=0; x<10; x++) {
Console.WriteLine("IX: " + System.Text.ASCIIEncoding-ASCII.GetString(b)); connection.Send[b);
Thread.Sleep[1000):
)
connection.Close[);
)
Рис 3. Код реализации клиента
Литература
1. IPv6 Core Protocols Implementation Qing Li, Tatuya Jinmei and Keiichi Shima, MK, 2006, 8-14 с.
2. Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг А., Торгерсен М., Вилтамут С., Голд П., Питер, СПб, 2011, 45-49 с.
Библиотека LibGDX на языке программирования Java
Наумов Р. В.
Наумов Родион Владимирович /Naumov Rodion Vladimirovich - студент, кафедра информационных технологий, институт математики и информатики, Северо-Восточный федеральный университет, г. Якутск
Аннотация: в статье предлагаются основные сведения о библиотеке LibGDX, основные этапы и стадии.
Ключевые слова: java, startup, the game loop, process input, update, render, shutdown.
LibGDX - это библиотека для сборки составления игры на нескольких платформах. Это библиотека достаточно мощная, она может составить android, ios, htmp, desktop (ПК версия) версии сразу.
13
Также есть много других преимуществ использования LibGDX для разработки игр:
1) Воспроизводит 2D-графики, анимации.
2) Возможность прослушивать музыку и игровые звуковые эффекты.
3) Процесс ввода через клавиатуру, музыку, сенсорный экран или геймпад.
4) Организовывает пользовательские интерфейсы и полностью поддерживает библиотеку управления пользовательского интерфейса.
5) Интегрирование сторонних модулей, таких как физический движок Box2D.
6) Воспроизводит 3D-графики с материальными и световыми эффектами, загрузка 3D моделей распространенных формат файлов [2].
Интегрируется со средой разработки для языка программирования Java. Также можно интегрировать с android studio или eclipse. С помощью этой библиотеки написали игру (Fluppy Bird и др).
Важно понимание жизненного цикла игры. Основные этапы, что прогрессирует игровая программа:
Запуск (Startup):
На этом этапе любые файлы, которые необходимы, загружены, игровые объекты создаются, и инициализируются его значения.
Цикл игры (the game loop):
Этап, который повторяется непрерывно, пока игра запущена, и который состоит из следующих трех подстадий:
1) Процесс входа (process input):
Программа проверяет, если пользователь выполнил какие-либо действия, посылает данные на компьютер, нажатие клавиши клавиатуры, перемещения мыши или нажатие кнопки мыши, касанием на сенсорном экране, или нажатием кнопки на джойстике.
2) Обновление (update):
Выполняет задачи, связанные с состоянием игрового мира и объектов внутри него. Может включать в себя изменение позиции субъектов, основанных на входных данных пользователя или симуляции физики, находя коллизии, чтобы определить, когда два объекта вступают в контакт друг с другом, и какие действия выполняют в ответ, или выбор действия для неигровых персонажей.
3) Визуализации (render):
Рисует все графики на экране, например, фоновые изображения игры, субъектов, пользовательский интерфейс.
Выключение(shutdown):
Этот этап начинается, когда игрок обеспечивает ввод в компьютере, указывая, что он закончил с использованием программного обеспечения и может включать удаление изображения или данные из памяти, сохранение данных игрока или состояние игры, чтобы остановить мониторинг аппаратных устройств пользовательского ввода и закрыть все окна, которые были созданы в этой игре [1].
14
йодах Hrojeci иепегаюг
L-" / PROJECT SETUP
Name: my-gdx-game Package: com.mygdx.game Game class: MyGd*Game Destination: C:\Users\Tlonb3oeaTenb\Desktop4est Android SDK C:iPam\To\Your\Sdk
Browse
Browse
if:<'DX \'C:~z.Release 1.7.0
v Desktop
v Android
■J los
у Html
Bullet
Box2dtights
Free type Ashley
Tools
Ai
ControOers V Box2d
Show Third Party Extensions
Advanced Generate
Рис. 1. Пример сборки LibGDX
Этап сна приостанавливает выполнение программы для данного периода времени. Если цикл игры может работать быстрее, программе может быть поручено приостановить количество времени, которое остается в интервале 16.67 мс, таким образом освобождая центральный процессор для других приложений, которые могут быть запущены в фоновом режиме [1].
Этап аудио, где работает любая фоновая музыка в потоковом режиме или при звуковом эффекте.
В заключении, LibGDX полезная для начинающего разработчика игр библиотека; для тех, кто знаком с языком программирования Java, проблем в осваивании не доставит. Его можно спутать с движком для игр, но это библиотека, простая в использовании.
Литература
1. Beginning Java Game Development with LibGDX / Под ред. Lee Stemkoski. - М., APRESS, 2015. - 14 с.
2. Learning LibGDX Game Development, 2nd Edition / Под ред. Andreas Oehlke - М., Packt Publishing, 2015. - 11 с.
15