ssanek | Дата: Пятница, 16.04.2010, 18:29 | Сообщение # 1 |
Новичок
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация:
« -2 »
Статус: Offline
| program krot; uses sensor; var sp:array[1..5] of image; mp:array[0..24,0..32] of integer; x,y,lvl,q,st,stt:integer; procedure rys; var i,i1:integer; begin setColor(255, 255, 255); fillRect(0, 0, 240, 320); for i:=0 to 24 do for i1:=0 to 32 do drawimage(sp[mp[i,i1],i*10,i1*10); repaint; end; procedure dvag; var x1,y1:integer; begin x1:=(pointer_pressed_y-160) div 140; y1:=(pointer_pressed_x-120) div 100; if abs(x1)>0 then begin x1:=(abs(x1)div x1); y1:=0 end else begin y1:=(abs(y1)div y1); x1:=0 end; if mp[y1+y,x1+x]=1 then begin mp[y,x]:=1; mp[y1+y,x1+x]:=2; y:=y1+y; x:=x1+x; end else if (mp[y1+y,x1+x]=3) and (mp[y1*2+y,x1*2+x]=1) then begin mp[y1+y,x1+x]:=2; mp[y1*2+y,x1*2+x]:=3; mp[y,x]:=1; y:=y1+y; x:=x1+x; end else if (mp[y1+y,x1+x]=3) and (mp[y1*2+y,x1*2+x]=5) then begin mp[y1+y,x1+x]:=2; mp[y,x]:=1; y:=y1+y; x:=x1+x; q:=q-1; end else end; procedure cht; var i,i1:integer; s:string; data :resource; begin data:=openresource(integertostring(lvl)+.txt); for i:=1 to 24 do begin s:=readline(data); for i1:=1 to 32 do mp[i,i1]:=ord(s[i1])-ord('0'); end; q:=stringtointeger(readline(data)); end; begin unit.sensor; x:=3; y:=3; for i:=1 to 5 do sp[i]:=loadimage(integertostring(i)+'.txt'); lvl:=1; cht; while q>0 do begin dvag; rys; end; end.
|
|
| |
12121 | Дата: Пятница, 16.04.2010, 18:53 | Сообщение # 2 |
Программист
Группа: Проверенные
Сообщений: 357
| Попробуй сделать mp:array[0..32,0..32] of integer; если двух мерный массив не квадратный могут быть глюки. Если не поможет выложи весь проект что бы можно было нормально запустить а не думать какие рисунки сюда пихнуть
|
|
| |
ssanek | Дата: Воскресенье, 18.04.2010, 17:20 | Сообщение # 3 |
Новичок
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация:
« -2 »
Статус: Offline
| вот
|
|
| |