Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Обновление экрана по массиву? или как?


Рекомендуемые сообщения

Ну как вы помните (наверное...) программирую я подобие тетриса. Ну почти все сделал, только одна загвоздка осталась: линия у меня стирается, если собралось по vерт. диаg. или goriзонтали 4 кубика одинакового цвета. Ну в массиве я делаю так: все что выше (для gorizontali) опускаю на одну клетку вниз, то же и для vertikal. Ну с diag потруднее, но все равно на одну единицу опустить вниз в массиве можно. в массиве хранится код цвета кубика. Ну ладно, массив сделали. Но надо же еще и на экране стереть эту линию и опустить все вниз. Неужели обновлять весь экран по массиву??? можно вычислять координаты по индексу массива. Массив 20 х 20. Не будет ли прога тормозить, если сделать обновление по массиву?

А может есть способ как это проще сделать????

Ссылка на комментарий
Поделиться на другие сайты

Кроме как обновления, вроде бы в голову ничего не приходит. Тормозить не будет. Машина с 400 элементами должна без проблем справиться! Если это не <2 пня

Ссылка на комментарий
Поделиться на другие сайты

Бумер:

Но надо же еще и на экране стереть эту линию и опустить все вниз. Неужели обновлять весь экран по массиву??? ...

А может есть способ как это проще сделать????

Проще не будет, чем меньше будет мелькание, тем сложнее будет программа. Например, можно взять перед удалением строки в "стакане" остающуюся часть изображения в буфер процедурой GetImage и вывести ее снова ниже на одну строку "стакана" процедурой PutImage, но все равно координаты всех элементов для будущих проверок заполненности строк тебе пересчитывать придется.

Есть и другие способы, но они еще сложнее, они основываются на подготовке изображения в буфере, как об этом уже сказал Darhazer. При этом часто еще используют синхронизацию с разверткой монитора. Но на хорошем компьютере мелькание и так должно быть не сильно заметно. Если хочешь об этом знать больше, читай описания способов работы со спрайтами. Но не думаю, чтобы к небольшому мельканию у тебя стали придираться, как я понимаю, работу со спрайтами вы не проходили.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...