![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 132
|
![]()
Фигура появляется и смещается на один пиксел.На следующей итерации фигура снова оказывается наверху.Не понятно почему фигура не падает.Также почему-то,смещается вбок экран.Об этом в предыдущей теме.
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,733
|
![]()
так, на следующей итерации вы позицию фигуры должны менять и прорисовывать её заново.
а если экран смещается, то вы, выходит, ему новые координаты предаёте, а не фигуре...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 132
|
![]()
У меня фигура падала , до того как внес кое какие-то изменения,а экран все равно сдвигался.То есть это не связанные вещи.Опубликовал код,где может быть ошибка?
Код:
Последний раз редактировалось BDA; 17.11.2023 в 17:47. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 16.02.2013
Сообщений: 132
|
![]()
Фигуру я смещаю в основном цикле
Код:
Вот текст функции Move(); Код:
В этой функции вызываю функцию Calccoord(). Которая добавляет к координатам xx=x+i ; yy=y+j; Код:
Последний раз редактировалось BDA; 17.11.2023 в 18:41. |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,733
|
![]()
а убери-ка из игры фигуру и всё, что с ней связано (уничтожение-сжигание полной строки). пусть будет чистое поле. и какова будет реакция на клавиши A, S, D? если и тогда экран будет смещаться, копай дальше - смотри процедуру прорисовки поля.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
#6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,201
|
![]()
SetCursorPos меняет положение курсора мыши, а не курсора в консоли. TScreen.SetEnd "портит" последний символ экрана. Предлагаю такие замены:
Код:
UPD. Чуть причесанный вариант, в который можно поиграть: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 22.11.2023 в 05:19. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Game Over в Тетрисе. Delphi 7 | Divia | Общие вопросы Delphi | 2 | 06.12.2021 09:50 |
Алгоритм вращения фигуры в тетрисе | Joose | Помощь студентам | 11 | 14.07.2013 19:34 |
таблица рекордов в тетрисе! | Юлия11 | C++ Builder | 10 | 12.06.2013 10:34 |
GraphABC фигура | dosha | Помощь студентам | 6 | 11.03.2013 19:31 |
фигура-грани | lex1398 | Помощь студентам | 2 | 28.08.2010 09:54 |