1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
x := round(x0 + cos ( alfa ) * cer ) ; //ключевая формула ей надо use если точки ориентированы вокруг оси y := round(y0 + sin ( alfa ) * cer ) ; // alfa = angle(rad) ; cer = length from center
for i := 0 to max do begin if j = 1 then alfa := alfa + stepalfa + 0.1 else alfa := alfa + stepalfa - 0.1 ; // delay(100); l.extrackt(i, x, y); setcolor(0); line(x0, y0, x, y); x := round(x0 + cos ( alfa ) * cer ) ; y := round(y0 + sin ( alfa ) * cer ) ; setcolor(15); line(x0, y0, x, y); l.delbykey(i); l.addinend(x,y); end ;
max := l1.richtkey ; for i := 0 to max do begin if j = 1 then alfa := alfa + stepalfa + 0.1 else alfa := alfa + stepalfa - 0.1 ; // delay(100); l1.extrackt(i, x1, y1); setcolor(0); line(xx, yy, x1, y1); x1 := round(xx + cos ( alfa ) * cer ) ; y1 := round(yy + sin ( alfa ) * cer ) ; setcolor(15); line(xx, yy, x1, y1); l1.delbykey(i); l1.addinend(x1,y1); end ;
delay(time);
end ;
readln ;
end .
Добавлено через 10 мин. если хочешь про вращение вправо влево менять динамически то сделая переменную bool и меняй направление вз от ее значения ввод с клавы не останавливая прорисрвку
procedure cursor_keys ;
var
key : char ;
begin
if keypressed then begin key := readkey ; case ord(key) of /// коды клавишь и дейсвия 45 : .... 34: ....
end ;
end ; end ;
Сообщение отредактировано: renesko1 - 21.06.2008 17:12