1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
Есть желание написать программу, реализующую действия ракеты и её цели. Задаются координаты цели для ракеты, стрелками на клавиатуре можно менять положение цели в 2-х мерном пространстве, ракета должна отслеживать цель. Все это должно производиться "параллельно"..
Код исходный большой(т.е там файлов листинга просто много). Я знаю, что один вольво отвечает на мои безумные посты, на него и надежда вся. В общем, в коде я оставил комментарии, где происходит "неконтролируемое", они в 2х файлах main и realiz.cpp. Код в архиве...
Volvo, скажу одно - тебе можно только позавидовать, у тебя столько практики в логике и кодинге..а ладно.щас подумаю получше.
Добавлено через 18 мин. Ну, видимо, если убрать SetEvent ,допустим, в ChangeCoordTarget, то поток с "полетом ракеты" не узнает о том, что координата поменялась ... Кстате, почему-то, если добавить строчку в
... case 77: // right tr.x++; break; } // SetEvent(changeCoordEvent); key = 0; std::cout << "Target now on " << tr.x << " : " << tr.y;//!!!тут }
То выводиться ascii код нажатой клавиши. ЕЩё одно..почему-то ракета не летит за целью, а просто перебирает координаты(x++,y--). Условие я такое поставил :
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)//опять проверяем и т.д.тоже самое и координатой Y 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--;