Форум программистов, компьютерный форум CyberForum.ru

Tanks на C. Проблема выстрела - C++

Восстановить пароль Регистрация
 
aeee
0 / 0 / 0
Регистрация: 10.05.2012
Сообщений: 4
10.05.2012, 22:54     Tanks на C. Проблема выстрела #1
C
1
2
3
4
5
6
7
            while(1)
            {
                    int k=getch();
                    fire_shot(&t,&msc,&s,k);
                    MoveTank(&t,&msc,k);
                    DrawTank(&t,&msc);
            }
В этом цикле у меня некоторые проблемы, при нажатии клавиши space происходит выстрел, пересчитываются координаты ну и как и должна переходит снова к строчке
C
1
 int k=getch();
и ждет нажатия клавиши. Как мне исправить прогу чтобы снаряд продолжал лететь ну и соответственно танк мог двигаться в момент полета.
Вложения
Тип файла: rar Tanks.rar (717.0 Кб, 15 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
10.05.2012, 23:48     Tanks на C. Проблема выстрела #2
всё очень просто. Снаряд танка должен быть отдельным объектом со своей координатой и скоростью. перемещать небольшими приращениями в главном цикле, там же, где координаты твнка обрабатываются, а не в отдельной функции.
Код не смотрел.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
10.05.2012, 23:52     Tanks на C. Проблема выстрела #3
Точняк. Я в свое время делал как-то так:
в бесконечном с очень маленькой задержкой цикле смотришь координаты пули - если изменились - перерисовать ее.

все остальные действия тоже в этом цикле!
aeee
0 / 0 / 0
Регистрация: 10.05.2012
Сообщений: 4
11.05.2012, 19:30  [ТС]     Tanks на C. Проблема выстрела #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
всё очень просто. Снаряд танка должен быть отдельным объектом со своей координатой и скоростью. перемещать небольшими приращениями в главном цикле, там же, где координаты твнка обрабатываются, а не в отдельной функции.
Код не смотрел.
Снаряд и так отдельная структура, которая при нажатии пробела получает координаты танка и начинает приращение, но если поместить приращение в функцию движения танка, то увеличение/уменьшение координат будет осуществляться только вместе с движением, но в этот момент танк же может стоять на месте и снова же пуля будет ждать движения танка. Либо я неправильно понял, что вы имеете ввиду. Это главная проблема, которую я уже не могу решить 4 дня

Добавлено через 3 часа 2 минуты
никто помочь не может?
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
11.05.2012, 19:33     Tanks на C. Проблема выстрела #5
Используй _kbhit() или kbhit() чтобы определить, была ли нажата клавиша. Если не нажата, то вызов getch() надо пропустить.
Yandex
Объявления
11.05.2012, 19:33     Tanks на C. Проблема выстрела
Ответ Создать тему
Опции темы

Текущее время: 19:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru