|  | Игра Жизнь | ☑ | 
    
        | 0
    
        mandarinka   30.03.15✎ 19:29 | 
        Добрый вечер! Необходимо реализовать алгоритм похожий на клеточный автомат Жизнь. Есть клеточное поле в произвольной клетке появляется микроорганизм (1), каждый день микроорганизм делится на 2, если у микроорганизма 8 смежных соседей то он погибает (0). Делаю двумерный массив, random заполняет произвольную клетку. Вопрос как запомнить в какой клетке есть уже организм т.к размер поля заранее не известен?     |  | 
    
        | 1
    
        Злопчинский   30.03.15✎ 19:35 | 
        начальная точка в которой стартует игра - есть начало отсчета. далее - смещением по ху от точки отсчета     |  | 
    
        | 2
    
        mandarinka   30.03.15✎ 19:39 | 
        это я понимаю но с каждым днем размножается не только начальная клетка но и те клетки которые уже появились т.е их адреса надо где-то хранить чтобы проверять вокруг них пусто или нет и опять их размножать     |  | 
    
        | 3
    
        Котокот   30.03.15✎ 19:39 | 
        После (1) тему можно закрывать.     |  | 
    
        | 4
    
        mandarinka   30.03.15✎ 19:42 | 
        repeat
if ((i-1)<>0) and ((j-1)<>0) then c:= a[i-1,j-1]+a[i-1,j]+a[i-1,j+1]+a[i+1,j-1]+a[i+1,j]+a[i+1,j+1]+a[i,j+1]+a[i,j-1];
 If (a[i, j] = 1) And (c =8) Then a[i, j]:= 0;
 if a[k1, k2] = 1 then
 begin
 rep: K1 := Random(k1+1)+k1-1;
 K2 := Random(k2+1) + k2-1;
 if A[k1, k2]=0 then
 A[k1, k2] := 1
 else goto rep;
 end;
 i:=i+1; j:=j+1; c:=0;
 until (i=int(d)) and (j=int(d));
 for i:=1 to k+1 do
 begin
 for j:=1 to k+1 do
 st.Cells[i,j]:= inttostr(a[i,j]);
 end;
 |  | 
    
        | 5
    
        mandarinka   30.03.15✎ 19:42 | 
        пыталась заполнить случайным образом проверяя  наличие пустых клеток, но не работает     |  | 
    
        | 6
    
        Lama12   30.03.15✎ 20:03 | 
        (0) Есть старая старая книжка - 128 советов начинающему программисту. Там эта игра на бейсике написана.     |  | 
    
        | 7
    
        mandarinka   30.03.15✎ 20:08 | 
        попробую поискать. спасибо за совет     |  | 
    
        | 8
    
        Dorzh   30.03.15✎ 20:19 | 
             |  | 
    
        | 9
    
        mandarinka   30.03.15✎ 20:24 | 
        спасибо     |  | 
    
        | 10
    
        Asmody   30.03.15✎ 20:25 | 
        (8) Изверг! Нельзя такие вещи на неокрепший мозг выдавливать!     |  | 
    
        | 11
    
        ЧеловекДуши   02.04.15✎ 15:59 | 
        (10) Почему? Очень даже любопыткая статейка.
Вернее не сама игра, а вот эта
 |  | 
        Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой