Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В чем ошибка? [D7, XP]


Pipety ©   (2007-01-27 04:24:00) 

var
  ini:tinifile;
  i:integer;
  str:tstringlist;

...

if (image2.Top >= image3.Top-30) and (image2.Top <= (image3.Top+10)+image3.Height) then begin
  if (image2.left >= image3.left-30) and (image2.left <= (image3.left+10)+image3.width) then begin

     timer1.Enabled:=false;
     Randomize;

     ini:=tinifile.Create(extractfilepath(application.ExeName)+'вопросы.txt');
     str:=tstringlist.Create;
     ini.ReadSections(str);

     form2.label2.Caption:=ini.ReadString(str.Strings[vid],'good','');
     form2.richedit1.lines.Text:=str.Strings[vid];
     form2.Edit1.Text:='';

     if vid < str.Count-1 then begin
     // ничего не делаем
     end else begin

     stoped:=true;
     if label2.Caption = inttostr(str.Count-1) then begin
           form3.label2.Caption:='Вы выиграли!';
           form3.Image2.Picture.LoadFromFile(extractfilepath(application.ExeName)+'/images/good_p3.bmp');
     end else begin
           form3.label2.Caption:='Вы проиграли!';
           form3.Image2.Picture.LoadFromFile(extractfilepath(application.ExeName)+'/images/good_p4.bmp');
     end; // if label2.Caption = in

     form3.ShowModal;

     end; //  if vid < str.Count-1 th
str.Free;
ini.Free;

if  stoped = false then
begin

 form2.showmodal;
 image3.Top:=RandomRange(5,image1.Height-5);
 image3.Left:=RandomRange(5,image1.width-5);

end;   // if  stoped = false then

     timer1.Enabled:=true;
     vid:=vid+1;

  end; //  if (image2.left >= image3.left-30) and (imag
end;   // if (image2.Top >= image3.Top-30) and (image2.Top <= (im


В этом коде проверяетися, "попадает ли"  image2 в image3 и, если попадает, увеличивает счетчик vid на 1. Если vid  str.count-1 (количество вопросов) то показать форму с вопросов str.strings[vid] в противном случае, показать форму form3, но она показывается до того как vid будет равен 3 т.е. она показывается когда равен 3, а надо 4.


Loginov Dmitry   (2007-01-27 08:28:00) [1]

> В чем ошибка?


Очевидно, что в логике работы программы. Соответственно следует эту логику подправить.


Наверх

Титульная страница Поиск, карта сайта Написать письмо