Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Вниз

Ошибка в коде ???   Найти похожие ветки 

 
PURGEN   (2004-10-23 18:52) [0]


procedure TForm1.Button1Click(Sender: TObject);
var mas_figura  :array[1..4,1..4] of integer;
   mas_koord   :array[1..8] of integer;
   i,k,l       :integer;
   num,rnum    :integer;
   m,n         :integer;
begin
   randomized;
   mas_figura[1,1]:=1;
   for i:=1 to 3 do begin
       num:=0;
       for k:=1 to 4 do
           for l:=1 to 4 do
               if mas_figura[k,l] <> 0 then begin
                   if mas_figura[k+1,l]=0 then begin
                       num:=num+1;
                       mas_koord[((num*2)-1)]:=k+1;
                       mas_koord[(num*2)]:=l;
                   end;
                   if mas_figura[k,l+1]=0 then begin
                       num:=num+1;
                       mas_koord[((num*2)-1)]:=k;
                       mas_koord[(num*2)]:=l;
                   end;
               end;
       rnum:=random(num)+1;
       m:=mas_koord[((rnum*2)-1)];
       n:=mas_koord[(rnum*2)];
       mas_figura[m,n]:=1;
   end;
end.


Программка составляет фигурки для тетриса... В процессе процедуры должен получиться массив 4х4 MAS_FIGURA, в котором ЕДИНИЦА - это заштрихованная область фигурки... Проблема в том, что вконце процедуры в этом массиве появляются какието другие цифры нежели 1 и 0...типа 238594, 47 и т.д. Тупой вопрос - ПОЧЕМУ???


 
TUser ©   (2004-10-23 18:59) [1]

Может я чегно-то проглядел, но значения присваиваются, вроде, только в этих строчках
mas_figura[1,1]:=1;
mas_figura[m,n]:=1; // 3 раза
Т.е. всего ты заполняешь 4 клетки, а не 16.


 
PURGEN   (2004-10-23 19:05) [2]

Все правильно...Фигурки состоят из 4 кубиков, т.е. в массиве должно быть заполнено 4 клетки, а другие НОЛЬ, или ты хочешь сказать те клетки, которые НОЛИК должны быть тоже присвоены...типа mas_figura[j,i]:=0???


 
begin...end ©   (2004-10-23 19:08) [3]


> [2] PURGEN   (23.10.04 19:05)

> те клетки, которые НОЛИК должны быть тоже присвоены

Разумеется.


 
TUser ©   (2004-10-23 19:10) [4]

А вы запустите
procedure TForm1.FormCreate
var a:array [0..2] of integer;
begin
  for i:=0 to 2 do
  (FindComponewnt("label"+inttoastr(I)) as TLabel).Caption:=inttostr(a[i]);
end;

Delphi не инициализирует статические массивы


 
PURGEN   (2004-10-23 19:11) [5]

Чичас попробую...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.048 c
3-1097271774
Sid
2004-10-09 01:42
2004.11.07
IBase не находит файл *.gdb на сетевом диске


14-1098276307
Alek
2004-10-20 16:45
2004.11.07
Про написание сервисов!


14-1098349706
Викусик
2004-10-21 13:08
2004.11.07
О выборе студентки поездку в колхоз...


3-1097072048
Akoli
2004-10-06 18:14
2004.11.07
Создаю DBF как задать размер поля Integer?


14-1098432749
Igorek
2004-10-22 12:12
2004.11.07
Типовая КИС





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский