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

Консольная "графика", игра "Тетрис". Фигуры перестают прорисовываться на определенном этапе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Автоматизированное тестирование ПО http://www.cyberforum.ru/cpp-beginners/thread1103575.html
Доброго времени суток! Даже незнаю, в правильный ли раздел форума обращаюсь...Есть ли здесь информация, про автоматизированное тестирование программ. Примеры написания тестов для программ?
C++ Обращение к свойству класса в динамической памяти Здравствуйте! Возникла проблема с обращением к свойству класса, расположенному в динамической памяти. Пойду по порядку. Создаю вот такой класс: class Number { private: double *num; public: Number() {num = new double;} ~Number() {} http://www.cyberforum.ru/cpp-beginners/thread1103567.html
C++ Написать объяснительную записку к коду
Написал код для курсовой а вот надо ещо обьяснительную записку но не знаю как её писать кто может помоч буду оч благодарен ! Вот код #include <iostream> //стандартная библиотека #include <time.h> //случайные числа #include <stdio.h> //для printf #include <windows.h> // для HANDLE, курсора, цвета #include <conio.h> //для kbhit #include <math.h> #include <io.h> #include <iostream>
C++ Создание объектного файла с использованием программного кода
Интересует вопрос, как создать объектный файл, некоторой, программы на C++, из другой программы? То есть, имеется файл temp.cpp и я хочу получить temp.o. А это я делаю с помощью исполняемого файла toObj, написанным и откомпилированным (toObj.cpp). Ну и вот мне нужно реализовать код для toObj.cpp. К примеру, если будет около 50 файлов на С++, то будет удобно получить объектный файл с помощью...
C++ Как определить символ конца строки http://www.cyberforum.ru/cpp-beginners/thread1103558.html
Всем доброго времени суток! Работаю в VS2012 Такая задача - работаю со строками. Считываю файл (построчно функцией getline). И мне дозарезу нужен символ конца строки. Я понимаю, что можно воспользоваться функцией .length(), получить длину и так определить конец строки, но как, прогоняя строку посимвольно в цикле, осуществить проверку на символ конца строки? Т.е.: for (int i=0;...
C++ Вывести сообщение "Можно", если из букв введенной строки X можно составить введенную строку Y Не могу понять самой сути задания. Вывести сообщение "Можно", если из букв введенной строки X можно составить введенную строку Y,при условии что каждую букву строки X можно использовать один раз; и сообщение "Нельзя" в противном случае. подробнее

Показать сообщение отдельно
A_V
0 / 0 / 0
Регистрация: 23.02.2014
Сообщений: 5
23.02.2014, 18:48     Консольная "графика", игра "Тетрис". Фигуры перестают прорисовываться на определенном этапе
Доброго времени!
Написал на днях тетрис (в консоле) с использованием, кажется это называется WinApi.

В цикле вызывается функция отрисовки фигуры, которая в свою очередь вызывает п\п отрисовки кубика.
Удаление его осуществляется той же функцией только закрашивает поверх отрисованного цветом фона (так как не знаю возможно ли просто удалить нарисованное).

Все классно работает до определенного момента, где то на 7 - 9 фигуре отрисовка отваливается и фигура становится неподвижной и не дорисованной, но программа продолжает работать, переменные меняются, на отладке все нормально. Может как нибудь освобождать память или еще что после каждой отрисовки?

вот "графический" фрагмент программы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void printpos(int x, int y, bool key)
{
    HDC hdc = GetDC(GetConsoleWindow());
    HPEN BlackPen = CreatePen(PS_SOLID, 2, RGB(0, 0, 0));
    HPEN  DelPen = CreatePen(PS_SOLID, 2, RGB(59, 68, 75));
    HPEN  DelPen = CreatePen(PS_SOLID, 2, RGB(242,243,244));
    HBRUSH hBrush1, hBrush2, hBrush3;
    hBrush1 = CreateSolidBrush(RGB(59, 68, 75));
    hBrush2 = CreateSolidBrush(RGB(254, 111, 94));
    hBrush3 = CreateSolidBrush(RGB(0, 168, 107));
 
    switch (key)
    {
    case 1: SelectObject(hdc, BlackPen); SelectObject(hdc, hBrush2);  break;
    case 0: SelectObject(hdc, DelPen); SelectObject(hdc, hBrush1); break;
    }
    Rectangle(hdc, x + 260, y + 10, x + 278, y + 28); // Печать кубика
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru