Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
aeee
0 / 0 / 0
Регистрация: 10.05.2012
Сообщений: 4
1

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

10.05.2012, 22:54. Просмотров 459. Ответов 4
Метки нет (Все метки)

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();
и ждет нажатия клавиши. Как мне исправить прогу чтобы снаряд продолжал лететь ну и соответственно танк мог двигаться в момент полета.
0
Вложения
Тип файла: rar Tanks.rar (717.0 Кб, 17 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2012, 22:54
Ответы с готовыми решениями:

По цели производится 3 выстрела
1)По цели производится 3 выстрела. Даны события Аi — попадание в цель при i выстреле (i = 1,2,3)....

найти угол выстрела
дано: пушка коорд (х;у), начальная скорость ядра и мишень (х;у). нужно найти угол выстрела, при...

Имитация выстрела лазера
Почему после отпускания кнопки F9 не перекрашивается линия ?А задумано так. int t = 850;...

Найти направление выстрела
Дорого времени. Есть объект "жертва" движется с постоянной скоростью по прямой. Известна...

Охотник сделал 3 выстрела по кабану
Охотник сделал 3 выстрела по кабану. Вероятность попадания первым выстрелом равна 0.4, вторым-0.5,...

4
Kuzia domovenok
2817 / 2418 / 619
Регистрация: 25.03.2012
Сообщений: 8,618
Записей в блоге: 1
Завершенные тесты: 1
10.05.2012, 23:48 2
всё очень просто. Снаряд танка должен быть отдельным объектом со своей координатой и скоростью. перемещать небольшими приращениями в главном цикле, там же, где координаты твнка обрабатываются, а не в отдельной функции.
Код не смотрел.
0
OstapBender
587 / 525 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
10.05.2012, 23:52 3
Точняк. Я в свое время делал как-то так:
в бесконечном с очень маленькой задержкой цикле смотришь координаты пули - если изменились - перерисовать ее.

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

Добавлено через 3 часа 2 минуты
никто помочь не может?
0
grizlik78
Эксперт С++
2060 / 1531 / 216
Регистрация: 29.05.2011
Сообщений: 3,176
11.05.2012, 19:33 5
Используй _kbhit() или kbhit() чтобы определить, была ли нажата клавиша. Если не нажата, то вызов getch() надо пропустить.
0
11.05.2012, 19:33
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2012, 19:33

Расчет направления выстрела в Nape
Мб кто знаком с Nape. Вообщем у меня по миру бегает персонаж, который является классом Body и по...

Найти угол по дальности выстрела пушки
Пушка установлена на высоте h, стреляет под углом a на расстояние L, как найти угол a?(Силой трения...

По цели производится три независимых выстрела
По цели производится три независимых выстрела. Вероятность попадания в цель при первом = 0.1 , при...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.