Образец TilePuzzle: демонстрация взаимодействия между C# и C++
Обновлен: Ноябрь 2007
В образце TilePuzzle демонстрируется ряд важных возможностей Visual C++.
В состав образца входят компоненты, реализованные на базе новых технологий, таких как C++, C# и новые атрибуты, связанные с COM.
В образце демонстрируется взаимодействие между управляемыми компонентами (разработанными в C++ и C#) и компонентами в машинном коде (разработанными в C++ с использованием атрибутов COM).
В образце реализована простейшая игра-головоломка — "пазл". В начале загружается картинка; она разбивается на произвольное число квадратных фрагментов (определяемое пользователем), которые случайным образом перемешиваются. Пользователь должен решить головоломку, передвигая квадратики для восстановления первоначального изображения. Помимо описанных возможностей, в образце демонстрируется решение головоломки с помощью эвристических алгоритмов поиска, написанных на языке C++, и классов .NET Framework.
Примечание о безопасности. |
---|
Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению. |
Чтобы получить образцы и инструкции по их установке, выполните следующие действия.
В меню Справка среды Visual Studio выберите пункт Примеры.
Дополнительные сведения см. в разделе Поиск файлов примеров.
Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.
Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.
Построение и запуск образца
Построение и запуск образца TilePuzzle с использованием Visual Studio
В среде Visual Studio IDE загрузите файл решения PUZZLE.sln.
В обозревателе решений щелкните правой кнопкой мыши решение PUZZLE.
В контекстном меню выберите команду Построить решение.
В меню Отладка выберите команду Пуск.
После успешного построения проекта попробуйте решить головоломку сами.
Архитектура образца
Базовая архитектура имеет следующий вид:
Примечание. |
---|
Возможности сохранения и загрузки игры не реализованы. |
Для доступа к COM-компоненту машинного кода из управляемых объектов .NET Framework в образце используется программа TLBIMP.EXE, генерирующая прокси-библиотеку DLL для .NET Framework.
Классы
В образце показаны следующие классы:
System.Windows.Forms.Form — реализует объект AboutForm в проекте PUZZLE.
System.Object — реализует объект GameLevelEnum в проекте PUZZLE.
System.Delegate — реализует объект SolveThreadProcDlg в проекте PUZZLE.