Начальные теоретические сведения
Для разработки приложений и игр для платформы Windows Phone чаще всего используется язык программирования C#. Для написания основной логики используются:
////////////////////////////////////////////////////////////////////////////
if (условие1) // условие содержит логическое выражение
{
// Действия, которые надо выполнить, если условие1 выполняется
}
elseif (условие2) // Не обязательно
{
// Действия, которые надо выполнить, если условие1 не выполняется, но выполняется условие2
}
else// Не обязательно
{
// Действия, которые надо выполнить, если условия 1 и 2 не выполняются
}
////////////////////////////////////////////////////////////////////////////
switch (значение1)
{
case значение2:
// Действия, которые надо выполнить, если значения 1 и 2 равны
break;
case значение3:
// Действия, которые надо выполнить, если значения 1 и 3 равны
break;
<…>
}
////////////////////////////////////////////////////////////////////////////
тип [] mas1 = new тип [число элементов]; // Объявления одномерного массива
тип [,] mas2 = new тип [число строк, число столбцов]; // и двумерного массива
////////////////////////////////////////////////////////////////////////////
foreach (тип новая_переменная in mas1) // Цикл по всем элементам
{
// Действия для каждого объекта из mas1, где под объектом подразумевается новая_переменная
}
////////////////////////////////////////////////////////////////////////////
for (i = начальное_значение; i <= Конечное_значение; i++) // Цикл
{
// Тело цикла
}
////////////////////////////////////////////////////////////////////////////
While (условие) // Выполнять цикл пока условие = true
{
// Тело цикла
}
////////////////////////////////////////////////////////////////////////////
Random rand = new Random (); // Создает переменную rand для работы со случайными числами
// Присваивает переменной случайное значение от 0 до максимального значения:
имя_переменной = rand.Next (максимальное_значение);
//Присваивает переменной случайное значение от минимального значения до максимального значения:
имя_переменной = rand.Next (минимальное_значение, максимальное_значение);
////////////////////////////////////////////////////////////////////////////
Разработка игр с использованием XNA
В отличие от разработки приложений для Windows Phone, для создания игр целесообразно использовать набор инструментов XNA. При разработке игры на платформе Silverlight, что используется для создания приложений, может возникнуть трудность с отображением большого количества элементов на экране, а именно долгая отрисовка и как следствие подвисание самой игры, поэтому для создания игр для Windows Phone в SDK включена возможность использования XNA.
Окно создания проекта представлено на рисунке 1.
Рисунок 1 – Создание проекта игры для Windows Phone
Во вкладке «Обозреватель решений» показанны все файлы, включенные в проект, работать предстоит с файлом Game1.cs, в нем располагается основная логика игры (рис.2).
Рисунок 2 – Обозреватель решений
Background.png и PhoneGameThump.png являются иконками игры, которые отображаются в меню смартфона, их необходимо заменить на свои файлы с теми же названиями и размерами изображений.
В папке GameContent необходимо расположить весь контент игры: текстуры, звуки, шрифты и другое. Они помещаются в папку контента и добавляются в проект при нажатии правой копкой мыши в обозревателе решений по папке контента и выборе действия "Добавить существующий элемент" (рис 3):
Рисунок 3 – Добавление контента
Изначально файл Game1.cs содержит несколько стандартных и необходимых методов:
public Game1()
{
// Здесь указываются ориентация экрана, частота обновления,
// разрешение и сенсорные жесты, которые будут использованы в игре
}
protected override void LoadContent()
{
// Здесь загружается весь контент, необходимый в игре
}
protected override void Update(GameTime gameTime)
{
// Здесь располагается логика, выполняемая при обновлении экрана
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
// Здесь производится отрисовка графического контента
base.Draw(gameTime);
}