Введение
Разработка мобильных приложений как написание электронных книг – автор может быстро получить результат, отклики, доход, известность. Современный рынок мобильных устройств полон различными аппаратами всевозможных форм-факторов. Программировать для платформ, которые легко могут уместиться в кармане весьма интересно и каждый может себя попробовать в этом амплуа.
Лаборатория которой руководил автор на протяжении 5 лет занималась разработкой различных приложений для самых популярных за последнее пятилетие операционных систем носимых устройств – Android, IOS, Windows Phone. Хотя сегодня платформа корпорации Microsoft уже мало используется, но возможность практически без дополнительных затрат со стороны программиста (в случае если Visual Studio уже установлено) разрабатывать эти самые приложения, выкладывать их в магазины при этом не неся затрат на тиражирование, продажу, экспозицию и другие накладные расходы вызывает неподдельный интерес среди любой среды, где собираются единомышленники по созданию кода.
Данная книга посвящена разработке приложений именно под платформу от Microsoft и является первой в цикле, которые автор намерен опубликовать.
У читателя предполагается опыт программирования на объектно-ориентированном языке, желательно опыт на C#.
По мнению автора нет ничего более увлекательного для программиста, чем разработка игрового приложения – именно так можно заинтересовать аудиторию и постараться окунуть ее в «бездну программирования». Далее по тексту используется собирательное понятие игра, как отражение разрабатываемых мобильных приложений (соотвественно приложения и классы именуются Game).
Автор хотел бы выразить огромную благодарность Сыровацкой Е. С. и Вавиличеву А. В., которые проверяли тексты программ из книги, принимали непосредственное участие в тестировании приложений и внимание к работе.
Работа с XNA
Начальные теоретические сведения
Для разработки приложений и игр для платформы 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 (минимальное_значение, максимальное_значение);
////////////////////////////////////////////////////