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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.12.2011, 23:07
Vitya05 Vitya05 вне форума
Прохожий
 
Регистрация: 26.12.2011
Сообщения: 2
Репутация: 10
По умолчанию Помогите...

Помогите пожалуйста.
Вот я написал так. Но так написанный код принимает как барьер 10 строку и 15 столбец "StringGridа" целиком...
Код:
For i := 1 to n do // Заполняем ячейки, согласно правилам игры
  For j := 1 to n do
  begin
  if j=15 then
  StringGrid1.Cells[j-1,i+30] := '/';
  if i=10 then
  StringGrid1.Cells[j+30,i-1] := '/';
  If (StrToInt( mass_2[i,j] ) >= 1)and (StrToInt( mass_2[i,j] ) <=3)
  and ((j<>15) and (i<>10)) then StringGrid1.Cells[j-1,i-1] := '*';
  If (StrToInt( mass_2[i,j] ) > 3 ) then StringGrid1.Cells[j-1,i-1] := ''
  end;
мне нужно чтобы '*' принимали как барьер ту часть столбца или строки где есть '/' а не всю строку или столбец. Как это сделать мне?
Ответить с цитированием
  #2  
Старый 27.12.2011, 00:30
Vitya05 Vitya05 вне форума
Прохожий
 
Регистрация: 26.12.2011
Сообщения: 2
Репутация: 10
По умолчанию Пояснение...

Поясняю код как работает, рассматривается клетка. если вокруг этой клетки есть от 1 до 3 занятых * клеток то в рассматриваемой клетке ставится *. если есть звездочка в рассматриваемой клетке и в окружении больше 3 занятых * клеток то звёздочка с рассматриваемой клетки уничтожается.
If (StrToInt( mass_2[i,j] ) >= 1)and (StrToInt( mass_2[i,j] ) <=3) then StringGrid1.Cells[j-1,i-1] := '*';
If (StrToInt( mass_2[i,j] ) > 3 ) then StringGrid1.Cells[j-1,i-1] := ''
задание моё. поставить барьеры. чтобы при размножении клетка не могла перейти за барьер или должна обойти его. Я поставил барьер в 10 строке и в 15 столбце. но барьер идет на весь столбец и строку. а мне это не нужно. мне нужно чтобы барьер был лишь там где я отметил чтоб были /
if j=15 then
StringGrid1.Cells[j-1,i+30] := '/';
if i=10 then
StringGrid1.Cells[j+30,i-1] := '/';
...
((j<>15) and (i<>10))
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter