Создадим новое приложение. Я назвал его MemoryCards (карточки памяти).
В
Solution Explorer проекта
MemoryCards, чтобы
сразу упорядочить нашу программу, я
создал четыре дополнительных каталога. Images
– для изображений, Views
– для визуальных форм и их обработки,
Models – для
моделей данных и их обработки. Common –
общий вспомогательный функционал.
Изначально нужно окно в котором будем отображать игру. Можно воспользоваться MainPage, но лучше создадим свое окно и поместим его в каталог Views. Щелкнув правой кнопкой мыши по дереву на любом элементе, можно добавлять новые или существующие элементы. Давайте создадим новый элемент Silverlight Page и назовем его GameBoard (игровая доска).

В
результате в дереве проекта внутри узла Views
должно получиться два связанных файла GameBoard.xaml
и GameBoard.cs
Чтобы запустить именно наше окно при старте приложения изменим вызов в файле App.xaml.cs
- private
void
Application_Startup(object
sender, StartupEventArgs
e)
- {
- //this.RootVisual = new MainPage();
- this.RootVisual = new Views.GameBoard();
- }
- {
Как видно из Views.GameBoard(), каждый каталог автоматически добавляет нам пространство имен, и чтобы обратиться к нужным классам, следует пройти по пути, перечисляя имена через точку.
В фале App.xaml можно нарисовать что-либо, для того, чтобы запустив проект на выполнение убедиться, что открывается именно окно GameBoard.
Далее у нас есть два пути: заниматься проверкой различных возможностей в Silverlight, в том числе и видимо самым интересным - визуализацией в игре, или заняться моделью данных игры. С одной стороны модель игры это основа, каркас логики игры, и значит ее нужно делать в первую очередь. Но с другой стороны, когда среда разработки мало знакома, то всегда требуются эксперименты, что проверить работоспособность и вообще возможность реализации тех или иных идей в этой среде. Вполне может такое статься, что увидев как работает какая-либо «фича» в чужой программе, самим не получается такое реализовать и как результат, заранее разработанная модель игры становится не востребованной.
В данном, конкретном случае для нашей простой игры и возможности тоже достаточно просты, а их реализация описана в разных текстах посвященных Silverlight. К тому же я провел предварительные тесты, и выяснил, что все действительно работает так, как надо для этой игры. Поэтому здесь начнем с разработки модели, так как на ней основывается все остальное.
Но если есть желание, поэкспериментировать самим, то для реализации задуманной игры нам потребуется следующие возможности среды:
загрузка изображения из файла
вывод части загруженного изображения на экран
отслеживание щелчков мыши по разным кусочкам изображений
подсчет прошедшего времени
(этот список будет расширяться по мере ввода дополнительных «фич» в игру)
Можете прервать чтение, и вернуться после исследования этих возможностей. Будет интересно, у вас получилось сделать таким же способом или нашлись другие варианты.
Комментариев нет:
Отправить комментарий
Да, я внимательно слушаю