n.t <- 6
k <- 3
n.init <- rep(1,k)
Loc.hx <- list()
Stat.hx <- list()
S<-list()
L<-list()
S[[1]]<-list()
L[[1]]<-list()
for(i in 1:k){
S[[1]][[i]]<-rep(1,5)
L[[1]][[i]]<-matrix(0,5,2)
}
for(t in 2:n.t){
S[[t]]<-list()
L[[t]]<-list()
for(i in 1:k){
f<-which(S[[t-1]][[i]]==1)
S[[t]][[i]]<-c(S[[t-1]][[i]],rep(1,length(f)))
dL<-L[[t-1]][[i]][f,]
L[[t]][[i]]<-rbind(L[[t-1]][[i]],dL)
}
for(i in 1:k){
N<-length(S[[t]][[i]])
a<-rnorm(N)
b<-rnorm(N)
dzahyo<-cbind(a,b)
L[[t]][[i]]<-L[[t]][[i]]+dzahyo
}
for(i in 1:(k-1)){
for(j in (i+1):k){
Dist<-matrix(0,length(S[[t]][[i]]),length(S[[t]][[j]]))
for(p in 1:length(S[[t]][[i]])){
for(q in 1:length(S[[t]][[j]])){
a<-L[[t]][[i]][p,]
b<-L[[t]][[j]][q,]
d<-sqrt(sum((a-b)^2))
lim<-0.5
if(d<lim){d<-1
}else{d<-0
}
Dist[p,q]<-d
}}
s.ci<-which(apply(Dist,1,sum)>0)
s.cj<-which(apply(Dist,2,sum)>0)
S[[t]][[i]][s.ci]<-S[[t]][[i]][s.ci]-1
S[[t]][[j]][s.cj]<-S[[t]][[j]][s.cj]-1
}}
for(i in 1:k){
alive<-which(S[[t]][[i]]==1)
S[[t]][[i]]<-S[[t]][[i]][alive]
L[[t]][[i]]<-L[[t]][[i]][alive,]
}
Stat.hx<- c(Stat.hx, list(S))
Loc.hx <- c(Loc.hx, list(L))
}
oopt = ani.options(nmax = 20, ani.width = 600, ani.height = 500,
interval = 0.2,outdir="./")
install.packages("animation")
library(animation)
ani.start()
for(i in 1:length(S)){
for(j in 1:length(S[[i]])){
if(j > 1){
points(L[[i]][[j]],col=j,pch=pch.type[j])
}else{
plot(L[[i]][[j]],col=j,pch=20,xlim=xlim,ylim=
ylim)
}
}
}
ani.stop()
ani.options(oopt)