Визуализация / Разработка игр на Silverlight для начинающих

Теперь нам нужно отображать на экране нашу разработанную модель. А вот эта часть уже имеет самое прямое отношение к Silverlight.

Поскольку у нас изображения картинок в одном файле, нам потребуется некий ограничивающий контейнер, отсекающий изображение по координатам, а также нужно само изображение.

Модель данных / Разработка игр на Silverlight для начинающих

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


Назовем его GameBoard.cs. Это будет главный файл игровой модели.

Низкий старт / Разработка игр на Silverlight для начинающих

Создадим новое приложение. Я назвал его MemoryCards (карточки памяти).

В Solution Explorer проекта MemoryCards, чтобы сразу упорядочить нашу программу, я создал четыре дополнительных каталога. Images – для изображений, Views – для визуальных форм и их обработки, Models – для моделей данных и их обработки. Common – общий вспомогательный функционал.

Изначально нужно окно в котором будем отображать игру. Можно воспользоваться MainPage, но лучше создадим свое окно и поместим его в каталог Views. Щелкнув правой кнопкой мыши по дереву на любом элементе, можно добавлять новые или существующие элементы. Давайте создадим новый элемент Silverlight Page и назовем его GameBoard (игровая доска).


В результате в дереве проекта внутри узла Views должно получиться два связанных файла GameBoard.xaml и GameBoard.cs

Чтобы запустить именно наше окно при старте приложения изменим вызов в файле App.xaml.cs

MemoryCards / Разработка игр на Silverlight для начинающих

Простая карточная игра для тренировки памяти

Игра представляет собой игровое поле N*M с расположенными на нем парными карточками изображений. Изображений изначально не видно (то есть, рубашкой вверх, изображением вниз). Игрок щелкая мышью по карточкам открывает их по одной. Если две открытые карточки совпали, то они становятся неактивными. Если открывается третья и совпадений нет, то две предыдущие закрываются. Цель игры открыть (сделать неактивными) все карточки на поле за минимальное количество времени и попыток.
Чтобы не испытывать терпение читателей и не разочаровывать потом (может кому-то последующие тексты по теме покажутся не нужными). Покажу, что же должно получиться в результате, а затем буду описывать как это сделать. Сыграть в эту карточную игру.

Онлайн трансляция по HTML5


Прямо сейчас (в 10:00 по московскому времени) начнется онлайн трансляция по HTML5

http://www.microsoft.com/ru-ru/events/html5camp/

Как гласит лозунг, висящий на сцене: не делайте никакой войны в вебе (make web no war). Ну что ж посмотрим, посмотрим...

Спустя несколько часов, по окончании трансляции...

Началось все с шуток, да прибауток, было весело. Рейтинг голосования трансляции упал ниже 3 баллов из 9. Потом пошли доклады резко насыщенные техническими деталями, и рейтинг потихоньку пополз вверх. Было очень интересно, но из-за работы больше слушал доклады, чем смотрел. Особенно мне жаль, что не получилось посмотреть полностью доклад "Разработка игр в HTML5", из-за которого я собственно и хотел посмотреть трансляцию.

Общее впечатление по трансляции сложилось хорошее, но конкретно по HTML5 мнение сильно не изменилось. Может быть лет через несклько он и станет кроссбраузерным решением, но сейчас. Так что пока лучше чем silverlight и flash, подходящего кроссбраузерного решения я не вижу.