3 / 3 / 0
Регистрация: 30.11.2010
Сообщений: 89
1

Отклик на стрелки

13.10.2012, 16:35. Показов 1103. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! У меня было задание сделать в досовской графике следующую штуку:

Масштабирование тетраэдра с уменьшением. Начальный объект находится в нижней правой части экрана, смещение происходит влево вверх. Размер начального объекта и коэффициент уменьшения произвольные.

Вот код программы:

C++
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
 #include<conio.h>
 #include<graphics.h>
 #include<process.h>
 #include<stdio.h>
 #include<dos.h>
 #include<stdlib.h>
 
 
 main()
{
 
   int gdriver = VGA, gmode = VGAMED, errorcode;
   int x1,x2,x3,x4,y1,y2,y3,y4,i;
 
   initgraph(&gdriver, &gmode, "C:\BORLANDC\BGI" );
 
 
   errorcode = graphresult();
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
   }
 
   setviewport(50, 50, getmaxx()-50, getmaxy()-50, 1);
   clearviewport();
   x1=404;y1=210;
   x2=494;y2=224;
   x3=508;y3=194;
   x4=474;y4=138;
 
 
   // TETR--
   setcolor(12);
   line(x1,y1,x2,y2);
   line(x1,y1,x3,y3);
   line(x2,y2,x3,y3);
 
   line(x1,y1,x4,y4);
   line(x2,y2,x4,y4);
   line(x3,y3,x4,y4);
 
   i=8
   ;
  while(i<16)
  {
   i++;
   getch();
   x1=x1*0.8 ;x2=x2*0.8;x3=x3*0.8;x4=x4*0.8;
   y1=y1*0.8;y2=y2*0.8;y3=y3*0.8;y4=y4*0.8;
 
   setcolor(i);
 
   line(x1,y1,x2,y2);
   line(x1,y1,x3,y3);
   line(x2,y2,x3,y3);
 
   line(x1,y1,x4,y4);
   line(x2,y2,x4,y4);
   line(x3,y3,x4,y4);
}
 
   closegraph();
   return 0;
   }
Вопрос следующий: почему при выполнении программы на нажатие стрелки появляется стразу две фигуры, а не одна, как на всех остальных клавишах. Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2012, 16:35
Ответы с готовыми решениями:

Во сколько раз угловая скорость минутной стрелки часов больше угловой скорости часовой стрелки
Во сколько раз угловая скорость минутной стрелки часов больше угловой скорости часовой стрелки?

Стрелки подождите, стрелки не бегите! (RTC спешат)
Есть RTC VS1307N (аналог DS1307). Кварц дешевый, от производителя nonami. Корпус кварца...

Определить по значению угла часовой стрелки значение угла для минутной стрелки
Часовая стрелка образует угол с лучом проходящим через центр и через точку соответствующую 12 часам...

Отклик
Привет всем! Подскажите, как заставить класс, наследующий интерфейс вызвать метод в другом классе?...

2
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,925
13.10.2012, 19:29 2
Не проверял, но есть подозрение: getch при нажатии стрелок, функциональных и расширенных клавиш возвращает сначала 0, а затем (при следующем вызове) скан-код нажатой клавиши.
Попробовать getch заменить на:
C
1
if(getch()==0)getch();
0
3 / 3 / 0
Регистрация: 30.11.2010
Сообщений: 89
13.10.2012, 19:42  [ТС] 3
alexcoder, спасибо, видимо так и есть!
0
13.10.2012, 19:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2012, 19:42
Помогаю со студенческими работами здесь

Отклик меню
Всем привет! Проблема: меню не откликается с первого раза, после утери фокуса формой. То...

Отклик от программы
Когда писал программу (такая проблема на всех моих программах) столкнулся с проблемой отклика, т.е....

Долгий отклик до сайта
Здравствуйте. Есть забугорные сайты &quot;truckingbase.com/2&quot;, &quot;tch.com&quot; до них очень большой пинг...

Ping IP-адреса и отклик
Здравствуйте. Хочу написать программку, которая проверяет доступность игрового сервера. Есть 4...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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