28.03.2015 / 11:52 | |
AlexPrihodko Пользователь Сейчас: Offline
Имя: Александр Регистрация: 28.03.2015
| Как правильно объявить тип record здесь что оно по-другому делается? Неправильно | \/ type pers = record
|
28.03.2015 / 12:15 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| AlexPrihodko, type pers = record end;
|
28.03.2015 / 12:39 | |
AlexPrihodko Пользователь Сейчас: Offline
Имя: Александр Регистрация: 28.03.2015
| Вот исходник из сайта tiger1025.com : Открыть спойлер Закрыть спойлер program exColl;
const ww=20; // Ширина блоков
type
TPers = record
x,y: integer;
sx,sy: integer;
dx,dy: integer;
end;
var
Map: array[1..10,1..10] of boolean; // Проходимые/непроходимые блоки
block,pers: image;
per: TPers;
k: integer;
procedure DrawMap;
var i,j: integer;
begin
for i:=1 to 10 do
for j:=1 to 10 do
if Map[i,j] then DrawImage(block,(i-1)*24,(j-1)*24);
end;
// Функция проверяющая не пустой ли блок
// Координаты фактические, по пикселям
function isBlock(x,y: integer): boolean;
var dsx,dsy: integer;
begin
// Преобразование в блоковые координаты
dsx:=x div 24 + 1;
dsy:=y div 24 + 1;
// Результат
isBlock:=Map[dsx,dsy];
end;
procedure Phys;
begin
// Определение движения вниз
per.sy:=per.sy+1;
// Ограничение скорости
if per.sy>8 then per.sy:=8;
if isBlock(per.x,per.y+per.sy) then per.sy:=0; // Движение по вертикали
if isBlock(per.x-10,per.y) and (per.sx<0) then per.sx:=0; // Движение по горизонтали влево
if isBlock(per.x+10,per.y) and (per.sx>0) then per.sx:=0; // Движение по горизонтали вправо
// Перемещение в соответствии со скоростью
per.y:=per.y+per.sy;
per.x:=per.x+per.sx;
end;
procedure Main;
var key: integer;
begin
repeat
SetColor(255,255,255); FillRect(0,0,getWidth,getHeight);
DrawMap;
DrawImage(pers,per.x-8,per.y-16);
repaint;
delay(20);
Phys;
key:=keyToAction(getKeyPressed);
// Прыжок, если стоим на блоке то прыгаем
if (key=GA_UP) and (isBlock(per.x,per.y+1)) then per.sy:=-11;
per.sx:=0;
// Движение влево
if (key=GA_LEFT) then per.sx:=-3;
// Движение вправо
if (key=GA_RIGHT) then per.sx:=3;
until false;
end;
procedure Init;
begin
// Тут карту заполняем
for k:=1 to 10 do begin Map[k,10]:=true; Map[1,k]:=true; Map[10,k]:=true; end;
Map[5,8]:=true; Map[6,7]:=true;
Map[2,3]:=true; Map[3,3]:=true;
// Ставим персонажа в клетку 2х2
per.x:=48;
per.y:=24;
end;
begin
block:=loadImage('/block.png');
pers:=loadImage('/pers.png');
Init;
main;
end.
Ошибка такова в MobilePascal: ''= пропущено, но String найдено возле TPers на линии 4'' - помогите, я буду очень благодарен вам) Изменено aNNiMON (28.03 / 12:47) (всего 1 раз) |
28.03.2015 / 12:41 | |
ДубmanD Пользователь Сейчас: Offline
Имя: Dimitro Откуда: Санкт-Петербург Регистрация: 17.10.2012
| AlexPrihodko, Ты немного языки попутал. Мобпаскаль и мобайл - разные вещи.
__________________
No thing is perfecT |
28.03.2015 / 12:44 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| AlexPrihodko, че рескрафт спереть хочешь? |
28.03.2015 / 12:50 | |
AlexPrihodko Пользователь Сейчас: Offline
Имя: Александр Регистрация: 28.03.2015
| Я этой программой пользуюсь(версия 1.7).. На нокиа 200 просто удобно писать просто написал мобайл вместо моб.. Кстт здесь нельзя написать например, так: bla: array[0..9] of integer; а нужно вот: bla: array[9] of integer; (сам же юзал) Думал хоть здесь помогут. Чуть-чуть они всё-таки разные(моб и мидлет паскали).. |
28.03.2015 / 12:53 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| о вспомнил.
__________________
знает толк |
28.03.2015 / 12:54 | |
AlexPrihodko Пользователь Сейчас: Offline
Имя: Александр Регистрация: 28.03.2015
| Alexandr, Я пробовал, изучал всего понемногу(меню, карта, управление, звук, правда с ресурсами не до конца разобрался..) и вот хочу сделать что-то наподобии рпг.. |
28.03.2015 / 12:57 | |
AlexPrihodko Пользователь Сейчас: Offline
Имя: Александр Регистрация: 28.03.2015
| Мне просто проходимые/непроходимые блоки жизненно важны)
|
28.03.2015 / 12:57 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| AlexPrihodko, че реальные проги компилит? Думал, нереально еще что-то писать на нем
|