Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 47

Передвижение красного кружочка стрелками в графике. В чем ошибка?

09.07.2013, 19:09. Показов 770. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мой объект( кружочек) должел двигаться, при нажатии накнопку. Когда я запускаю программу кружочек рисуется, но при нажатии на клавиатуру, ничего не происходжит. В чем ошибка?
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
uses graph,crt;
var u,ou:pointer; ch: char; curx, cury, curx0, cury0, dx, dy, lx, ly, hx, hy: integer;
    size: word;
procedure dv(dx, dy: integer);
  begin
 
 
setcolor(0);
setfillstyle(1,0);
circle(lx,ly,20);
floodfill( lx,ly, 0);
 
  lx:=lx+dx;
  ly:=ly+dy;
 
  setcolor(4);
  setfillstyle(1,4);
  circle(lx,ly,20);
  floodfill( lx,ly, 4);
  end;
procedure graphinterface;
var gd, gm, error: integer;
begin
gd:=detect;
initgraph( gd, gm, '');
error:=graphresult;
if error<>grok then
    begin
   writeln(grapherrormsg(error));
   halt(error)
    end
    end;
 
begin
graphinterface;
 
lx:=100;
ly:=100;
 
 
setcolor(4);
setfillstyle(1,4);
circle(lx,ly,20);
floodfill( lx,ly, 4);
 
repeat
 ch:=readkey;
 if ch=#0 then
     begin
     ch:=readkey;
 
     case ch of
     #77:dv(5, 0); // вправо
 
 
     #75:dv( -5, 0); // влево
 
     #72:dv(0, -5); // вверх
 
     #80:dv(0, 5); // вниз
 
     end;
 
     end;
 
    until ch=#27;
 
 
readln;
closegraph;
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.07.2013, 19:09
Ответы с готовыми решениями:

Передвижение стрелками
Как переключаться между элементами списка в консоли с помощью стрелок? И если кто знает подскажите где можно обучиться делать оконные...

Нужно сделать часы со стрелками. Помогите пожалуйста убрать следы, оставляемые стрелками после изменения положения
Всем привет. Нужно сделать часы со стрелками. Помогите пожалуйста убрать следы, оставляемые стрелками после изменения положения. program...

Ошибка со стрелками
Сделал ввод строки через getch(), каждый символ проверяется на принадлежность к буквам и если это буква, то она записывается в строку и вся...

2
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.07.2013, 19:33
Сегодня видел такую же тему, не могу найти. Вот решение
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
uses graph,crt;
var u,ou:pointer; ch: char; curx, cury, curx0, cury0, dx, dy, lx, ly, hx, hy: integer;
    size: word;
procedure dv(dx, dy: integer);
  begin
 
 
setcolor(0);
setfillstyle(1,0);
circle(lx,ly,20);
floodfill( lx,ly, 0);
 
  lx:=lx+dx;
  ly:=ly+dy;
 
  setcolor(4);
  setfillstyle(1,4);
  circle(lx,ly,20);
  floodfill( lx,ly, 4);
  end;
procedure graphinterface;
var gd, gm, error: integer;
begin
gd:=detect;
initgraph( gd, gm, '');
error:=graphresult;
if error<>grok then
    begin
   writeln(grapherrormsg(error));
   halt(error)
    end
    end;
 
begin
graphinterface;
 
lx:=100;
ly:=100;
 
 
setcolor(4);
setfillstyle(1,4);
circle(lx,ly,20);
floodfill( lx,ly, 4);
 
repeat
 ch:=readkey;
 if ch=#0 then
     begin
     ch:=readkey;
 
     case ch of
     #77:dv(5, 0);
 
 
     #75:dv( -5, 0);
 
     #72:dv(0, -5);
 
     #80:dv(0, 5);
 
     #27:exit;
 
     end;
 
     end;
 
    until ch=#27;
 
 
 
end.
Если у вас Free Hascal замените crt на wincrt.

Добавлено через 5 минут

Не по теме:

Это я на другом форуме видел..

..
1
0 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 47
10.07.2013, 21:01  [ТС]
Огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.07.2013, 21:01
Помогаю со студенческими работами здесь

Unity3D Не могу найти пример как сделать передвижение по щелчку мыши передвижение персона
Пытаюсь понять как сделать передвижение по щелчку, примерно как в игре &quot;mekorama&quot; правда там сенсор, но это суть не меняет ...

Почему только два кружочка двигаются?
Я создал 4 кружочка на странице, которые должны двигаться против часовой стрелки заменяя друг друга. Но происходит что-то непонятное. Они...

Размер CheckBox и RadioButton (самого квадратика и кружочка)
Добрый День! Как при проектировании в дизайнере, или при выполнении программы изменить размер checkBox и RadioButton? Меня интересуют...

На графике не выводит все точки, в чем ошибки? Как нарисовать по этим точкам многоугольник?
public void RandomSolve() { int i = 0; _X = new double; double nonRundomSolve =...

Ошибка в графике
Добрый день. Что-то не могу понять, в чем причина. Не хочет правильно считать, и все тут. Посмотрите пожалуйста, срочно нужно.....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru