Урок 3: Шпаргалки для начинающих программистов, глава 1

В первом уроке мы установили среду разработки, во втором уроке вам предстояло скомпилировать вашу первую программу для PSP, и, пожалуй, пора двигаться дальше. Приложение «Hello Word» — веселое и предоставляющее большой объем новых знаний, но по сути оно довольно примитивное.

Вы должны понимать, что данные учебные материалы не могут охватить все нюансы и ограничиваются только особенностями программирования на PSP. Представленные вашему вниманию, уроки не смогут в полной мере научить вас «создавать игры», они лишь рассказывают о первых шагах программирования.

То, чему вы здесь научитесь, станет вашей основой программирования на PSP (или C). Для того, чтобы получить полнофункциональную программу, помимо полученных основных знаний необходимо проанализировать всю информацию, прочитать несколько толстых книжек и включить свое мышление.

Ознакомившись с предыдущим уроком 2, вы уже знаете, как установить основную программу. Поэтому в этом уроке мы не будем повторять схему составления данной программы. То есть строки, находящиеся в программе до «printf(«Hello World.»);», уже напечатаны для нашей программы, и нам нет необходимости проверять их снова.

Результатом наших учебных материалов должна стать программа, в которой расчет осуществляется в прямом порядке до тех пор, пока пользователь не нажмет любую кнопку или пока счетчик не достигнет своего лимита. Полученное приложение является законченным; оно комбинирует сразу несколько элементов программирования C (Си) для создания простой, но очень полезной программы без использования сложных функций. В этом учебном руководстве мы задействуем: переменные, операторы if/then, циклы, текстовое форматирование и кнопки ввода.

В первую очередь мы должны добавить более двух функций header. Первая из них позволит нам осуществлять больший контроль за экраном (нам понадобится эта функция немного позже). Вторая, которую также будем применять, позволит нам использовать кнопки ввода. Итак, для их добавления (pspdisplay.h и pspctrl.h), напечатаем две строки немного ниже и правее операторов «#include»:

#include <pspdisplay.h>
#include <pspctrl.h>


Это вся дополнительная установка, которая нам была нужна на данный момент. Далее нам необходимо написать функциональный код. С этого момента, весь код должен быть включен в основную функцию. Для этого мы заменяем оператор «printf» из урока 2. Сначала нам следует обновить переменные, которые мы использовали в нашей программе. Переменные примут следующий вид:

//ПРИМЕР (Psuedo Code)
//НЕ ДОБАВЛЯЙТЕ В СВОЮ ПРОГРАММУ
type name=value;


type – тип данных нашей переменной. Каждый тип данных содержит данные (только данные). Например, тип «int» (расшифровывающийся как integer – значение целого числа) содержит любое не десятичное число от -32767 до 32767. Тип «float» подобно «int», но он может включать только десятичные числа. Тип «char» — только буквы. Для нашей программы, мы используем только тип «int» и определенный PSP -тип «SceCtrlData», в котором хранится информация о состоянии кнопок (нажаты/не нажаты).

Чтобы объявить две переменные, которые мы собираемся использовать, вставляем следующие две строки в нашу программу (они должны находится в том месте, где была строка из урока 2 «printf(«Hello World.»); «, то есть данную строку заменить на нижеследующие), сразу после строки «SetupCallbacks();»:

int counter = 0;
int i = 0;
SceCtrlData pad;


Теперь у нас есть три переменные, которые мы сможем использовать. Два типа «int counter» и «int i», которые пока равны нулю. Другой тип «SceCtrlData pad» заполнен ненужной информацией в данный момент (так как мы еще не задали для него начальные условия). Эти переменные необходимы для написания программы. Если вы объявите переменную, без ее инициализации (как наша переменная клавиатуры), то она все равно не будет пустой, поскольку будет содержать информацию из предыдущего участка памяти. Определение переменной вызывает выделение памяти для хранения ее значения. Таким образом, инициализация переменной – это операция присвоения переменной начального значения, которое присваивается с помощью оператора. В нашей ситуации мы не инициализировали «pad» сразу же после определения данной переменной, потому что это было не правильно. Так как она содержит кнопки ввода, вы не можете инициализировать переменную, просто присваивая ей значения. Поэтому осуществим инициализацию позже, когда она нам будет необходима.

А сейчас мы рассмотрим некоторые инструкции для начинающих программистов. Итак, мы используем «printf» для ввода оператора. И указываем это после объявления переменной:

printf("Press [X] To Start the Timer");


Что-то знакомое? Ну, конечно! Эта та же функция, которую мы использовали для вывода «Hello Word», рассмотренную в уроке 2. И если бы вы писали программу с данного момента, то была бы абсолютно такая структура, как и в «Hello Word», кроме одного момента: напечатали «Press [X] To Start the Timer» вместо «Hello Word».

Далее нам нужно чтобы программа работала до тех пор, пока пользователь не нажмет кнопку [X] на консоле. Наша задача может показаться очень сложной для выполнения, но, к счастью, есть такое понятие, как «цикл». Цикл — это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд. Существуют различные виды циклов (цикл «while», цикл «for», циклы «do while» и др.), но в данном уроке мы рассмотрим только два цикла: цикл «while» и цикл «for». Как же работает цикл? Вы вводите оператор, после этого цикл позволяет многократно выполнять блок кода до тех пор, пока результатом его условного выражения является значение «истина». Например, у вас есть блочный код, в котором постепенно увеличивается переменная (начиная с нулевого значения). И так каждый раз, цикл будет выполняться до тех пор, пока число, которое вы указали в цикле «i<10», не станет равным десяти. Еще одним важным утверждением является то, что «true» и «false» сопоставлены «1» и «0» соответственно.

Уф… Это же не так сложно? Я рад, что вы со мной согласны (к сожалению, вы не можете ответить, поэтому я сам даю ответы на свои риторические вопросы). Будем двигаться дальше и перейдем ко второй главе третьего урока данного учебного руководства.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: