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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2008, 16:17   #11
Luden
Пользователь
 
Регистрация: 28.05.2008
Сообщений: 10
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
var mh : String;
begin
  {HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics, MenuHeight}
  ModifyMenu(MainMenu1.Handle, 1, mf_ByPosition or mf_Popup
  or mf_Help, Handle, 'справка');
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CURRENT_USER;
  reg.OpenKey('\Control Panel\Desktop\WindowMetrics', True);
  mh := reg.ReadString('MenuHeight');
  reg.CloseKey;
  reg.Free;
  Image1.Top := 2;
  Image1.Left := 2;
  Image1.Width := stkw * sqrs;
  Image1.Height := stkh * sqrs;
  Panel1.Top := 5;
  Panel1.Left := 5;
  Panel1.Width := Image1.Width + 4;
  Panel1.Height := Image1.Height + 4;
  Image2.Top := 2;
  Image2.Left := 2;
  Image2.Width := sqrs * 4;
  Image2.Height := Image2.Width;
  Panel2.Top := 5;
  Panel2.Left := Panel1.Left + Panel1.Width + 10;
  Panel2.Width := Image2.Width + 4;
  Panel2.Height := Panel2.Width;
  Label1.Top := Panel2.Top + Panel2.Height + 10;
  Label2.Top := Label1.Top + Label1.Height + 10;
  Label3.Top := Label2.Top + Label2.Height + 10;
  Label1.Left := Panel2.Left;
  Label2.Left := Panel2.Left;
  Label3.Left := Panel2.Left;
  Form1.Height := Panel1.Height + Panel1.Top - (StrToInt(mh) div 15) + 30;
  Form1.Width := Panel2.Left + Panel2.Width + 15;
  Image1.Parent.DoubleBuffered := True;
  newgame;
end;

procedure TForm1.mnuExitClick(Sender: TObject);
begin
  Close;
end;

end.
по названиям процедур я догадалась зачем они, мне нада знать как это работает....

помогите, пожалуйста...очень надо....

скажите, зачем нужен этот огромный массив и как допустим работает процедура showfigure....

Последний раз редактировалось Stilet; 29.05.2008 в 07:55.
Luden вне форума Ответить с цитированием
Старый 28.05.2008, 22:35   #12
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Расположите большой массив по другому.
Посмотрите на 1-цы. Ничего не напоминает ?
Это варианты поворотов одной фигурки.
Код:
 (((1,1,0,0),   **
   (0,1,1,0),     **
   (0,0,0,0),
   (0,0,0,0)),
  ((0,1,0,0),      *
   (1,1,0,0),     **
   (1,0,0,0),     *
   (0,0,0,0)),
  ((1,1,0,0),
   (0,1,1,0),
   (0,0,0,0),
   (0,0,0,0)),
  ((0,1,0,0),
   (1,1,0,0),
   (1,0,0,0),
   (0,0,0,0))
 ),
TTetr - это матрица 4x4 рисунок одной фигурки.

showfigure по этому изображению рисует фигурку на канве.
alexBlack вне форума Ответить с цитированием
Старый 28.05.2008, 22:53   #13
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Знаю я этот исходник, есть он у меня. Работает, это курсовая чья-то. Кстати хороший тетрис.
Начинай с процедуры FormCreate и прослеживай дальнейшие вызовы. Только так ты поймешь работу программы, если поймешь конечно, сложная она для совсем новичков. Можешь F7 нажать и дальше ее же нажимать, вместо F9, Дельфи сама тебя проведет.
Там есть немного "лишнего" не касающегося игры, реестр, меню динамическое.

Когда встречаешь непонятную переменную или функцию, ставь в нее курсор и жми правую мышку - Find Declaration. Перейдешь к ее объявлению.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 28.05.2008 в 22:57.
mutabor вне форума Ответить с цитированием
Старый 28.05.2008, 23:02   #14
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Знаю я этот исходник, есть он у меня. Работает, это курсовая чья-то. Кстати хороший тетрис.
Начинай с процедуры FormCreate и прослеживай дальнейшие вызовы. Только так ты поймешь работу программы, если поймешь конечно, сложная она для совсем новичков. Можешь F7 нажать и дальше ее же нажимать, вместо F9, Дельфи сама тебя проведет.
Там есть немного "лишнего" не касающегося игры, реестр, меню динамическое.

Когда встречаешь непонятную переменную или функцию, ставь в нее курсор и жми правую мышку - Find Declaration. Перейдешь к ее объявлению.
А можно полный исходник "хорошего тетриса" в рар архиве ?
Посижу посмотрю что там.......
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 28.05.2008, 23:19   #15
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Можно, вот он
Вложения
Тип файла: rar tetris2002.rar (15.1 Кб, 26 просмотров)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 28.05.2008, 23:28   #16
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Спасибо ) Действительно хорошая штука....
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 29.05.2008, 07:48   #17
Luden
Пользователь
 
Регистрация: 28.05.2008
Сообщений: 10
По умолчанию

спасибо большое что ответили...
вот вы говорили расположить массив по-другому...
возьмем первую строку этого ужасного массива...я в ней не вижу тех стандартных фигур для тетриса, так почему же там о и 1 именно так расположены...
(((1,1,0,0),(0,1,1,0),(0,0,0,0),(0, 0,0,0)),
((0,1,0,0),(1,1,0,0),(1,0,0,0),(0,0 ,0,0)),
((1,1,0,0),(0,1,1,0),(0,0,0,0),(0,0 ,0,0)),
((0,1,0,0),(1,1,0,0),(1,0,0,0),(0,0 ,0,0))),
Luden вне форума Ответить с цитированием
Старый 29.05.2008, 07:59   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Уже ж обьяснили
(((1,1,0,0), **
(0,1,1,0), **
(0,0,0,0),
(0,0,0,0)),
Вот прикинь что у тебя есть клеточки типа как в крестиках - ноликах
Эта матрица говорит о их заполнении 1 - клеточка закрашена 0- не закрашена.
из этого что вырисовывается? Правильно тетрисовский уголок-звездочка
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2008, 09:52   #19
Luden
Пользователь
 
Регистрация: 28.05.2008
Сообщений: 10
По умолчанию

я понимаю это, я имею ввиду вот если взять первый маленький массив TTetr, что ЭТО за фигура????
(((1,1,0,0)
((0,1,0,0)
((1,1,0,0)
((0,1,0,0)
Luden вне форума Ответить с цитированием
Старый 29.05.2008, 11:11   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это:

ВВ
В
ВВ
В
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите разобраться Tanuska___:) БД в Delphi 1 04.09.2008 14:56
Помогите разобраться! Holodok Помощь студентам 12 02.05.2008 18:13
Помогите разобраться(с таблицами). Delphi. Vindigo Помощь студентам 7 29.12.2007 08:55
помогите разобраться с Rss Hallo HTML и CSS 0 24.11.2006 18:44