Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #6  
Старый 18.04.2014, 12:08
draginimp draginimp вне форума
Прохожий
 
Регистрация: 02.04.2014
Сообщения: 37
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var x,y, xi,yi,i,p :integer;
    c: boolean;
begin
i:=0;
repeat
c:=false;
P:=10;  // Размер грида
x:=random(p-1);
Y:=random(p-1);
for xi:=-1 to  1 do
for yi:=-1 to  1 do
if (x+xi>=0) and (y+yi>=0)and (x+xi<p) and (y+yi<p) then
if stringgrid1.Cells[x+xi,y+yi]<>''   then c:=true;   //проверяем пустое поле
if c = false then  stringgrid1.Cells[x,y]:='1';// если пустое вписываем 1
if c = false then  inc(i);// считаю кол-во заполненных 
until (I=10);
end;
Еще неплохо бы написать проверку свободных мест, то есть если свободные места заканчиваются выдавать мессадж. А то программа войдет в бесконечный цикл.
Надеюсь помог.
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025