Важная информация
Показано с 1 по 2 из 2

Тема: перемещение дула танка и человека

  1. #1 перемещение дула танка и человека 
    Новичок
    Регистрация
    02.06.2015
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    нарисован танк и человек. Из танка вылетает снаряд, который может пролететь мимо человека, или же попасть в него. Дуло танка и самого человечка перемещают с помощью клавиш. Проблема заключается в следующем: например, координаты человечка изменены, перехожу к изменению положения дула, дуло перемещается, человечек возвращается в исходное положение. Как реализовать одновременные перемещения координат и дула, и человечка? Помогите, пожалуйста. буду очень признательна. Я понимаю, что проблема в том, что запоминается начальная координата, но вот как осуществить запоминание получившихся координат и танка и человека, я не совсем понимаю, уже всю голову сломала. Вот код программы:
    Pascal Code:
    1.  
    2.  
    3. Program Kursovaya_rabota;
    4. Uses GraphABC;
    5. Var a,b:integer;
    6. Procedure Gusenicy(x,y:integer);
    7. Begin
    8. setpenwidth(2);
    9. setpencolor(cllime);
    10. setbrushcolor(clpurple);
    11. circle(x+120,y+160,10);
    12. circle(x+130,y+160,10);
    13. circle(x+140,y+160,10);
    14. circle(x+150,y+160,10);
    15. circle(x+160,y+160,10);
    16. circle(x+170,y+160,10);
    17. circle(x+180,y+160,10);
    18. circle(x+190,y+160,10)
    19. End;
    20. Procedure Bashnya (x,y:integer);
    21. Begin
    22. setpenwidth(2);
    23. setpencolor(cllime);
    24. setbrushcolor(clteal);
    25. drawpie(x+155,y+155,40,0,180);
    26. fillpie(x+155,y+155,40,0,180)
    27. End;
    28. Procedure Dulo(x,y:integer);
    29. Begin
    30. setpenwidth(2);
    31. setpencolor(cllime);
    32. setbrushcolor(clteal);
    33. Rectangle(x+145,y+75,x+165,y+130)
    34. End;
    35. Procedure The_Tank(x,y:integer);
    36. Begin
    37. Dulo(x,y);
    38. Gusenicy(x,y);
    39. Bashnya(x,y)
    40. End;
    41. Procedure The_Victim (x,y:integer);
    42. Begin
    43. setpencolor(clpink);
    44. setbrushcolor(clpink);
    45. circle(x+350,y+90,15);
    46. setpencolor(clblack);
    47. setbrushcolor(clwhite);
    48. circle(x+340,y+85,3);
    49. circle(x+360,y+85,3);
    50. setpixel(x+340,y+85,clblack);
    51. setpixel(x+360,y+85,clblack);
    52. Line(x+345,y+100,x+355,y+100);
    53. setpenwidth(2);
    54. setpixel(x+350,y+90,clblack);
    55. Line(x+350,y+105,x+350,y+150);
    56. Line(x+350,y+120,x+340,y+130);
    57. Line(x+350,y+120,x+360,y+130);
    58. Line(x+350,y+150,x+340,y+160);
    59. Line(x+350,y+150,x+360,y+160);
    60. End;
    61. Procedure KeyDown(key:integer);
    62. Begin
    63. Lockdrawing;
    64. Clearwindow;
    65. case key of
    66.   VK_Up:begin
    67.          Dulo(a-10,b-5);
    68.          Gusenicy(a,b);
    69.          Bashnya(a,b);
    70.          The_Victim(a,b);
    71.         end;
    72.   VK_Down:begin
    73.            Dulo(a+10,b+5);
    74.            Gusenicy(a,b);
    75.            Bashnya(a,b);
    76.            The_Victim(a,b)
    77.           end;
    78.   VK_Right:begin
    79.              The_Victim(a+10,b);
    80.              The_Tank(a,b)
    81.            end;
    82.   VK_Left:begin
    83.            The_Victim(a-10,b);
    84.            The_Tank(a,b)
    85.           end;
    86.   end;
    87.   redraw;
    88.   sleep(80)
    89. End;          
    90. Begin
    91. Window.Title:='Перестрелка';
    92. The_Tank(a,b);
    93. The_Victim(a,b);
    94. OnKeyDown:=KeyDown
    95. End.
    Ответить с цитированием  
     

  2. #2  
    Новичок
    Регистрация
    02.06.2015
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Точнее, не одновременное движение, а независимое. Например, мы изменили координаты танка, и они не приняли начальное положение при изменении координат человека.
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Перемещение темы...!
    от Free Admin в разделе Архив
    Ответов: 2
    Последнее сообщение: 07.07.2014, 12:54
  2. Ищу человека для создания регистратора
    от Александр Макаров в разделе Регистрация в каталогах
    Ответов: 2
    Последнее сообщение: 20.01.2014, 03:16
  3. Ответов: 2
    Последнее сообщение: 12.11.2012, 03:55
  4. Ответов: 3
    Последнее сообщение: 22.10.2012, 02:39
  5. Ответов: 4
    Последнее сообщение: 04.10.2012, 04:01
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •