Подключите нашего Telegram-бота для уведомлений о новых проектах

Написать игру с использованием Windows Forms

a
Заказчик
Отзывы фрилансеров: + 0 - 0
Зарегистрирован на сайте меньше месяца
Бюджет: 5000 руб/заказ
49.17 $ — 47.12 €
Дедлайн: 27.12.2024
Исполнитель определен: Алексей Кравцов  
Разработать интерактивную программу с использованием Windows Forms. Все задания требуют разработать поддержку игры человек – человек (разработка алгоритмов для игры человек – компьютер не требуется). Общие требования к программам:
• на экране должны отображаться сведения о том, чей сейчас ход; 
• любые действия пользователя должны вызывать разумный отклик программы (например, при попытке выбрать мышью невыбираемый объект на экране можно выдать звуковой сигнал); 
• программа не должна допускать ходы, не соответствующие правилам игры; 
• программа должна отслеживать основные события в игре (как минимум выигрыш и проигрыш); 
• программа не должна использовать никакие сторонние библиотеки, не входящие в состав стандартной установки Windows (например, OpenGL32.dll использовать можно, а библиотеку GLAUX или QT нельзя).

РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ ГРАФИКИ В WINDOWS FORMS 
Начиная с VisualStudio 2010, разработчики убрали возможность создания проектов Windows Forms на языке С++. В принципе, это разумное решение, поскольку реально под Windows Forms требовалось писать на специальном диалекте языка, Managed C++, который достаточно сильно отличается от классического С++. Создание же проектов Windows Forms на языке C# неудобно только тем, что подключение модулей на языке С++ выполнить не очень просто, а стандартной библиотеки работы с графикой OpenGL или DirectX на языке C# нет. Конечно, сторонние обертки для вызова функций OpenGL или DirectX на C# найти в Интернете можно, но, наверное, гораздо полезнее научиться делать их самому. Для связи С++ и C# используется создание на С++ динамически загружаемой библиотеки (dll). К сожалению, простой механизм вызова из библиотеки функций-членов классов отсутствует, поэтому вызов произво-дится только через статические функции. Для того чтобы функция была доступна для вызова из динамической библиотеки, она должна иметь опи-сание extern "C" __declspec(dllexport), например: 
extern "C" __declspec(dllexport) void MyFunction(int arg1); 
На языке C# для описания этой функции из динамически загружаемой библиотеки используется следующая конструкция: 
[DllImport("file.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "MyFunction")] public static extern void MyFunction(int param); 
где file.dll – имя файла динамически загружаемой библиотеки, ключ EntryPoint указывает имя функции из этой библиотеки, а описание функ-ции на C# должно перечислять параметры тех же типов и в том же порядке, что и в функции на С++. При этом допускается использование только скалярных типов, имеющих однозначное соответствие в языках (int, double). 
Для передачи строк нужно использовать уже более сложную конструкцию, например, принимающая строку функция на С++ описывается extern "C" __declspec(dllexport) void MyFunction(wchar_t*txt); 
а вызывающая её функция на C#: 
[DllImport("file.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "MyFunction")] public static extern void MyFunction ([MarshalAs(UnmanagedType.LPWStr)]string text);
Разделы:
Опубликован:
15.12.2024 | 13:40 [поднят: 15.12.2024 | 13:40]

Теги: нужен программист, ищу программиста, резюме программиста, требуется разработка и программирование игр

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».