IPB
ЛогинПароль:

> Не двигается(((
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской

Репутация: -  0  +


Мне нужно движение вне массива,так как сам герой у меня больше блоков.Вроде всё прописал а он не двигается.
вот код,подскажите в чём ошибка пожалуйста.


uses graph,crt;

const n=25;
dx=27;
dy=22;
up=#72;
left=#75;
right=#77;
down=#80;
esc=#27;
probel=#32;
enter=#13;
type massiv = array[1..n,1..n] of integer;

const a:massiv=((3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,4,2),
(2,0,0,0,8,0,0,0,0,0,8,0,0,0,0,8,0,0,0,0,0,0,0,4,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2),
(2,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2),
(2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),
(2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),
(2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),
(2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),
(2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),
(2,8,0,4,0,0,7,0,0,0,8,0,0,0,8,0,0,0,0,8,0,0,0,0,2),
(2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),
(2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,4,0,2),
(2,0,8,0,8,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,4,0,2),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,2),
(2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2));


var p_zem,p_nebo,p_deva,p_dev,p_devs,p_yabloko,p_pulya,p_snaryad,p_yablonya,p_ship,p
_volk1,p_volk2,p_volkk,p_stypen,p_stena:pointer;
x0,y0,gd,gm,x_deva,y_deva,dx_deva,dy_deva:integer;
tab:massiv;
ch:char;

procedure load_image(name_file:string; var p:pointer);
var f:file;
size:word;
begin
assign(f,name_file);
reset(f,1);
size:=filesize(f);
getmem(p,size);
blockread(f,p^,size);
close(f);
end;

procedure initpict;
begin
load_image('zemlya',p_zem);
load_image('nebo',p_nebo);
load_image('stena',p_stena);
load_image('stypen',p_stypen);
load_image('devochka',p_deva);
load_image('volk',p_volk1);
load_image('volk',p_volk2);
load_image('ship',p_ship);
load_image('yabloko',p_yabloko);
load_image('yablonya',p_yablonya);
load_image('volkk',p_volkk);
load_image('devochk',p_dev);
load_image('devochks',p_devs);
load_image('pulya',p_pulya);
load_image('snaryad',p_snaryad);
end;

Procedure upr_move(var x,y:integer;dx,dy:integer;p:pointer);
begin

ch:=readkey;
if ch=#0 then
begin
ch:=readkey;
putimage(x,y,p^,xorput);
Case ch of
left: x:=x-dx;
right: x:=x+dx;
up: y:=y-dy;
down:y:=y+dy;
end;
putimage(x,y,p^,xorput);
end;
end;

procedure initdata;
begin
x_deva:=320;
y_deva:=510;
dx_deva:=20;dy_deva:=20;
putimage (x_deva,y_deva,P_deva^,xorput);
end;

procedure drawlab;
var x,y,i,k:integer;
begin
cleardevice;
x0:=150;
y0:=50;
for i:=1 to n do
for k:=1 to n do
tab[i, k]:=a[i, k];
for i:=1 to n do
for k:=1 to n do
begin
x:=x0+(k-1)*dx;
y:=y0+(i-1)*dy;
case tab[i,k] of
1: putimage(x,y,p_zem^,normalput);
2: putimage(x,y,p_stena^,normalput);
3: putimage(x,y,p_nebo^,normalput);
4: putimage(x,y,p_stypen^,normalput);
{ 5: begin
putimage(x,y,p_deva^,xorput);
i_devochka:=i;
k_devochka :=k;
tab[i, k]:=0;
end;}
6: putimage(x,y,p_volk1^,normalput);
7: putimage(x,y,p_ship^,normalput);
8: putimage(x,y,p_yabloko^,normalput);
9: putimage(x,y,p_volk2^,normalput);
10: putimage(x,y,p_yablonya,xorput);
end;
end;
end;

procedure game;
var x,y:integer;
begin
cleardevice;
drawlab;
initdata;
repeat
if keypressed then
upr_move(x_deva,y_deva,dx_deva,dy_deva,p_deva);
until ch=esc;
end;


begin
gd:=detect;
initgraph(gd,gm,'');
initpict;
game;
readln;
end.


Сообщение отредактировано: justix -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


А если убрать точку остановки (то есть сам текст кода не трогать, только само красное выделение убрать), то всё работает нормально?

Сообщение отредактировано: TarasBer -


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
justix   Не двигается(((   19.12.2011 16:17
TarasBer   А ты перерисовываешь новые положения? Или один раз…   19.12.2011 16:58
justix   А ты перерисовываешь новые положения? Или один ра…   19.12.2011 18:21
TarasBer   Так ты отладку запусти. Допиши что-нибудь в код об…   19.12.2011 19:10
justix   Так ты отладку запусти. Допиши что-нибудь в код о…   19.12.2011 19:25
TarasBer   > Извини,как теги использовать не знаю((( Ну б…   19.12.2011 19:33
justix   > Извини,как теги использовать не знаю((( Ну …   19.12.2011 19:47
TarasBer   Что за ошибка, что написано?   19.12.2011 19:48
justix   Что за ошибка, что написано? Run time error 4211…   19.12.2011 19:51
TarasBer   А если убрать точку остановки (то есть сам текст к…   19.12.2011 20:02
justix   А если убрать точку остановки (то есть сам текст …   19.12.2011 20:04
TarasBer   Впервые вижу такое, чтобы точка остановки заставля…   19.12.2011 20:11
justix   Впервые вижу такое, чтобы точка остановки заставл…   19.12.2011 20:16
TarasBer   Папку заархивируй и тоже сюда выложи. (я не могу з…   19.12.2011 20:19
justix   Папку заархивируй и тоже сюда выложи. (я не могу …   19.12.2011 20:29
-TarasBer-   У тебя какая версия Паскаля? Потому что у меня на …   19.12.2011 21:47
justix   У тебя какая версия Паскаля? Потому что у меня на…   19.12.2011 22:03
IUnknown   justix, скажи, ты когда что-то выкладываешь, ты во…   20.12.2011 14:37
justix   justix, скажи, ты когда что-то выкладываешь, ты в…   20.12.2011 21:02
IUnknown   "Как бэ" - это к окулисту. Вот содержимо…   20.12.2011 21:18
justix   "Как бэ" - это к окулисту. Вот содержим…   20.12.2011 21:40


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 16.05.2024 6:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name