1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Значит так. Нужно сделать какое-то подобие "радара". Есть окружность, в которой вписана прямая линия. Линия начинается в центре круга. Она должна перемещаться наподобие стрелки часов против часовой стрелки, только не слишком быстро. Окружность со стрелкой я сделал, а вот с движением линии проблемы.
Код
uses crt,graph; var graphmode,graphdriver,errorcode:integer; x,y,i:integer; begin graphdriver:=detect; initgraph(graphdriver,graphmode,'egavga.bgi'); errorcode:=graphresult; if errorcode<>grok then begin clrscr; writeln('Graphics error: ',grapherrormsg(errorcode)); writeln('Program aborted...'); halt(1); end; setcolor(green); circle(320,240,220); setcolor(lightgreen); circle(320,240,218); circle(320,240,2); setcolor(lightgreen); setlinestyle(dottedln,0,normwidth); line(320,238,320,22); readln; end.
Сообщение отредактировано: Jaxx -
--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
type radar_circle = record CenterX, CenterY, RadarRadius, CurrentAngle, CurrentRadius: integer; end;
const MaxRadars = 10; var RadarInfo: array[ 0 .. pred(MaxRadars) ] of radar_circle;
function GetXCoords(rHandler: integer): integer; begin with RadarInfo[rHandler] do GetXCoords := CenterX + Trunc(RadarRadius * sin(CurrentAngle / RadToDegrees)); end; function GetYCoords(rHandler: integer): integer; begin with RadarInfo[rHandler] do GetYCoords := CenterY - Trunc(RadarRadius * cos(CurrentAngle / RadToDegrees)); end;
function DrawCircleRadar(CentX, CentY, Radius: integer): integer; begin if NumRadars = MaxRadars then DrawCircleRadar := -1;
setcolor(white); circle(CentX, CentY, Radius); setfillstyle(solidfill, green); floodfill(CentX, CentY, white); with RadarInfo[NumRadars] do begin CenterX := CentX; CenterY := CentY; RadarRadius := Radius; CurrentAngle := 0; CurrentRadius := 1;