1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
Есть желание написать программу, реализующую действия ракеты и её цели. Задаются координаты цели для ракеты, стрелками на клавиатуре можно менять положение цели в 2-х мерном пространстве, ракета должна отслеживать цель. Все это должно производиться "параллельно"..
Код исходный большой(т.е там файлов листинга просто много). Я знаю, что один вольво отвечает на мои безумные посты, на него и надежда вся. В общем, в коде я оставил комментарии, где происходит "неконтролируемое", они в 2х файлах main и realiz.cpp. Код в архиве...
про аски-код - не заметил, извиняюсь. Странно, но у меня почему-то происходит изменение координат ракеты так, как я описал, а не "правильно. полный непонимат. Будто ракета не получает кооридинаты цели. может я что-не так написал?,,Да нет, ничего такого вроде бы:
bool MoveToTarget(pointers& p) { WaitForSingleObject(startEvent, INFINITE); SetEvent(startEvent); while (IsAlive) { p.rocp->GetRealTimeTCoord(p.tarp); if (p.rocp->x != p.rocp->TX) if (p.rocp->x < p.rocp->TX) if (p.rocp->TX < 0) p.rocp->x++; else p.rocp->x++; else if (p.rocp->x > p.rocp->TX) if (p.rocp->TX < 0) p.rocp->x--; else p.rocp->x--;
if (p.rocp->y != p.rocp->TY) if (p.rocp->y < p.rocp->TY) if (p.rocp->TY < 0) p.rocp->y++; else p.rocp->y++; else if (p.rocp->y > p.rocp->TY) if (p.rocp->TY < 0) p.rocp->y--; else p.rocp->y--; // p.rocp->GetRealTimeTCoord(p.tarp); // if (p.rocp->x != p.tarp->x) // if (p.tarp->x < 0) p.rocp->x--; // else p.rocp->x++; // // if (p.rocp->y != p.tarp->y) // if (p.tarp->y < 0) p.rocp->y--; // else p.rocp->y++;
cout << "\nMissile at : " << p.rocp->x << " ," << p.rocp->y << endl; Sleep(500); // <--- Изменить, а то не совсем честно получается - ракета медленно летит p.rocp->Hit(p.tarp->TStatus); if (!p.tarp->TStatus) { IsAlive = false; } } return true; }