|   |   | 
| 
 | Игра Жизнь | ☑ | ||
|---|---|---|---|---|
| 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) Почему? Очень даже любопыткая статейка.
 Вернее не сама игра, а вот эта http://infostart.ru/public/90367/ | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |