Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.07.2009, 10:53   #1
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
Сообщение графика

написал программу:

uses graph,crt;
var d,r,x,y:integer;
procedure kub;
begin
x:=random(500);
repeat
setcolor(green);
rectangle(x,y,x+70,y+70);
delay(6000);
setcolor(black);
rectangle(x,y,x+70,y+70);
y:=y+1;
if y=400 then y:=-70;
until keypressed;
end;
begin
randomize;
d:=0; initgraph(d,r,'');
kub;
readln;
closegraph;
end.

но как сделать так, чтобы кубик падал с разных мест и при каждом запуске и после того как дошёл до конца экрана.
alex(21) вне форума
Старый 12.07.2009, 11:00   #2
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию

Код:
uses graph,crt;
  var d,r,x,y:integer;
procedure kub;
begin
  repeat
   setcolor(green);
   rectangle(x,y,x+70,y+70);
   delay(6000);
   setcolor(black);
   rectangle(x,y,x+70,y+70);
   y:=y+1;
   if y=400 then
      begin
       x:=random(500);
       y:=-70
      end;
   until keypressed;
end;
begin
 randomize;
 d:=0; initgraph(d,r,'');
 kub;
 readln;
 closegraph;
end.
Посторонним В.
NSvirus вне форума
Старый 12.07.2009, 12:00   #3
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

спасибо. работает
alex(21) вне форума
Старый 13.07.2009, 12:19   #4
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

вот вторая програмка:

uses crt,graph;
var d,r,x:integer;
klavisha:char;
procedure dvizhenie;
begin
setlinestyle(0,1,3);
x:=300;
setcolor(red);
ellipse(x,380,0,360,35,10);
repeat
if keypressed then begin
setcolor(black);
ellipse(x,380,0,360,35,10);
klavisha:=readkey;
if klavisha='a' then x:=x-25;
if klavisha 'd' then x:=x+25;
setcolor(red);
ellipse(x,380,0,360,35,10);
end;
until klavisha='q';
end;
begin
d:=detect; initgraph(d,r,'')
line(0,420,640,420);
dvizhenie;
closegraph;
end.
как сделать так, чтобы и кубики падали и эллипс можно было двигать одновременно?
alex(21) вне форума
Старый 13.07.2009, 13:01   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу предложить такой вариант:
Код:
uses graph,crt;
var d,r,x,ax,ay:integer;
klavisha:char;
procedure dvizhenie;
begin
setlinestyle(0,1,3);
x:=300;
setcolor(red);
ellipse(x,380,0,360,35,10);
repeat

 setcolor(red);
  ellipse(x,380,0,360,35,10);
  rectangle(ax,ay,ax+10,ay+10);

 {  delay(100);}


 setcolor(black);
  ellipse(x,380,0,360,35,10);
  rectangle(ax,ay,ax+10,ay+10);

 ay:=ay+10;
 if ay=600 then begin ay:=0; ax:=random(100); end;
 klavisha:=' ';
 if keypressed then klavisha:=readkey;
 if klavisha='a' then x:=x-25;
 if klavisha='d' then x:=x+25;
until klavisha='q';
end;
begin
d:=detect; initgraph(d,r,'');
line(0,420,640,420);
dvizhenie;
closegraph;
end.
Надеюсь смысл ясен?
I'm learning to live...
Stilet вне форума
Старый 13.07.2009, 13:22   #6
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

Код:
uses graph,crt;
var d,r,x,ax,ay:integer;
klavisha:char;
procedure dvizhenie;
begin
setlinestyle(0,1,3);
x:=300;
setcolor(red);
ellipse(x,380,0,360,35,10);
repeat

 setcolor(red);
  ellipse(x,380,0,360,35,10);
  rectangle(ax,ay,ax+10,ay+10);

 {  delay(100);}


 setcolor(black);
  ellipse(x,380,0,360,35,10);
  rectangle(ax,ay,ax+10,ay+10);

 ay:=ay+10;
 if ay=600 then begin ay:=0; ax:=random(100); end;
 klavisha:=' ';
 if keypressed then klavisha:=readkey;
 if klavisha='a' then x:=x-25;
 if klavisha='d' then x:=x+25;
until klavisha='q';
end;
begin
d:=detect; initgraph(d,r,'');
line(0,420,640,420);
dvizhenie;
closegraph;
end.
в этом случае при нажатии клавиши кольцо движется без остановки, а мне нужно чтобы при нажатии на клавишу кольцо передвинулось на какое то расстояние в право или лево, затем остановилось и после того как нажали на клавишу кольцо опять переместилось.
alex(21) вне форума
Старый 13.07.2009, 13:36   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
кольцо движется без остановки
А почему у меня с остановкой?
Код нормальный - я проверял.
I'm learning to live...
Stilet вне форума
Старый 13.07.2009, 13:37   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Так и работает, пока клавиша нажата, кольцо движется, отпускаешь не движется. Все нормально управляется. При каждом нажатии кольцо перемещается на 5 пикселей влево или вправо. Что не устраивает?
puporev вне форума
Старый 13.07.2009, 13:43   #9
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

просто когда я нажимаю на клавишу кольцо перемещается не на несколько пикселей, а до конца экрана!
alex(21) вне форума
Старый 13.07.2009, 13:48   #10
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

извиняюсь, сам допустил ошибку.
А как установить границу, чтобы кольцо дальше экрана не уходило?
alex(21) вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика в С++ Grizzzli Помощь студентам 7 14.03.2012 23:16
Графика** Lenivec** Паскаль, Turbo Pascal, PascalABC.NET 2 28.04.2010 23:41
графика jenja Общие вопросы C/C++ 0 25.05.2009 11:28
Графика V1rusPro Общие вопросы .NET 0 22.04.2008 08:25