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

Ошибка в программе с графикой - C++

Восстановить пароль Регистрация
 
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
26.04.2013, 21:20     Ошибка в программе с графикой #1
Есть код. Картинка двигается только по горизонтали. Как сделать чтобы она двигалась по всему окну консоли? То есть и по вертикали. Прямоугольник - типа самолета.

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
#include <stdio.h>
#include <conio.h>
#include "graphics.h"
void draw(int x,int y,int c);
int main (void)
{
    int gd=DETECT,gm;
    int x=0,y=400,speed=50;
    char ch;
    initgraph(&gd,&gm,"C:\\Dev-Cpp\\lib\\libbgi");
    initwindow(640,480);
    outtextxy(200,20,"press ESC to finish");
    do
    {
                            draw (x,y,ch);
                            delay (500);
                            draw (x,y,0);
                            x+=speed;
                            if (kbhit())
                            ch=getch();
    }
    while (ch!=27);
    closegraph();
    return 0;
}
void draw (int xx,int yy,int c)
{
     setcolor (c);
     setfillstyle (1,c);
     bar (xx-30,yy-5,xx+30,yy+5);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 21:20     Ошибка в программе с графикой
Посмотрите здесь:

Ошибка при работе с графикой C++
C++ Ошибка в программе
C++ Ошибка в программе
ошибка в программе C++
Ошибка в программе C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
2861 / 1809 / 272
Регистрация: 27.08.2010
Сообщений: 4,897
Записей в блоге: 1
27.04.2013, 03:29     Ошибка в программе с графикой #2
C++
1
y+=speed;
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
27.04.2013, 15:24  [ТС]     Ошибка в программе с графикой #3
gazlan, пробовал. Неправильно. Хотя может не в том месте вставлял. И как еще сделать чтобы этот самолет приземлялся, замедляясь, на ту же высоту экрана, что и взлетал, то есть будет у=400? И как задать высоту, выше которой он не поднимался?
gazlan
2861 / 1809 / 272
Регистрация: 27.08.2010
Сообщений: 4,897
Записей в блоге: 1
27.04.2013, 20:30     Ошибка в программе с графикой #4
Строка 18 - единственное место, где происходит смена координаты. Там и управлякйте. Как угодно.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,898
Записей в блоге: 2
Завершенные тесты: 1
27.04.2013, 21:31     Ошибка в программе с графикой #5
Цитата Сообщение от frank_lampard Посмотреть сообщение
То есть и по вертикали.
Ну в данном случае у Вас изменяется только координата x. В каком случае он должен двигаться по вертикали лично я не знаю. Как вариант - сделать рандомный выбор куда двигаться.
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
27.04.2013, 22:20  [ТС]     Ошибка в программе с графикой #6
Croessmah, не подскажете как рандомно сделать?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,898
Записей в блоге: 2
Завершенные тесты: 1
27.04.2013, 22:23     Ошибка в программе с графикой #7
C++
1
2
3
4
5
if(rand()%2){
   x+=speed;
}else{
   y+=speed;
}
Это правда будет не просто самолет, а самолет, больной Болезнью Паркинсона, к тому же может за экран вылететь, наверное
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
28.04.2013, 00:49  [ТС]     Ошибка в программе с графикой #8
Croessmah, а как границы поставить? Чтобы он вниз не улетал и вверх?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 01:25     Ошибка в программе с графикой
Еще ссылки по теме:

C++ ошибка в программе
Ошибка при работе с графикой. Не распознается библиотека "cstdlib" C++
Ошибка в программе C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,898
Записей в блоге: 2
Завершенные тесты: 1
28.04.2013, 01:25     Ошибка в программе с графикой #9
Цитата Сообщение от frank_lampard Посмотреть сообщение
а как границы поставить? Чтобы он вниз не улетал и вверх?
Проверять x и y
Yandex
Объявления
28.04.2013, 01:25     Ошибка в программе с графикой
Ответ Создать тему
Опции темы

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