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

Закон отражения в ограниченой зоне на консольном приложении - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Мировые координаты и координаты устройства http://www.cyberforum.ru/cpp-beginners/thread636616.html
Пишу программу с интерфейсом напоминающем Autocad. А точнее ту часть в которой происходит черчение. Т.е. хочу создать поле которое отображало объекты хранящиеся в памяти в мировых координатах с возможностью масштабирования, вращения, перемещения. И вот думаю: как это реализовано в Autocad? С помощью directx, GDI (windows), других графических библиотек или просто оригинальным математическим кодом...
C++ Как преобразовать string в int ? С++ Здравствуйте, можете объяснить как преобразовать string в int ? С++. Объясните как можно проще, так-как я недавно начал изучать программирование. Допустим: #include <iostream> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread636607.html
static_cast<char>() не выводит некоторые символы C++
Редактор geany, компилятор gcc. cout<< static_cast<char>(4) заместо ожидаемого знака бубей ничего не выводится. При этом cout<< static_cast<char>(100) например, работает коректно.
C++ Ошибка типов данных
У меня возник вопрос: Запускаю программу Я должен ввести число от одного до трех, после значение записывается в переменную типа int Если мое число не подходит под это описание(меньше 0 или больше 3) выходит ошибка, в противном случае программа идет дальше. Но если я ввожу не число, а букву, то мне в бесконечном цикле выводится ошибка, а я хочу независимо от введенного значения (будь то буква...
C++ Объявление функций внутри других функций http://www.cyberforum.ru/cpp-beginners/thread636558.html
Иногда вижу в некоторых исходниках на c объявление функций, внутри main. Например: main(){ double sum(int max_num); } Так вот, хотел спросить зачем это делают?
C++ Закрытый файл У меня программа использует обычный текстовой файл для хранения различный параметров. Мне нужно сделать так, чтобы никакой пользователь не смог изменить их, иначе могут повредить программу. Как можно осуществить это? Может поменять разрешение... Подскажите??? подробнее

Показать сообщение отдельно
DU
1478 / 1054 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
13.08.2012, 20:13     Закон отражения в ограниченой зоне на консольном приложении
ну кода дофига и мне лень в него смотреть. если же пренепременно нужно затереть старое положение, то в моем коде это можно было бы сделать так, но не без проблем конечно.

C++
1
2
3
4
5
6
7
8
9
10
// тут весь код, который не стоит повторять
...
      Object& obj = *it;
      // вот тут перед процессингом объекта у него еще старые координаты. и чтобы
      // его затереть, нужно на его месте нарисовать пробел
      screen.Draw(obj.x, obj.y, ' '); // стираем объект из буфера
 
      ProcessObject(screen, *it); // изменяем координаты и скорость объекта
      screen.Draw(obj.x, obj.y, obj.symbol); // рисуем объект в буфере
...
Но тут такие проблемы могут быть:
1. У меня объекты как бы входят в границу поля и точка будет затерта. Но это решаемо.
2. Что, если объект не один и какой-то другой объект уже оказался с новыми координатами такими же, что и текущий. Получается что затирание текущего сотрет и тот другой объект. Самое простое что можно сделать: разбить обработку объектов на три части:
1. проход по всем объектам и затирание каждого из буфера
2. проход по всем объектам и обработка их нового положения (процессинг)
3. проход по всем объектам и отрисовка каждого в буфер


У вас же слишком много кода чтобы в нем разобраться. Так что пробуйте как-нибудь сами.
 
Текущее время: 05:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru