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

Графика+классы с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ binary files http://www.cyberforum.ru/cpp/thread72766.html
f : file of integer; как тоже самое сделать в Си++??? то есть открыть файл в виде чисел??? по идеи так...но что дальше ifstream in("in.txt", ios::binary)
C++ Странный трабл с компилятором Visual Studio 6.0 Приветствую! Вот столкнулся с неким траблом в студии. Хронология: значит попросили помочь с задачей "Задан текст состоящий из строк. Строк не менее 10. В строке не менее 5 слов, в слове не менее 5... http://www.cyberforum.ru/cpp/thread72699.html
Вычислить количество элементов массива, больших С C++
1)В одноммерном массиве, состоящем из n вещественных элементов вычислить: количество элементов массива, больших С 2)произведение элементов массива расположенных после максимального по модулю...
Потоки, приоритеты C++
Нужно вывести квадраты на форме (каждый в своём потоке), в зависимости от приоритета, один прорисовывается быстрее, другой медленее. Сделал так: DWORD WINAPI OnPaint4(LPVOID lparam) { HDC...
C++ Динамичиские структуры http://www.cyberforum.ru/cpp/thread71758.html
Помогите написать программу: В составе программы описать функцию, которая формирует список Common, включив в него элементы, которые входят одновременно в спи-сок М1 и М2. язык с++
C++ Как найти обратную матрицу? Как найти обратную матрицу C# в visual studiо ? подробнее

Показать сообщение отдельно
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
19.12.2009, 22:22
наклон пушки:
организовать цикл в котором программа будет запрашивать ввод. Если введено, например 'u' - up то угол увеличиватеся на 0.001 рад,(посколку в цикле, то если пользователь зажмет кнопку угол будет менять в реальном времени), а если 'd' - down угол буедет уменьшаться, если же нажать ктопку ' ', по известному углу можно расчиать траикторию полета.

необходимо написать классы ядлро (кружочек) и пушка (прямоугольничек).

класс ядро должн содержать поля:
центр кружка,
методы:
движение в лево (или вправо, смотря куда летим).
переместить в заданную точку()
показать ядро,
спрятать ядро.

клсс пушка: поля:
угол наклона,
серединные координаты (по мним можно посторить весть прямоугольник),
методы:
поворот вверх (изменится угол),
поворот вниз (изменится угол),
показать пушку
спрятать пушку.

после нажатия ' ' (выстрел), наклон пушки менять должно быть невозможно, и надо проанимировать полет ядра, запустив цикл в котором во время каждо итерациибудет показыться и прятаться ядро (подобие анимации) в соответствии с посчитаными для данной итерации координатами.

а насчет n шаров, просто заставь прогу нестолько раз за пользователя понажимать ' ', с должной задержкой.

вот подсказка:
класс ядро
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include<graphics.h>
#include<iostream.h>
#include<conio.h>
#include<dos.h>
 
class Bullet
{
private:
    int x,y;
    int R;
public:
    Bullet(int,int,int);
    int Getx();
           int Gety();
    void Putx(int);
           void Puty(int);
    void PutRx(int);
    void Show();
    void Hide();
    void Move(int);
};
 
Coin::Bullet(int x,int y, int R)
{
    this -> x=x;
    this -> y=y;
    this -> R;
}
 
int Bullet::Getx(){return x;}
int Bullet::Getx(){return y;}
void Bullet::Putx(int x){this -> x=x;}
void Bullet::Puty(int x){this -> y=y;}
void Bullet::PutR(int Rx){this ->R;}
void Bullet::Show()
{
    ellipse(x,y,0,360,R,R);
}
 
void Bullet::Hide()
{
    unsigned TempColor;
    TempColor=getcolor();
    setcolor(getbkcolor());
    Show();
    setcolor(TempColor);
}
void Bullet::Move(int x,int y)
{
    Hide();
           this->x=x;
           this->y=y;
    Show();
}
 
void main()
{
    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();
    }
         Bullet B(200,200,50);
         B.Show();
         delay(100000);
         B.Move(300,300);
         delay(100000);
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru