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

ООП для рисования - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Блок схема по коду С++ http://www.cyberforum.ru/cpp-beginners/thread99708.html
Помогите составить блок-схему по коду этой программы. Заранее спасибо! Может понадобится: "программа создаёт массив. Количество элементов вводится пользователем с клавиатуры. Элементы массива чередуются случайным образом от нуля, до числа, которое задаётся с клавиатуры. Программа должна выводить элементы массива до и после сортировки (сортировка пузырьковым методом)". #include <iostream.h>...
C++ дек как сделать такую вещь? реализовать и протестировать контейнерный класс динамической структуры данных такой как дек. класс должен иметь интерфейс АТД для добавления удаления и поиска элементов а также уметь перегружать операторы.всем заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread99687.html
typedef struct C++
а зачем вы используете конструкцию typedef struct name{...} ? и какие она дает преимущества в отличии от struct name{...}
Массив C++
Можно ли из функции (не main) вернуть (return) массив? Мне нужно написать программу ввода, вывода 2-х массивов с помощью функций.
C++ отношение к видео урокам http://www.cyberforum.ru/cpp-beginners/thread99673.html
как вы относитесь к видео урокам по C++ ? помогают ли они новичкам или это пустая трата времени.. лично я скачал видеоуроки, посмотрел их, но помоему книги на много лучше.
C++ массивы Помогите написать програмки!!!! 1. Даны два массива, упорядоченных по возростанию: А и B. Сформируйте массив C, состоящий из элементов массивов А и В, упорядоченный по возростанию (Массив С не должен сортироваться). 2. Даны два массива : А и B. Необходимо создать третий массив, в котором нужно собрать общие элементы двух массивов. 3. Даны два массива : А и B. Необходимо создать третий массив,... подробнее

Показать сообщение отдельно
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
28.02.2010, 16:17     ООП для рисования
событий клика на кнопку... нужно исмользовать winAPI?ну если нет то наврно нужно в borland C++ написать вот так
нужно определить методы класса:
void arrow::show();
void arrow::hide();
void arrow::move(char comand);
значит так, . Наример самое простое - считать что стрелка выглядит как палочка с галочкой -> , а x,y координатами острого кончика стрелки. в методе arrow::show(), который будет рисовать струлку надо указать каким образом можно получить кординаты всех точек-вершин для линий из которых состоит стрелка.
Я тут на бумажке написал как пмримерно это посчитать.
после того как посчитал точи надо между нимаи начертить лини.
C++
1
2
3
4
5
6
7
8
9
10
void arrow::show()
{
      //вычисляем точки
      int ax=x - L*sin(3.14/4);
      int ay=y + L * cos(3.14/4);
      //и так далие
     //чертим между ними линии
     line(ax,ay,x,y);
     //и так далие чертим линии между теми точками, между которыми они должны быть.
}
когда стрелка будет двигаться надо будет закрасить старые лини и начертить новые цветом фона - это закрасит старые линии
C++
1
2
3
4
5
6
7
8
void arrow::hide()
{
      int prevColor=getcolor();
      setcolor(getbkcolor());
      show();
      //реализация
      set(prevColor);//не заыть восстанивить цвет
}
как оргинизовать движение:
в цикле ожидается что нажмется клавиша значит в зависимости от клавиши стрелка будет двигаться в лево, вправо и т.д.значит:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void arrow::move(char comand)
{
     //как в стрелялках a s w d вместо стрелок
     switch (comand){
              case 'a':
                         --x;
                     break;
              case 'd':
                         ++x;
                     break;
              case 'w':
                         --y;
                     break;
              case 's':
                         ++y;
                     break;
}
вот и все. Только не забудь в теле main() до всех использований графики включить графический режим:
C++
1
2
3
4
5
6
7
8
9
int gdriver=DETECT, gmode, errcode;
initgraph(&gdriver, &gmode,"");
errcode=graphresult();
if (errcode != grOk)
{
    cout<<"Graphics error: %s"<<grapherrormsg(errcode)<<endl;
    cout<<"Press any key to halt:"<<endl;
    getch();
}
 
Текущее время: 08:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru