Бумер Опубликовано 23 марта, 2007 Жалоба Поделиться Опубликовано 23 марта, 2007 Ну как вы помните (наверное...) программирую я подобие тетриса. Ну почти все сделал, только одна загвоздка осталась: линия у меня стирается, если собралось по vерт. диаg. или goriзонтали 4 кубика одинакового цвета. Ну в массиве я делаю так: все что выше (для gorizontali) опускаю на одну клетку вниз, то же и для vertikal. Ну с diag потруднее, но все равно на одну единицу опустить вниз в массиве можно. в массиве хранится код цвета кубика. Ну ладно, массив сделали. Но надо же еще и на экране стереть эту линию и опустить все вниз. Неужели обновлять весь экран по массиву??? можно вычислять координаты по индексу массива. Массив 20 х 20. Не будет ли прога тормозить, если сделать обновление по массиву? А может есть способ как это проще сделать???? Ссылка на комментарий Поделиться на другие сайты Поделиться
neic Опубликовано 23 марта, 2007 Жалоба Поделиться Опубликовано 23 марта, 2007 Кроме как обновления, вроде бы в голову ничего не приходит. Тормозить не будет. Машина с 400 элементами должна без проблем справиться! Если это не <2 пня Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 23 марта, 2007 Жалоба Поделиться Опубликовано 23 марта, 2007 Бумер: Но надо же еще и на экране стереть эту линию и опустить все вниз. Неужели обновлять весь экран по массиву??? ... А может есть способ как это проще сделать???? Проще не будет, чем меньше будет мелькание, тем сложнее будет программа. Например, можно взять перед удалением строки в "стакане" остающуюся часть изображения в буфер процедурой GetImage и вывести ее снова ниже на одну строку "стакана" процедурой PutImage, но все равно координаты всех элементов для будущих проверок заполненности строк тебе пересчитывать придется. Есть и другие способы, но они еще сложнее, они основываются на подготовке изображения в буфере, как об этом уже сказал Darhazer. При этом часто еще используют синхронизацию с разверткой монитора. Но на хорошем компьютере мелькание и так должно быть не сильно заметно. Если хочешь об этом знать больше, читай описания способов работы со спрайтами. Но не думаю, чтобы к небольшому мельканию у тебя стали придираться, как я понимаю, работу со спрайтами вы не проходили. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти