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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> НЕ могу разобраться, танк в PAscal не так как надо работает
ruslan2489
сообщение 2.12.2013 17:47
Сообщение #1





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

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


У меня есть проект , только там одно проблема. Мой танк должен двигаться по оси x и стрелять из дула ОН это делает) но на этом цикл заканчивается , а мне надо что бы он повторялся и танк много раз стрелял ) И еще после выстрела танк не двигается, т.к. цикл закончен :*( мне нужно что бы цикл повторялся много раз)
Вот код:
uses ptcgraph,ptccrt;
procedure Smail(x,y,r,c1,c2,c3:integer);
begin
setcolor(c1);
rectangle(x-70,y-100,x+70,y+100);
circle(x-1,y-15,40);
rectangle(x-40,y-100,x+40,y+100);
rectangle(x-10,y-200,x+10,y-50);
end;
procedure pul(z,o,c:integer);
begin
setcolor©;
rectangle(z-8,o-200,z+8,o-220);
end;
var x,y,r,d,i,o,z,mfk:integer;
k:char;
begin
x:=0;
initgraph(x,y,'');
x:=getmaxX div 2; //getmaxX возвращает значение по оси х
y:=getmaxY div 2+360; //getmaxУ возвращает значение по оси у
r:=8;
mfk:=0;
d:=10;
Smail(x,y,r,0090,9,8);
repeat
if keypressed then
begin
k:=readkey;
if k=#32 then
begin
for i:=1 to 100 do
begin
delay(5);
pul (x,y,0);
y:=y-10;
pul (x,y,90);
end;
end;
if k=#77 then
begin
delay(5);
if mfk=0 then Smail(x,y,r,0,0,0);
x:=x+d;
Smail(x,y,r,0090,9,8);
end;
if k=#75 then
begin
delay(5);
if mfk=0 then Smail(x,y,r,0,0,0);
x:=x-d;
Smail(x,y,r,0090,9,8);
end;

if k=#27 then exit;
end;
until k=#27;
end.


Сообщение отредактировано: APAL - 7.12.2013 21:21
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



- Текстовая версия 21.06.2025 9:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"