while work=true do begin
clrscr;
if new then begin
k:=random(1)+1; {тип фигуры, пока только одна}
vvod(k);{вводим в массив}
end
else begin
change(k); {провека, можно ли двигать вниз, если нет - new:=true}
draw; {рисуем обновленный массив}
end;
ReadLn;{тут можно Delay поставить} end;
Помощь по Тетрису.
Значит задали написать Тетрис в графическом или текстовом режиме. Вот сижу потихоньку разбираюсь. Решил выбрать текстовый режим, думаю так будет легче. Вот что мне посоветовали. Цитата: "Для организации вывода "графики" без мерцания создаешь свой трехмерный массив 80x25x2 (кол-во символов по ширине, по высоте и 2 элемента под код символа и его цвет - так организован экран в DOS) который будет у тебя выступать невидимым буффером экрана в который ты будешь выводить всю "графику", потом этот буфер копируется одним вызовом memcpy (или как там в pascal) в адрес B800:0000."
У меня вопрос - что це таке memcpy (я так понял что сру - это от слова copy, а не русский эквивалент:):) ). Что за адрес - B800:0000? И что это делает?
грубо говоря, что ты туда запишеш то будет на экране.
Теперь такой вопрос. Вот что у меня получилось примерно такое :
Код:
Пока сверху вылетает только квадратик из разных позиций, вроде все нормуль. Теперь думаю что след шаг - обработка клавиш сдвига Влево и Вправо(ну пусть например А и D).
Вопрос - как и где добавить обработку клавиш?? Помогите плиз
Где-нибудь внутри цикла while можно поставить Readkey - он определяет, нажата ли клавиша, и если да, то какая, без остановки приложения.
Цитата: Rusd
Ставишь delay, вместо ReadLn (для чего он там вообще?).
Где-нибудь внутри цикла while можно поставить Readkey - он определяет, нажата ли клавиша, и если да, то какая, без остановки приложения.
Где-нибудь внутри цикла while можно поставить Readkey - он определяет, нажата ли клавиша, и если да, то какая, без остановки приложения.
Нет, ReadKey как раз-таки останавливает приложение и ждет пока не нажмут клавишу. Тут что то другое нужно
Если что, еще у вас поспрашиваю :)
Цитата: Rifler
А всё, разобрался
Если что, еще у вас поспрашиваю :)
Если что, еще у вас поспрашиваю :)
Welcome.
Но только прежде чем задать вопрос, помни, что существует не только форум, но и литература, хотя бы по тому же паскалю.