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

Работа с графикой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать массив по правилу http://www.cyberforum.ru/cpp-beginners/thread850176.html
программа формирования и вывода массива размером 6 на 3, каждые три последовательных элемента в строке которого составлены по следующему правилу: 1-й - равен удвоенному числу, введенному с клавиатуры; 2-й - равен квадрату суммы индексов предыдущего элемента; 3-й - равен остатку от деления индекса текущего элемента на 2
C++ Нужна проверка кода (система обмена сообщениями) есть код C++,компилируется в Mingw/bin при помощи g++. Данный код представляет собой систему обмена сообщениями. Идеальный случай,когда юзер не допускает ошибок при вводе регистрационных данных. проблема в написании проверки ввода этих самых данных #include "iostream" #include "locale.h" #include <string> #include <stdio.h> #include <stdlib.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread850155.html
C++ Описать структуру с именем NOTE
Помогите с программой пожалуйста. А. Описать структуру с именем NOTE, содержащую следущие поля: Фамилия, имя; Номер телефона; День рождения(массив из трех чисел). Ввести с клавиатуры данные о 10 абонентах, записи упорядочить по трем первым цыфрам номера телефона; Б. Написать программу, выполняющую следующие действия: Вывод на экран информации о человеке, чья фамилия введенна с клавиатуры;...
Заполнение массива числами C++
Здравствуйте, есть набор чисел (3, 3.5, 4 ,4.5, 5) требуется заполнить массив который заполняется случаными образом этими числами. как это сделать?
C++ Определитель матрицы - нужен полноценный пример http://www.cyberforum.ru/cpp-beginners/thread850138.html
Ребята, нужен код на C++, поиск определителя матрицы n-го порядка, ну скажем что самое простое( помоему по методу гаусса ). Здесь уже видел несколько кусочков, но нужен полный код, если кому не тяжело. Ну скажем в Microsoft Visual C++ чтобы скомпилировалась.
C++ Сортировка вставками двухсвязного списка По заданию требуется отсортировать список по возрастанию. Организовал структуру списка,функцию по добавлению и удалению элементов, но застрял на сортировке,пытался сделать по соответствующему алгоритму для массивов,вот что получилось: struct List_t { int mInfo; // значение,хранящееся в данном узле List_t* mpNext; //указатель на следующий узел списка List_t* mpPrev; //указатель на... подробнее

Показать сообщение отдельно
Salty
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 6

Работа с графикой - C++

27.04.2013, 17:57. Просмотров 307. Ответов 0
Метки (Все метки)

Здравствуйте, помогите разобраться с программой?
в результате должны получиться различные графические объекты, перемещающиеся по прямым траекториям с разными случайными векторами скоростей. и возможность добавления и удаления объектов.
вот все, что есть. программа не работает.
Код
#include <stdlib.h>
#include <time.h>
#include <grx20.h>
#include <grxkeys.h>
struct TPoint{
 int x,y;
 int vx, vy;
 int color;
 TPoint(int ix,int iy,int icolor);
 virtual ~TPoint();
 virtual void Draw(int icolor);
 void Show();
 void Hide();
 void MoveXY(int ix, int iy);
};
struct TBox: public TPoint{
 int w,h;
 TBox(int ix,int iy,int icolor,int iw,int ih);
 virtual ~TBox();
 virtual void Draw(int icolor);
};
struct TCircle: public TPoint{
 int r;
 TCircle(int ix,int iy,int icolor,int ir);
 virtual ~TCircle();
 virtual void Draw(int icolor);
};
TPoint::TPoint(int ix,int iy,int icolor)
{
 x=ix; y=iy;
 vx=rand()%7-3;
 vy=rand()%11-5;
 color=icolor;
}
TPoint::~TPoint()
{
 Hide();
}
void TPoint::Draw(int icolor)
{
 GrPlot(x,y,icolor);
 GrPlot(x+1,y,icolor);
 GrPlot(x,y+1,icolor);
 GrPlot(x+1,y+1,icolor);
}
void TPoint::Show()
{
 Draw(color);
}
void TPoint::Hide()
{
 Draw(0);
}
void TPoint::MoveXY(int ix,int iy)
{
 Hide();
 if (ix>GrMaxX())
 x=ix-GrMaxX()-1;
 if (iy>GrMaxY())
 y=iy-GrMaxY()-1;
 //a=va; s=vs;
 x=ix; y=iy;
 Show();
}
TBox::TBox(int ix,int iy,int icolor,int iw,int ih):
 TPoint(ix,iy,icolor)
{
 w=iw; h=ih;
}
TBox::~TBox()
{
 Hide();
}
void TBox::Draw(int icolor)
{
 GrBox(x-w/50,y-h/50,x+(w-w/50),y+(h-h/50),icolor);
}
TCircle::TCircle(int ix,int iy,int icolor,int ir):
 TPoint(ix,iy,icolor)
{
 r=ir;
}
TCircle::~TCircle()
{
 Hide();
}
void TCircle::Draw(int icolor)
{
 GrCircle(x,y,r,icolor);
}
#define M 100
int main()
int N=10;
{TPoint *obj[M];
GrKeyType key;
 do{
  while (!GrKeyPressed()){
   GrSleep(20);
   obj[i]->vx;
   obj[i]->vy;
   for(i=0;i<N;i++){

    obj[i]->MoveXY(obj[i]->x+vx, obj[i]->y+vy;//x+rand()%7-3,obj[i]->vs+rand()%7-3);
}
  }
  key=GrKeyRead();
    switch(key){
case GrKey_Insert:
if (N<M){
    GrSetMode(GR_default_graphics,2,3);
 srand(time(0));
 int i;
 for(i=0;i<N;i++){
    switch (1 + rand()%3) {
  case 1:
  obj[N]=new TPoint(rand()%(GrMaxX()+1),rand()%(GrMaxY()+1),15);
  obj[N]->Show();
  break;
  case 2:
  obj[N]=new TBox(rand()%(GrMaxX()+1),rand()%(GrMaxY()+1),15,rand()%(GrMaxX()+1),rand()%(GrMaxY()+1));
  obj[N]->Show();
  break;
  case 3:
  obj[N]=new TCircle(rand()%(GrMaxX()+1),rand()%(GrMaxY()+1),15,rand()%(GrMaxX()+1));
  obj[N]->Show();
  break;
  default:; }}
N++; //количество объектов увеличивается
}
break;
case GrKey_Delete:
if (N>0){
delete obj[N-1];
N--; //количество объектов уменьшается
}
break;
}}}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru