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

Ищу нормальную формулу для полета пули (прямо с одинаковой скоростью в указанном направлении) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибки с Regex http://www.cyberforum.ru/cpp-beginners/thread1707786.html
Доброго времени суток. Понадобилось немного поработать с регулярными выражениями, но почему-то в boost и стандартной TR1 возникают проблемы. Ни одна из элементарных программ, которые даны в примерах,...
C++ Определить количество простых чисел Простым называется число, которое имеет только два делителя – само число и единицу. Дано натуральное число n и последовательность натуральных чисел a1, a2, ..., an. Определить количество простых... http://www.cyberforum.ru/cpp-beginners/thread1707784.html
C++ Построение кривой Безье на C или С++
построение кривой безье произвольного порядка (исходные данные вводятся с клавиатуры)
C++ Неправильно выводится список
Помогите разобраться. Почему не получается использовать связной список где не используются указатели в качестве объекта для ввода данных(конкретнее в комментариях). 28 строка не присваивает значение...
C++ Удалить все столбцы в которых нет нулевого элемента массива С++ http://www.cyberforum.ru/cpp-beginners/thread1707755.html
Удалить все столбцы в которых нет нулевого элемента массива С++. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <conio.h> #include <clocale> #include <stdlib.h> #include <time.h>...
C++ Приоритетная очередь Господа, есть задание реализовать блок включения и исключения в/из приоритетную очередь, построенную на базе слабой пирамиды. Так вот вопрос в том что такое слабая пирамида и как реализовать... подробнее

Показать сообщение отдельно
DemolitionMan
97 / 153 / 47
Регистрация: 06.04.2016
Сообщений: 992
10.04.2016, 12:55
Вместо этого:
C++
1
double distance = sqrt((сx - x)*(сx - x) + (сy - y)*(сy - y));
Нужно написать вот это:
C++
1
double distance = sqrt((сx - px)*(сx - px) + (сy - py)*(сy - py));
Нужно найти угол прямой:
C++
1
float k = y/x;
Задаем вермя таймера 100 мс.
По событию таймера вызываем движение пули:
C++
1
2
dx = 1;// или x += 1
dy = k;
Добавлено через 12 минут
Ну если у тебя системное время, то тогда нужно написать примерно так:
C++
1
2
3
4
5
6
7
8
9
10
int step = 100,//шаг времени
period = 0,//номер периода
bulletx = px, bullety = py;
for(;;){
if(time%step == 0){
period++;
dx = 1;// или x += 1
dy = k;
bulletx += dx,
bullety += dy;}}
Ну и как говорится:
C++
1
Timer1->Enabled = true;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru