Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2007, 22:20   #1
sid
Пользователь
 
Регистрация: 15.12.2006
Сообщений: 17
По умолчанию массив и тетрис

Подскажите пожалуйста, как делают фигурки для тетриса из 2-х мерного массива? Лучше дайте рабочий пример. Допустим, вывести фигурку из " [] " вертикальную палку.vertical_palca array[1..4, 1..4] of byte..........((0,0,1,0), (0,0,1,0), (0,0,1,0), (0,0,1,0));.................Write( [] );end.Как сделать, чтобы знак " [] " выводился там, где стоят единички? У меня получается только [][][][]
sid вне форума Ответить с цитированием
Старый 03.04.2007, 00:02   #2
Э/\bФ_}{P
Пользователь
 
Регистрация: 02.04.2007
Сообщений: 14
По умолчанию

Цитата:
Сообщение от sid Посмотреть сообщение
Подскажите пожалуйста, как делают фигурки для тетриса из 2-х мерного массива? Лучше дайте рабочий пример. Допустим, вывести фигурку из " [] " вертикальную палку.vertical_palca array[1..4, 1..4] of byte..........((0,0,1,0), (0,0,1,0), (0,0,1,0), (0,0,1,0));.................Write( [] );end.Как сделать, чтобы знак " [] " выводился там, где стоят единички? У меня получается только [][][][]
Что за бред? Используй графику. Начинай делать нормальный тетрис.
Сначала нужно представить в виде массива "стакан", куда фигуры будут падать. Затем несколько видов фигур, объявленных типа того
f5:array[1..3,1..3]of byte=
((0,1,0),
(0,1,0),
(0,1,0));
Пусть будет еще объявлен массив, отвечающий за текущую фигуру. Фигуры падают в случайном порядке..
Затем парочку функций нужно создать, отвечающих за границы стакана и проверяющие его на заполнение..
Процедура прорисовки будет что-то вроде
procedure draw_figure(color:integer);
var
i,k:Byte;
Begin
SetFillstyle(color,blue);
For i:=1 to 3 do
Begin
For k:=1 to 3 do
if Curent[k,i]=1 then
Bar((coordx+k)*size,(coordy+i)*size ,(coordx+k+1)*size,(coordy+i+1)*siz e);
end;
end;
Как прорисуешь первую фигуру, начало положено, дальше уже дело техники... успехов...
Э/\bФ_}{P вне форума Ответить с цитированием
Старый 04.04.2007, 14:41   #3
Booblik
Новичок
Джуниор
 
Регистрация: 04.04.2007
Сообщений: 2
Сообщение

Я когда то писал Тетрис на Паскале (правда чуть не дописал в смысле не сделал чтоб очки считались не было времени)
Лучше всего представлять фигурки в виде объектов
Как там было не помню
что то типа
Kvadrat=object
Color:
Rotate(т.е поворот фигурки при нажатии клавиш)
....
end;
L_object=object
.....
end;
T_object=object
....
end
Booblik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать тетрис! sid Gamedev - cоздание игр: Unity, OpenGL, DirectX 21 06.05.2013 20:32
Массив что ли... Черничный Общие вопросы Delphi 4 11.06.2008 08:19
Массив Айвенго PHP 2 22.02.2008 16:34
Массив.С++ bloo[d] Помощь студентам 1 13.01.2008 14:55
Старый добрый тетрис Format C: Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 05.07.2007 16:02