LeftSide = 0; RightSide = 400; Bottom = 0; Top = 800; StartX = 0.0; StartY = 300.0; Angle = 26; Step = 0; hit = 0; while(hit < 5){ x = Step * sin(Angle)+StartX; y = Step * cos(Angle)+StartY; moveto((int)x, (int)y); Step ++; if(Angle >= 0 and Angle < 90){ //look for hit on right or top if(x >= RightSide){ $hit++; Angle = 90 + 90 - Angle; StartX = RightSide; StartY = y; Step = 1; } if(y >= top){ $hit++; Angle = 360 - Angle; StartX = x; StartY = Top; Step = 1; } }