Карта сайта

Это автоматически сохраненная страница от 14.03.2013. Оригинал был здесь: http://2ch.hk/b/res/44961433.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Чтв 14 Мар 2013 20:52:40
YOBA ЧАСЫ
Репост из программача, так как там никто не откликается. Молю, помоги мне, анон.

Пишет тебе студент второго курса колледжа, поэтому код - говно. Есть одна программа на PascalABC, которая работает как якобы секундомер. Анон, пожалуйста, помоги мне добавить туда две стрелки, чтобы программа могла работать уже как часы, а то я никак не могу понять как ее нужно переделать, чтобы добавить стрелку минут и часов, и при этом стрелка минут и часов сдвигаются по условию прохода секундной стрелки. Буду отдельно благодарен, если поможешь и с функцией ввода изначального значения времени, чтобы отсчет был именно с него. Знаю что с помощью операторов вызова системного времени было бы легче, да вот только ничего нам из этого не объясняли, следовательно и использовать нельзя. Ну не могу я понять как прикрутить еще две стрелки с нормальной работоспособностью, постоянно они у меня вместе с секундной ходят. Я уже и через рекурсию пробовал, и условие описывал когда x=60, то сдвигается минутная стрелка. Все равно одно говно получается, сколько не бился. И сейчас сижу, пытаюсь что-то сделать, но все также безуспешно. Вот, собственно, сам код:


uses graphABC,crt;
const r=90;
var sr,i,x,x1,y1,x2,y2:integer; a:real;
procedure strelki(x1,y1:integer); {Процедура секунд}
begin
sr:=120;
setpencolor(clred);
a:=pi*(x+45)*6/180;
x1:=600+round(sr*cos(a)); {Рисуется стрелка}
y1:=400+round(sr*sin(a));
line(600,400,x1,y1);

sleep(1000);

sr:=120;
setpencolor(clwhite);
a:=pi*(x+45)*6/180;
x1:=600+round(sr*cos(a)); {Стрелка закрашивается белым}
y1:=400+round(sr*sin(a));
line(600,400,x1,y1);


setpencolor(clblack);
a:=pi*(x+45)*6/180;
x1:=600+round(r*cos(a)); {Закрашиваение секундных делений после прохода стрелки}
y1:=400+round(r*sin(a));
line(600,400,x1,y1);


setpencolor(clblack); {Рисование круга поверх делений на секунды}
circle (600,400,80);


end;
BEGIN
maximizewindow;
circle(600,400,135); {Рисование круга поверх чисел}
for i:=0 to 11 do {Рисование чисел по окружности}
begin
a:=pi*(i+10)*30/180;
x2:=596+round((r+30)*cos(a));
y2:=396+round((r+30)*sin(a));
if i>9 then x2:=x2-3;
textout(x2,y2,IntToStr(i+1));
end;

for x:=0 to 60 do begin {Рисование круга какого-то, из-за которого не рисуются деления в других частях}
a:=pi*x/30;
x1:=600+round(r*cos(a));
y1:=400+round(r*sin(a));
line(600,400,x1,y1);
circle (600,400,80);
end;

for x:=0 to 1000 do begin
for x:=0 to 60 do {Цикл стрелок}
begin
strelki(x1,y1);
end;
end;
end.


Чтв 14 Мар 2013 21:00:24
>>44961776
Будь другом, доставь моар сомика.

Чтв 14 Мар 2013 21:05:35
>>44961999
Извини анон, более сомика нет.

Чтв 14 Мар 2013 21:09:48
>>44961999
fuckyeahcharliesomikchan.tumblr.com/


Чтв 14 Мар 2013 21:14:26
>>44962528
Таки она трап, я думал иначе.


← К списку тредов