Дан класс "треугольник, вписанный в окружность". Как можно менять цвет созданного объекта и перемещать по экрану? Код (Text): #include <math.h> #include <conio.h> #include <graphics.h> //tre.cpp class tre {int xq, yq, lq; public: void drawtre() {int d=lq/2; line (xq-d, yq-d/sqrt(3), xq+d, yq-d/sqrt(3)); line (xq-d, yq-d/sqrt(3), xq, yq+d*2/sqrt(3)); line (xq+d, yq-d/sqrt(3), xq, yq+d*2/sqrt(3)); } tre(int xi,int yi,int li) {xq=xi,yq=yi,lq=li;} void draw() {drawtre();} void hide() {int bk,cc; bk=getbkcolor(); cc=getcolor(); setcolor(bk); drawtre(); setcolor(cc); } }; //circ.cpp class circ {int xc, yc, rc; public: circ(int xi,int yi,int ri) {xc=xi;yc=yi;rc=ri;} void draw() {circle(xc,yc,rc);} void hide() {int bk,cc; bk=getbkcolor(); cc=getcolor(); setcolor(bk); circle(xc,yc,rc); setcolor(cc); } }; class trecirc:public tre, public circ {public: trecirc(int xi, int yi, int ri): circ(xi,yi,ri), tre(xi,yi,sqrt(3)*ri) {} ; void draw() { circ::draw(); tre::draw(); } void hide() { circ::hide(); tre::hide(); } }; void main() { int dr=DETECT, mod; initgraph(&dr,&mod,"c:\\borlandc\\bgi"); trecirc A1(150,150,60); trecirc F4(400,300,50); A1.draw(); getch(); F4.draw(); getch(); F4.hide(); getch(); A1.hide(); getch(); closegraph(); }
Эта программа просто выводит треугольник, вписанный в окружность с заданными координатами центра, цвета, размером..А что из себя будет представлять тело метода, реализующего перемещение этого объекта по экрану?Наверное, это будет цикл, внутри которого каждую координату центра фигуры мы увеличиваем на одну и ту же величину..брр-но как это записать? Код (Text): for(i=0;i<10;i++) trecirc(int xi+i, int yi+i, int r ):
2 Luna А что сложного? Прячем объект (т.е закрашиваем его цветом фона, далее устанавливаем новые координаты, далее снова закрашиваем объект с новыми координатами, но уже цветом (foreground)
Microedition Сложно, так как надо организовать много перемещений..и непонятно, как программо написать в цикле изменение координат объекта..%)
Luna Раз вы не понимаете, значит программу писали не вы. Раз так, то вам не возможно что-то объяснить, можно только сделать за вас. Вам дорога в комерц, это сбережёт ваше драгоценное время, которое вы потратите на более полезные занятия.