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

Танчики в graphics.h - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Из обычного в динамический массив http://www.cyberforum.ru/cpp-beginners/thread552180.html
Помогите пожалуйста переделать массив из обычного в динамический. #include "stdafx.h" #include <iostream>//i/o #include <conio.h> //getch #include <cmath> //fabs, abs #include "stdafx.h" #include <math.h> #include <tchar.h>
C++ STL Добрый вечер всем кто открыл эту вкладку! Надо реализовать кольцевой упорядоченный двозвязний список на STL + некоторые функции работы с ним (добавление нового, удаление, печать). Я реализовал все кроме кильцевости. Где-то читал, что нельзя это сделать. Но уверен - выход есть. Помогите))) #include "stdafx.h" #include <iostream> #include <algorithm> #include <list> http://www.cyberforum.ru/cpp-beginners/thread552143.html
C++ Течёт память рекой
Не могу понять в чём проблема. Есть класс CControl, от него есть наследники CInput и CButton. Просто создание объектов типа CButton и CInput не возникает утечек памяти, использование функции Clone для получения копии объекта (и последующее освобождение памяти через delete) тоже проблем не возникает, а вот когда возникает необходимость хранить объекты наследники CControl в классе CWindow в списке...
Системы счисления C++
Задано положительное действительное число up в системе счисления с основанием p с фиксированной точкой, и основание q (p, q ≠ 2, 8, 10, 16). Требуется: 1. Перевести число up в систему счисления с основанием q (при проверке работы программы числа up и q задаются преподавателем). 2. Перевести число up в 32-разрядный двоичный код, после чего это число с по-мощью разбиения на тетрады (т.е. на...
C++ Списки: функции для работы со списками http://www.cyberforum.ru/cpp-beginners/thread552121.html
Помогите пожааааааалуйста с задачками!!!! ;) ОПИШИТЕ ФУНКЦИИ ТИПОВЫХ ОПЕРАЦИЙ С СПИСКАМИ: 1. Функция AddHead (int d) добавление узла в голову списка; 2. Функция AddEnd (int d) добавление узла в конец списка; 3. Функция ShowList() вывод списка на экран; 4. Функция Search (int d) поиск узла с заданным значением в некотором поле данных; 5. Функция FindNode (int n) поиск узла с заданным...
C++ Итерационные циклы Написать программу вычисления значения функции, заданной в виде ряда, с погрешностью епсилон> 0,0001 п(пи)=3+4*(1/2*3*4 - 1/4*5*6 + 1/6*7*8 -....) Напишите пожалуйста, нужно для будущего авиации))) подробнее

Показать сообщение отдельно
dark2494
1 / 1 / 0
Регистрация: 16.09.2011
Сообщений: 29

Танчики в graphics.h - C++

18.04.2012, 21:41. Просмотров 1679. Ответов 4
Метки (Все метки)

Здравствуйте! Задали задания в устаревшей и совершенно мне неизвестной библиотеке graphics.h создать игру танки. Я уже прописал движение своего танка и выстрел, но при выстреле танк стоит на месте пока снаряд не долетит до конца карты, знаю, что программа написанная мною правильна, но не знаю как это исправить.
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
struct menu_scene
{
    int bgcolor;  
    int width;
    int height; 
};
 
struct Tanks
{
    int x;  
    int y;  
    int sx;
    int sy;
    int vT; 
    int vS; 
 
};
 
 
void MoveTank(Tanks *t, menu_scene *msc)
{
    int live=3,left=10,score;
    LoadTanksPosition(t,"Tank.txt");
    unsigned char key; 
    unsigned char way=1;
    while(key!=27)
    {
        Stats(msc,live,left,score);
        key=getch();
        if(key==32)
        {
            t->sx=t->x;
            t->sy=t->y;
            if(way==1)
            {
                while(t->sy!=30)
                {
                    readimagefile("picture/background.bmp", t->sx+10, t->sy-10, t->sx+20,t->sy);
                    t->sy-=t->vT;
                    readimagefile("C://programme/tanks/picture/shot.bmp", t->sx+10, t->sy-10, t->sx+20, t->sy);
                    delay(20);     
                }    
                readimagefile("picture/background.bmp", t->sx+10, t->sy-8, t->sx+20, t->sy+5);
            }
            if(way==2)
            {
                while(t->sx!=10)
                {
                    readimagefile("picture/background.bmp", t->sx-10, t->sy+10, t->sx,t->sy+20);
                    t->sx-=t->vT;
                    readimagefile("C://programme/tanks/picture/shot.bmp", t->sx-10, t->sy+10, t->sx, t->sy+20);
                    delay(20);     
                }    
                readimagefile("picture/background.bmp", 0, t->sy+10, 10, t->sy+20);
            }
            if(way==3)
            {
                while(t->sx<=msc->width-10)
                {
                    readimagefile("picture/background.bmp", t->sx+30, t->sy+10, t->sx+40,t->sy+20);
                    t->sx+=t->vT;
                    readimagefile("C://programme/tanks/picture/shot.bmp", t->sx+30, t->sy+10, t->sx+40, t->sy+20);
                    delay(20);     
                }    
                readimagefile("picture/background.bmp", msc->width-10, t->sy+10, msc->width, t->sy+20);
            }
            if(way==4)
            {
                while(t->sy<=msc->height-10)
                {
                    readimagefile("picture/background.bmp", t->sx+10, t->sy+30, t->sx+20,t->sy+40);
                    t->sy+=t->vT;
                    readimagefile("C://programme/tanks/picture/shot.bmp", t->sx+10, t->sy+30, t->sx+20, t->sy+40);
                    delay(20);     
                }    
                readimagefile("picture/background.bmp", t->sx+10, msc->height-10, t->sx+20, msc->height);
            }
        }
        if(key==72)
        {
            way=1;
            if(t->y!=20)
            {         
                cleardevice();
                t->y-=t->vT;
                readimagefile("C://programme/tanks/picture/tank1.bmp", t->x, t->y, t->x+30, t->y+30);
            }
            else readimagefile("C://programme/tanks/picture/tank1.bmp", t->x, 20, t->x+30, 50);
        }
        if(key==75)
        {
            if(t->x!=0)
            {
                way=2;
                cleardevice();
                t->x-=t->vT;
                readimagefile("C://programme/tanks/picture/tank3.bmp", t->x, t->y, t->x+30, t->y+30);
            }
            else readimagefile("C://programme/tanks/picture/tank3.bmp", 0, t->y, 30, t->y+30);
        }
    if(key==77)
    {
        if(t->x<msc->width-30)
        {
            way=3;
            cleardevice();
            t->x+=t->vT;
            readimagefile("C://programme/tanks/picture/tank4.bmp", t->x, t->y, t->x+30, t->y+30);
        } else readimagefile("C://programme/tanks/picture/tank4.bmp", msc->width-30, t->y, msc->width, t->y+30);
    }
    if(key==80)
    {
        way=4;
        if(t->y!=msc->height-30)
        {
            cleardevice();
            t->y+=t->vT;
            readimagefile("C://programme/tanks/picture/tank2.bmp", t->x, t->y, t->x+30, t->y+30);
        }else readimagefile("C://programme/tanks/picture/tank2.bmp", t->x, msc->height-30, t->x+30, msc->height);
    }
    }           
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru