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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 346
#1

Квадрат выходит за границы окна - C++

23.04.2014, 18:17. Просмотров 203. Ответов 2
Метки нет (Все метки)

Как сделать, чтобы графический элемент программы (квадрат) не заходил за границы программы?
Он изначально в центре. Я его перемещаю клавишами со стрелками в разные стороны.
Нужно, чтобы он не выходил за границы (300x300).
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
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
 
using namespace std;
 
void Draw(int x, int y, int color)
{
    setfillstyle (1, color);
    bar (x,y, x+20, y+20);
}
 
main()
{
    int x,y,code;
    initwindow (300, 300);
    setfillstyle(1, COLOR(0,0,255));
    bar (0,0,300,300);
    x=140; y=130;
    while (y<290)
  {
    Draw (x,y, COLOR(255,255,0));
    delay (20);
    Draw (x,y, COLOR(0,0,255));
        if (kbhit())
        {
            code = getch();
            if (code==27) break;
                switch (code)
            {
                case 75: x-=10; break;
                case 77: x+=10; break;
                case 72: y-=10; break;
                case 80: y+=10; 
        }
        }
    }
    getch();
    closegraph();
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 18:17     Квадрат выходит за границы окна
Посмотрите здесь:

Как изменить цвет границы окна - C++
Здравствуйте! Как в Visual Studio 2010 на С++ можно изменить цвет границы окна, которое создает мастер? Или же как можно создать...

границы рандомизации - C++
Как,запрашивая верхнюю и нижнюю границы рандомизации вывести вещественные числа случайным образом, написала код, но работает неккоректно: ...

Границы кучи - C++
Как корректно определить границы кучи в любой момент времени без использования функций менеджера дрп в си? Добавлено через 18 часов 7...

Границы массива - C++
Подскажите пожалуйста, что надо изменить в программке, чтобы &quot;Т&quot; не выходила за границы массива. Спасибо! #include &lt;iostream&gt; //...

Границы массива - C++
Пришла ночью дурная идея... как определить конец массива: int main(int argc, char *argv){ int *p, A={1, 2, 3}; p = &amp;A; ...

Задать границы цикла - C++
Всем привет. Как добавить в for такую конструкцию for (k=2; k&lt;=n-1; k++) { или такую while (k&lt;n) или while (k&lt;(n-1)) Чтобы в...

Узнать длину границы - C++
Граница В международной политике важным понятием является граница между государствами. Нечеткое понимание сторонами того, где проходит...

Выход за границы массива - C++
Выхожу за пределы массива, но вот только не понимаю как. #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; const...

Почему происходит выход за границы? - C++
2 игрока берут из своих колод по 1-й карте. Т.е. достают элемент дека из начала дека. Так происходит, пока колода одного из игроков не...

Выход итератора за границы list - C++
почему у меня падает программа, когда пытаюсь ввести отсортированные элементы в другой list ??? list&lt;char&gt;ch; list&lt;char&gt;rev; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,184
Завершенные тесты: 1
23.04.2014, 20:12     Квадрат выходит за границы окна #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
 case 75: x-=10; if(x<0)x=0;break;
                case 77: x+=10; if(x>280)x=280;break;
                case 72: y-=10; if(y<0)y=0;break;
                case 80: y+=10; if(y>280)y=280;
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 346
23.04.2014, 20:24  [ТС]     Квадрат выходит за границы окна #3
Благодарю. Так и думал, что нужно так реализовывать, но что-то руки не дошли...
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru