Моя первая компьютерная программа
Запустите WED.
Создайте новый проект (File->New),
назовите его "Tutorial", с помощью File->SaveAs, затем создайте новый файл скрипта через File->Map Properties нажав кнопку [New].
Только что созданный файл tutorial.wdl
теперь показывается в поле скрипта.
Теперь откройте tutorial.wdl в вашей рабочей папке с помощю программы SED (File->Open). Этот скрипт уже много чего содержит, подобно скрипту office.wdl, который мы исследовали прежде. Сотрите все - мы не собираемся делать целую игру, мы будем только делать некоторые упражнения WDL. Введите следующее в теперь уже пустой файл скрипта:
//////////////////////////////////////////////////////////
// некоторая практика
string hello = "Hello World!";
text screen_txt // текстовый объект для того, чтобы отображались наши строки
{
font = _a4font; // стандартный шрифт
pos_x = 5; // текст начинается в позиции экрана (5,40) (в пикселах)
pos_y = 40;
}
function print(str) // отображаем строковый параметр на экране
{
screen_txt.string =
str;
screen_txt.visible = on;
}
function main()
{
screen_color.blue =
128; // устанавливаем темно-синий фон
print(hello); // отображаем строку
}
Теперь сохраните этот файл, запустите редактор WED откройте ваш скрипт, и нажмите [RUN], проверьте, что бы стояла галочка напротив [Window] и [OK].Если ничего не происходит и на экране сообщение об ошибке, значит вы вероятно забыли точку с запятой или другую важную мелочь. Сообщение об ошибке покажет номер строки с ошибкой чтобы ее можно было легко исправить. Тщательно проверьте и попробуйте снова. Наша первая программа работает! C-Script запущен!
Отлично, мы больше ничего не можем делать в этой программе, кроме как нажать [Esc] или [F10] для выхода.
Однако мы можем многому научиться из этой программы. Мы ввели новый объект - text.
Тексты служат для показа строковых символов на экране. Это более сложные объекты чем переменные или строки.Они имеют тело обрамлённое скобками, подобно функциям. В теле могут быть прописаны (изменены) какие-нибудь свойства текста.Свойства текста мы меняем для screen_txt- позиции по x, y на экране, и шрифт (_a4font - используемый по умолчанию шрифт ). Далее используем функцию print.
В отличие от функции some_calculations мы имеем один параметр.
функции - числа, строки или др. передаются функции для расчётов.
Функция узнает параметр по имени, которое мы задали при определении функции. Параметр может использоваться в теле функции точно так же как нормальный объект.
В нашем случае, мы используем как параметр переменную "str" ("screen_txt.string = str;"). Наша функция Print показывает строку на экране посредством свойства текстового объекта "string" и включением свойства "visible" .("screen_txt.visible = on;").
Обратите внимание на точку после screen_txt.
Это указывает что следующее значение - [string] или [visible], принадлежат этому объекту.
Вы можете прочитать в главе "reference" этого руководства относительно каждого свойства текста ( Нужно перейти к главе "Интерфейс Пользователя "["User Interface"]).
Visible это флаг (flag)
- подобно переменной, но может иметь только два значения - on или off. Строки и флаги получают значения при помощи "=", как и переменные.
Как было упомянуто прежде, функция "main function" запускает код на выполнение. Сначала она устанавливает синий фон использованием предопределенной переменной screen_color. Помните наш первый скрипт с time_factor?
screen_color и sky_scale – обе предопределенные переменные, которые изменяют некоторые свойства нашей игры. C-Script
содержит много таких предопределенных переменных для управления особенностями игры.Screen_color - цветовой вектор со значениями (красный, зеленый и голубой), которые по умолчанию = нулю, могут быть установлены в диапазоне 0 .. 255, и все три вместе определяют цвет фона. Когда значение голубого - 128, а красный и зелёный = 0, мы получаем темно синий цвет .
В следующей строке main функция выполняет функцию print и передаёт переменную hello как параметр. Функция вызывается изнутри другой функции, когда вы напечатаете имя функции, сопровождаемое параметрами в скобках. Здесь Вы видите преимущество параметров функции. Независимая строка теперь может быть передана функции print , она будет отображаться, так что мы можем использовать функцию print с этого момента как универсальную функцию дисплея. Обратите внимание, что переменная hello известна в пределах print функции под локальным именем str - оба hello и Str - имеют сейчас одинаковое значение - строку " Hello World ". Между прочим, нет необходимости отдельно определять строки. Подобно переменным, им можно также давать значение непосредственно , подобно этому:
function main()
{
screen_color.blue = 128; // устанавливаем темно-синий фон
print("Hello world!"); // отображаем строку
}
Как только вы разобрались с этим кодом, самое время узнать о условий if-else.
Используются технологии
uCoz