program Life implicit none integer ::I=1 ,J=1, K ,b real :: X integer, allocatable :: M(:,:) , MK(:,:) ,T(:,:) ! integer, dimension(6,6) :: M(:,:) ! start program Life write (*,"(/////////////////////////)") ! Clear the screen write (*, *) " Welcome to Game of Life " write (*, *) " This program is written by Sadi Evren SEKER" write (*, *) " Please enter the size of array " read (*, *) b allocate(M(b,b)) allocate(MK(b,b)) allocate(T(b,b)) !100 FORMAT (6(I1)/6(I1)/6(I1)/6(I1)/6(I1)/6(I1)) 100 FORMAT ("0",10(I1)) !100 FORMAT("0",6(I1)/,"0",6(I1)/,"0",6(I1)/,"0",6(I1)/,"0",6(I1)/,"0",6(I1)) do I=1,b do J=1,b call Random_Number(Harvest=X) if( X > 0.5 ) K=1 if( X <= 0.5 ) K=0 M(I,J)=K end do end do write (*,*) "current state of array is" ! MK(1:b-1,1:b)= T(1:b,1)=M(1:b,1) T(1:b,b)=M(1:b,b) T(1,1:b)=M(1,1:b) T(b,1:b)=M(b,1:b) MK(1:b,1)=M(1:b,1) MK(1:b,b)=M(1:b,b) MK(1,1:b)=M(1,1:b) MK(b,1:b)=M(b,1:b) do I=1,10 T(2:b-1,2:b-1)=M(1:b-2,3:b)+M(3:b,1:b-2)+M(2:b-1,2:b-1)+M(3:b,3:b)+ M(1:b-2,1:b-2) T(2:b-1,2:b-1)=M(2:b-1,1:b-2)+M(1:b-2,2:b-1)+M(3:b,2:b-1)+M(2:b-1,3:b)+T(2:b-1,2:b-1) ! write (*,FMT=100) M ! PRINT '(I5)' , K ! write (*,*) "---" ! write (*,fmt=100) T where (T>4) MK=1 elsewhere MK=0 end where MK(1:b,1)=M(1:b,1) MK(1:b,b)=M(1:b,b) MK(1,1:b)=M(1,1:b) MK(b,1:b)=M(b,1:b) ! write(*,*) "---" do K=1,b write (*,fmt=100) MK (K,:) end do write(*,*) "------------------ ayirac ----------------------" M=MK end do ! do I=1,b ! where(>5) ! ! where(M(I,1:b)>0) ! M(I,:)=1 ! elsewhere ! M(I,:)=0 ! end where ! end do ! write(*,*) M stop " OK. " end program Life