Форум программистов, компьютерный форум CyberForum.ru

наследование. виртуальные ф-ции, но трабл в графике, в движении фигуры - C++

Восстановить пароль Регистрация
 
Girl-On
 Аватар для Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
16.06.2009, 11:34     наследование. виртуальные ф-ции, но трабл в графике, в движении фигуры #1
Итакс, здравствуйте))

Это случилось! Это - наследование и виртуальные функции!!! В графическом режиме, help me...

Необходим компактный набор треугольников одного цвета и квадратов другого цвета, которые произвольно двигаются, изменяя размеры только квадратов и общие цвета.

компактный набор треугольников и квадратов -- это как? всмысле они близко др. к др. находятся?? но как тогда это задать в SetCoord?? и как сделать, чтоб размер меняли только квадраты??

вот то, что натворила я, но это надо переделать:
Код
[CPP]#include<conio.h>
#include<iostream.h>
#include<dos.h>
#include<graphics.h>
#include<stdio.h>
#include<stdlib.h>

  class FiGura
{
protected:
  int x,y,w,h,color;
public:
  FiGura();
 ~FiGura();
  void SetCoord(int x,int y){this->x=x; this->y=y;};
  void SetRazmer(int x,int y){this->w=x; this->h=y;};
  void SetCvet(int color){this->color=color;};
  virtual void ViVod()=0;
};

  FiGura::FiGura()
{
  cout<<"figyra sozdana"<<endl;
}

  FiGura::~FiGura()
{
  closegraph();
  cout<<"figyra udalena"<<endl;
}

  void inic()
{
  int grdriver,gmode,errorcode;
  detectgraph(&grdriver,&gmode);
  initgraph(&grdriver,&gmode,"D:\\BC\\BGI ");
  errorcode=graphresult();
  if (errorcode!=grOk)
    {cout<<"osibka"<<endl;
    exit(1);}
};

  class KvaDrat:public FiGura
{
public:
  virtual void ViVod() 
{setcolor(color);
  rectangle(x,y,x+w,y+w);}
};

  class TreuGol:public FiGura
{
public:
  virtual void ViVod() 
{setcolor(color);
  line(x,y+w,(x+w/2),y);
  line((x+w/2),y,x+w,y+w);
  line(x+w,y+w,x,y+w);}
};

void main()
{int i,j,k;
FiGura*f[10];
TreuGol tr[5];  KvaDrat kv[5];
inic();

for (i=0;i<5;i++){
tr[i].SetCoord(random(300),random(300));
tr[i].SetRazmer(random(100),random(100));
tr[i].SetCvet(random(15)+1);
tr[i].ViVod();
f[i]=&tr[i];
}
for (i=0;i<5;i++){
kv[i].SetCoord(random(300),random(300));
kv[i].SetRazmer(random(100),random(100));
kv[i].SetCvet(random(15)+1);
kv[i].ViVod();
f[i+5]=&kv[i];
}
while(!kbhit())
{
for (i=0;i<3;i++){
 for (j=0;j<10;j++){
   f[j]->SetCvet(random(15)+1);
   f[j]->ViVod();
  }
sleep(1);
 }
 for (k=0;k<10;k++){
 f[k]->SetCvet(BLACK);
 f[k]->ViVod();
 f[k]->SetCoord(random(500),random(500));
 }
 }
getch();
}[/CPP]
Добавлено через 10 часов 20 минут 15 секунд
хоть какая-нибудь подсказка спасет жизнь этому чуду!..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2009, 11:34     наследование. виртуальные ф-ции, но трабл в графике, в движении фигуры
Посмотрите здесь:

НАСЛЕДОВАНИЕ И ВИРТУАЛЬНЫЕ ФУНКЦИИ C++
Наследование и виртуальные функции C++
наследование и виртуальные ф-ии C++
Наследование и виртуальные методы C++
C++ Наследование. Виртуальные функции
C++ Наследование и виртуальные функции
Наследование и виртуальные функции C++
Наследование и виртуальные методы C++
Наследование и виртуальные функции C++
C++ Наследование и виртуальные функции
Наследование и виртуальные функции C++
Наследование и виртуальные функции C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
16.06.2009, 14:44     наследование. виртуальные ф-ции, но трабл в графике, в движении фигуры #2
Чтобы квадраты меняли размер, то добавляешь в класс KvaDrat метод Size() и все дела...

Насчет компактности, думаю, что имеется ввиду фигуры малого размера, а не на весь экран ))) а не то, чтобы они были рядом с друг другом... Хотя фиг знает ))
Yandex
Объявления
16.06.2009, 14:44     наследование. виртуальные ф-ции, но трабл в графике, в движении фигуры
Ответ Создать тему
Опции темы

Текущее время: 16:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru