28 фев 2013 (OFF) _467_DARKSIDER1 :

Азы MIDletPascal. Урок 1.

Итак,всем привет,я начинаю цикл уроков по паскалю для новичков.
Не люблю писать много воды,так что перейдем прямо к делу.
-=Структура программы в MIDletPascal=-

Начнем с малого-разберемся,из чего состоит любая программа.

Перечисляем по порядку:

1). В самом начале всегда надо писать название программы (хотя это не обязательно,но лучше это сделать,чтобы не было потом лишних трудностей-лично у меня,если не написать название программы,то она просто не компилируется)

Пример написания:

Program название_проги;
где [название_проги]-это название вашей проги (да,да :D)

2).Далее у нас идет блок под названием const.
Что это такое?
это блок,в который нужно писать, при необходимости, переменные с постоянным значением (про переменные расскажу позже).

Пример написания:

//////объявляем блок
const
Speed=3;
//////
с помощью этого мы приравняли переменную Speed к трём и её значение не изменится ни при каких обстоятельствах

3). Далее у нас идет блок под странным названием var.
Что это?
Это по сути то же самое, что и блок const,но значения переменных из этого блока объявляются и изменяются в течении всей работы программы.

в этом блоке объявляем переменные и то,что они будут означать.

Есть несколько видов переменных.
Рассмотрим основные:
integer-целочисленные числа (в народе-"целые" )
image-картинка
boolean-имеет свойство эдакого "переключателя",переменная этого вида может иметь только два значения: false и true.

Пример написания:
///////объявляем переменные
var
img:image;
chislo:integer;
knopka:boolean;
//////

4).Далее объявляются различные процедуры. О них пока говорить не будем.

5).Ну а далее объявляется основная программа.
Она объявляется с помощью команды begin (между прочим,как и процедуры,но различия есть-о них узнаете в одном из следующих уроков), а заканчивается командой end. (пишется обязательно с точкой!).

Работа главной программы и процедур возможна в основном с помощью циклов.
Рассмотрим самый простой-repeat.....until.


Пример написания:
/////начинаем цикл
repeat
///////рисуем,изменяем значения переменных и пр.
repaint;///////эта команда,кстати,необходима для вывода всей графики
/////делаем расчеты
delay(20);////////эта команда необходима для задержки прорисовки графики (в данном случае прорисовка графики будет задерживаться на 20 мс,так что если хотите сделать задержку,скажем,на две секунды,то в скобках вместо 20 пишем 2000.)
//////////условие,при котором осуществляется окончание цикла
until false;//////при значении false цикл никогда не закончится.


Ну,на сегодня,кажется, хватит,в следующем уроке будем обучаться основным командам,при помощи которых вы сможете сделать свои первые примитивненькие программки.
Всем спасибо за внимание и пока! :)
< Пред.След. >

Комментарии (19)

дай сылку на програму.
ТЫК
Этой версией я сам пользуюсь
о кул (эт Диас) =D
У меня вылетает ошибка "процедура или функция var() не найдена"
program boreck-
var
k, x, y :integer-
m1, m2, m3 :image-
procedure load-
begin
m1:=loadimage('/m1.png')-
m2:=loadimage('/m2.png')-
m3:=loadimage('/m3.png')-
delay(200)-
end-
procedure key-
begin
k:=0-
k:=getKeyPressed-
if (k=KE_KEY6) then x:=x 1-
if (k=KE_KEY4) then x:=x-1-
if (k=KE_KEY8) then y:=y 1-
if (k=KE_KEY2) then y:=y-1-
end-
procedure menu-
var
pos, px, py, m, n, v:integer-
begin
fillRect(0, 0, getWidth, getHeight)-
pos:=1-
px:=getWidth/2-40-
py:=getHeight/2-12-
m:=0-
n:=0-
v:=0-
if (keyToAction(k)=GA_UP) then if (pos>1) then pos:=pos-1-
if (keyToAction(k)=GA_DOWN) then if (pos<3) then pos:=pos 1-
if (keyToAction(k)=GA_FIRE) then if (pos=1) then m:=m 25-
if (keyToAction(k)=GA_FIRE) then if (pos=2) then n:=n 25-
if (keyToAction(k)=GA_FIRE) then if (pos=3) then v:=v 25-
if (pos=1) then m:=m 10-
if (pos=2) then n:=n 10-
if (pos=3) then v:=v 10-
drawimage(m1, px m, py)
program boreck-
var
k, x, y :integer-
m1, m2, m3 :image-
procedure load-
begin
m1:=loadimage('/m1.png')-
m2:=loadimage('/m2.png')-
m3:=loadimage('/m3.png')-
delay(200)-
end-
procedure key-
begin
k:=0-
k:=getKeyPressed-
if (k=KE_KEY6) then x:=x 1-
if (k=KE_KEY4) then x:=x-1-
if (k=KE_KEY8) then y:=y 1-
if (k=KE_KEY2) then y:=y-1-
end-
procedure menu-
var
pos, px, py, m, n, v:integer-
begin
fillRect(0, 0, getWidth, getHeight)-
pos:=1-
px:=getWidth/2-40-
py:=getHeight/2-12-
m:=0-
n:=0-
v:=0-
if (keyToAction(k)=GA_UP) then if (pos>1) then pos:=pos-1-
if (keyToAction(k)=GA_DOWN) then if (pos<3) then pos:=pos 1-
if (keyToAction(k)=GA_FIRE) then if (pos=1) then m:=m 25-
if (keyToAction(k)=GA_FIRE) then if (pos=2) then n:=n 25-
if (keyToAction(k)=GA_FIRE) then if (pos=3) then v:=v 25-
if (pos=1) then m:=m 10-
if (pos=2) then n:=n 10-
if (pos=3) then v:=v 10-
drawimage(m1, px m, py)-
drawimage(m2, px n, py)-
drawimage(m3, px v, py)-
end-
begin
setColor(255,255,255)-
x:=0-
y:=0-
load-
repeat
key-
menu-
delay(100)-
repaint-
until false-
end.
Куда лучше значения вписывать : после begin или в цикле repeat? Ибо ошибка вылетает
Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
Разрушители
Новая эпическая онлайн-игра от Овермобайл. Битвы...
Тема: Светлая | Тёмная
Версия: Mobile | Lite | Touch | Доступно в Google Play