color bullet(window &w, color skycolor, tank &left, tank &right, bool &leftTurn) { // goes through bullets path. returns color of what is hit. setBrushAndPenColor(w, skycolor); // erasing up top to make sure it doesnt count hitting the text w.DrawRectangle(0, 0, w.GetWidth(), 200, FILLED); double dtime = 0.007; int bulletRadius = 4; int bulletX, bulletY; double radianAngle; tank ¤tTank = leftTurn ? left : right; int angle = currentTank.getAngle(); if (leftTurn) { radianAngle = angle * cdPi / 180; bulletX = currentTank.getXend() + 3; } else { radianAngle = ((180 - angle) * cdPi / 180); bulletX = currentTank.getXend() - 3; } int velocity = currentTank.getSpeed(); bulletY = currentTank.getYend() - 3; leftTurn = !leftTurn; double xVel = cos(radianAngle) * velocity; double yVel = sin(radianAngle) * velocity; double time = 0; while (w.GetColor(bulletX, bulletY) == skycolor) { setBrushAndPenColor(w, BLACK); w.DrawCircle(bulletX, bulletY, bulletRadius, FILLED); w.UpdateBuffer(); Sleep(1); setBrushAndPenColor(w, skycolor); w.DrawCircle(bulletX, bulletY, bulletRadius + 1, FILLED); time += dtime; bulletX += xVel * time; bulletY += -yVel * time + 40 * time * time; } return w.GetColor(bulletX, bulletY); }