Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
8 / 7 / 2
Регистрация: 23.06.2009
Сообщений: 41
1

Программа: клавишами управления курсором двигать фигуру по экрану

04.07.2009, 21:02. Показов 6078. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задать цвет фона розовый, цвет фигуры - серый, фигура в виде буквы Z. Клавишами управления курсором двигать фигуру по экрану.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.07.2009, 21:02
Ответы с готовыми решениями:

Клавишами управления курсором поворачивать фигуру вокруг своей оси
Задать цвета фона - синий. цвет фигуры - жёлтый.(фигура в виде буквы<<H>>)Клавишами управления...

Программа перемещающая по экрану ваше имя клавишами управления движением курсора
Напишите программу перемещающую по экрану ваше имя клавишами управления движением курсора. Каждый...

Построить восьмиугольник. Клавишами управления курсором предусмотреть возможность перемещения по экрану
Построить восьмиугольник. Клавишами управления курсором предусмотреть возможность перемещения по...

Изобразить чебурашку, который должен перемещаться клавишами управления курсором
используя методы рисования, изобразить чебурашку, который должен перемещаться клавишами управления...

5
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.07.2009, 21:45 2
Если речь идет о Турбо Паскале, то там нет розового цвета. Вот таблица возможных цветов.
0 Black, черный. 8 DarkGray, темно-серый.
1 Blue, синий. 9 LightBlue, ярко-синий.
2 Green, зеленый. 10 LightGreen, ярко-зеленый.
3 Cyan, голубой. 11 LightCyan, ярко-голубой.
4 Red, красный. 12 LightRed, ярко-красный.
5 Magenta, фиолетовый. 13 LightMagenta, ярко-фиолетовый.
6 Brown, коричневый. 14 Yellow, желтый.
7 LightGray, ярко-серый. 15 White, белый.
1
8 / 7 / 2
Регистрация: 23.06.2009
Сообщений: 41
04.07.2009, 21:56  [ТС] 3
цвет фона сделать я смогу, там несложно, а вот как фигуру сделать и двигать ее?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.07.2009, 22:38 4
Лучший ответ Сообщение было отмечено как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
uses crt,graph;
const n=11;{10 точек-вершины фигуры, 1-я точка 2 раза, замыкаем }
type
Point=record {тип запись - точка с координатами}
           x,y:integer;
           end;
mas=array[1..n] of Point;{массив точек-фигура}
procedure Z(x,y:integer;var m:mas;c:byte);
{процедура рисования фигуры по координатам "курсора", точкам и цвету}
var i:byte;
begin
Setcolor(c);
m[1].x:=x;m[1].y:=y;
m[2].x:=x+50;m[2].y:=y;
m[3].x:=x+50;m[3].y:=y+5;
m[4].x:=x+7;m[4].y:=y+45;
m[5].x:=x+50;m[5].y:=y+45;
m[6].x:=x+50;m[6].y:=y+50;
m[7].x:=x;m[7].y:=y+50;
m[8].x:=x;m[8].y:=y+45;
m[9].x:=x+43;m[9].y:=y+5;
m[10].x:=x;m[10].y:=y+5;
m[11].x:=x;m[11].y:=y;
moveto(m[1].x,m[1].y);
for i:=1 to n do
lineto(m[i].x,m[i].y);
Setfillstyle(1,c);
Floodfill((m[1].x+m[2].x) div 2,(m[1].y+m[10].y) div 2,c);
end;
var gd,gm:integer;
    x,y,x1,y1:integer;
    p:mas;
    c1,c2:byte;
    k:char;
    move:boolean;
begin
gd:=detect;
Initgraph(gd,gm,'');
Setbkcolor(13);{цвет фона}
x:=340;y:=240;{начальное положение}
c1:=7;c2:=13;{цвет фигуры-серый, цвет фона-типа розовый}
move:=true;{рисуем}
repeat
if keypressed then{если нажата клавиша}
  begin
    k:=readkey;
    if k=#80 then {стрелка вниз}
      begin
        y1:=y;
        x1:=x;
        y:=y+5;
        move:=true;
      end;
    if k=#72 then{вверх}
      begin
        y1:=y;
        x1:=x;
        y:=y-5;
        move:=true;
      end;
    if k=#77 then{вправо}
      begin
        y1:=y;
        x1:=x;
        x:=x+5;
        move:=true;
      end;
    if k=#75 then{влево}
      begin
        y1:=y;
        x1:=x;
        x:=x-5;
        move:=true;
      end;
  end;
if move then
  begin
   Z(x1,y1,p,c2);{рисуем цветом фона, стираем}
   Z(x,y,p,c1);{рисуем заданным цветом, создаем на новом месте}
   move:=false;
  end;
until k=#27;{выход - Esc}
closegraph
end.
Что непонятно по графике, смотрите здесь.
https://www.cyberforum.ru/atta... 1241779566
Коды клавиш здесь.
Написать функцию, которая возвращает N правых символов в виде строки
4
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
04.12.2013, 19:09 5
Помогите сделать тоже самое для квадрата...
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.12.2013, 19:21 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
uses graph,crt;
var x,y,a,d:integer;
    k:char;
begin
x:=0;
initgraph(x,y,'');
x:=getmaxX div 2;
y:=getmaxY div 2;
a:=20;
outtextXY(x-80,20,'Upravlenie - Strelki');
outtextXY(x-50,40,'Exit - Esc');
setcolor(12);
rectangle(x-a,y-a,x+a,y+a);
repeat
if keypressed then
 begin
  k:=readkey;
  if k=#0 then k:=readkey;
  case k of
  #80:begin
      delay(50);
      setcolor(0);
      rectangle(x-a,y-a,x+a,y+a);
      if y>getmaxY-a-10 then d:=0
      else d:=10;
      y:=y+d;
      setcolor(12);
      rectangle(x-a,y-a,x+a,y+a);
      end;
  #72:begin
      delay(50);
      setcolor(0);
      rectangle(x-a,y-a,x+a,y+a);
      if y<70 then d:=0
      else d:=10;
      y:=y-d;
      setcolor(12);
      rectangle(x-a,y-a,x+a,y+a);
      end;
  #77:begin
      delay(50);
      setcolor(0);
      rectangle(x-a,y-a,x+a,y+a);
      if x>getmaxX-a-10 then d:=0
      else d:=10;
      x:=x+d;
      setcolor(12);
      rectangle(x-a,y-a,x+a,y+a);
      end;
  #75:begin
      delay(50);
      setcolor(0);
      rectangle(x-a,y-a,x+a,y+a);
      if x<a+10 then d:=0
      else d:=10;
      x:=x-d;
      setcolor(12);
      rectangle(x-a,y-a,x+a,y+a);
      end;
  #27:exit;
  end;
 end;
until k=#27;
end.
0
04.12.2013, 19:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2013, 19:21
Помогаю со студенческими работами здесь

Напишите программу, перемещающую по экрану ваше имя клавишами управления движением курсора
Напишите программу, перемещающую по экрану ваше имя клавишами управления движением курсора. Каждый...

Напишите программу перемещающую по экрану ваше имя клавишами управления движением курсора
Напишите программу перемещающую по экрану ваше имя клавишами управления движением курсора. Каждый...

Движение текста по экрану с помощью клавиш управления курсором
осуществить движение текста по экрану с помощью клавиш управления курсором. Текст содержит имя...

Используя методы рисования, изобразить чебурашку, который должен перемещаться клавишами управления курсором
Используя методы рисования, изобразить чебурашку, который должен перемещаться клавишами управления...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru