diff --git a/uml/A00celltype.plantuml b/uml/A00celltype.plantuml
deleted file mode 100644
index eb93db5c9ee7df43c9033b52d77132bca2a0bb62..0000000000000000000000000000000000000000
--- a/uml/A00celltype.plantuml
+++ /dev/null
@@ -1,5 +0,0 @@
-@startuml
-start
-:定义一个deadcell⬜ ,定义一个livecell⬛;
-stop
-@enduml
diff --git a/uml/A00cellxy.plantuml b/uml/A00cellxy.plantuml
deleted file mode 100644
index 36092179dcb4f8751f0111d3ca70007e5f262f31..0000000000000000000000000000000000000000
--- a/uml/A00cellxy.plantuml
+++ /dev/null
@@ -1,12 +0,0 @@
-@startuml
-start
-split
-  :定义场景边界长度x,宽度y;
-split again
-  :定义初始存活细胞坐标位置;
-split again
-  :定义细胞更新的延时时间;
-end split
-stop
-@enduml
-
diff --git a/uml/A01_main.plantuml b/uml/A01_main.plantuml
new file mode 100644
index 0000000000000000000000000000000000000000..a5240aa60c6b60fe3ffb59092aa4f7772a22ec0d
--- /dev/null
+++ b/uml/A01_main.plantuml
@@ -0,0 +1,22 @@
+@startuml 康威生命游戏主循环体
+start
+:导入createapply,initapply,print,nextcell,cellxy;
+:创建allcellls二维数组;
+note right:allcells是每次每个细胞的状态数组
+:定义i;
+note right:用于记录刷新次数
+:allcellls接收createapply()函数返回的值;
+note right:createapply()是初始化康威生命游戏的所有细胞
+:init(allcellls);
+note right:init()是给康威生命游戏初始化
+repeat:
+  :console.clear();
+  note right:清除控制台显示
+  :print(allcellls);
+  note right:在控制台打印每个细胞的状态
+  :nextcell(allcellls);
+  note right:演变下一个状态
+  :打印i+=1,为当前刷新次数;
+repeat while(每time循环)
+stop
+@enduml
diff --git a/uml/A01initapply_01.plantuml b/uml/A01initapply_01.plantuml
deleted file mode 100644
index 8fc27bec36ec08b5e6fe7e74b55edde8b492f9d8..0000000000000000000000000000000000000000
--- a/uml/A01initapply_01.plantuml
+++ /dev/null
@@ -1,11 +0,0 @@
-@startuml
-start
-:接受初始化目标坐标二维数组;
-:创建一个二维数组allcells:Array<Array<string>>;
-:ä¼ å…¥createapply(allcells);
-note right:渲染整个康威生命游戏的细胞
-:遍历目标坐标二维数组,allcells[i][j]=livecell;
-note right:初始化活细胞,把目标的死细胞替换成活细胞;
-:调用change();
-stop
-@enduml
diff --git a/uml/A01createapply_00.plantuml b/uml/A02_createapply.plantuml
similarity index 52%
rename from uml/A01createapply_00.plantuml
rename to uml/A02_createapply.plantuml
index 646a67f7a8a2b06e9646312781a83c0cc7b22dec..3c969366b6c7e9f41465cb65334178440be21b62 100644
--- a/uml/A01createapply_00.plantuml
+++ b/uml/A02_createapply.plantuml
@@ -1,7 +1,8 @@
-@startuml
+@startuml 初始化所有细胞为死细胞
 start
-:传入康威生命游戏的二维数组;
+:创建一个allcells二维数组;
 :循环给每个数组空间初始化;
 :给每个数组空间传入deadcell(死细胞);
+:return allcells;
 stop
 @enduml
diff --git a/uml/A02_initapply.plantuml b/uml/A02_initapply.plantuml
new file mode 100644
index 0000000000000000000000000000000000000000..cf790dc8a8f32b5a3f73d214308108c00c2c8f44
--- /dev/null
+++ b/uml/A02_initapply.plantuml
@@ -0,0 +1,11 @@
+@startuml 初始演变坐标
+start
+:接受allcells二维数组;
+:定义celllen获取初始演变坐标个数;
+while(i < celllen)
+  :copyallcells[xy.cellinit[i][0]][xy.cellinit[i][1]] = ct.livecell;
+  note right:初始演变坐标的细胞改为活细胞
+  :i+=1;
+endwhile
+stop
+@enduml
diff --git a/uml/A02_nextcell.plantuml b/uml/A02_nextcell.plantuml
new file mode 100644
index 0000000000000000000000000000000000000000..152e216c5450c0f637c8bdc2d846ac18da6c0674
--- /dev/null
+++ b/uml/A02_nextcell.plantuml
@@ -0,0 +1,15 @@
+@startuml 下一步演变
+start
+:定义一个cellnum;
+:接收二维数组allcells;
+:定义一个getallcells二维数组;
+:arraytovalue(xy.x, xy.y, allcells, getallcells);
+note right:把allcells值传给getallcells
+repeat :遍历每个细胞;
+   :cellnum=countcell(i,j,getallcells);
+   :rule(i,j,cellnum,getallcells[i][j],allcells)
+backward:获取下一个getallcells坐标;
+repeat while (下一步转变) is (yes) not (no)
+note right:遍历每个细胞
+stop
+@enduml
diff --git a/uml/A01print_01.plantuml b/uml/A02_print.plantuml
similarity index 66%
rename from uml/A01print_01.plantuml
rename to uml/A02_print.plantuml
index 9c2190fc4b176f321082dbff30c8bff7ea2723ce..60d245ddcf214881840dfc996bc273c11cf391d8 100644
--- a/uml/A01print_01.plantuml
+++ b/uml/A02_print.plantuml
@@ -1,8 +1,8 @@
-@startuml
+@startuml 输出每个细胞状态
 start
 :接收二维数组allcells;
 :定义空字符串cell;
-while(allcells 是否全部遍历) is (no)
+while(allcells 是否全部便利) is (no)
   :cell拼接每个数组(allcells[i][j]);
 endwhile (yes)
 :输出字符串cell;
diff --git a/uml/A02countcell.plantuml b/uml/A02countcell.plantuml
deleted file mode 100644
index ef229b9e6b89251a60cc692f66f91af37132c9a0..0000000000000000000000000000000000000000
--- a/uml/A02countcell.plantuml
+++ /dev/null
@@ -1,52 +0,0 @@
-@startuml
-start
-:导入cellxy.ts
-:接收i,j,getallcells数组;
-:定义cellnum;
-note right:用于记录细胞周围活细胞数量
-if(i-1>=0) then (yes)
-  if(j-1>=0) then (yes)
-    if(getallcells[i-1][j-1] 是否活细胞) then (yes)
-      :cellnum++;
-    endif
-    note right:计算细胞左上
-    if(getallcells[i-1][j] 是否活细胞) then (yes)
-      :cellnum++;
-    endif
-    note right:计算细胞正上
-    if(getallcells[i][j-1] 是否活细胞) then (yes)
-      :cellnum++;
-    endif
-    note right:计算细胞正左
-  elseif (j+1 <xy.y)
-    if(getallcells[i-1][j+1] 是活细胞) then (yes)
-      :cellnum++;
-    endif
-    note right:计算细胞左下
-    if(getallcells[i][j+1] 是活细胞) then (yes)
-      :cellnum++;
-    endif
-    note right:计算细胞正下
-  endif
-
-elseif(i+1<xy.x) then (yes)
-  if(j-1>=0) then (yes)
-    if(getallcells[i+1][j-1] 是否活细胞) then (yes)
-      :cellnum++;
-    endif
-    note right:计算细胞右上
-    if(getallcells[i+1][j] 是否活细胞) then (yes)
-      :cellnum++;
-    endif
-    note right:计算细胞正右
-  elseif (j+1 <xy.y)
-    if(getallcells[i+1][j+1] 是活细胞) then (yes)
-      :cellnum++;
-    endif
-    note right:计算细胞右下
-  endif
-endif
-:return cellnum;
-note right:返回活细胞数量
-stop
-@enduml
diff --git a/uml/A03_arraytovalue.plantuml b/uml/A03_arraytovalue.plantuml
new file mode 100644
index 0000000000000000000000000000000000000000..b66e551a0873f8836e450a0e5c992faeb4f7ea83
--- /dev/null
+++ b/uml/A03_arraytovalue.plantuml
@@ -0,0 +1,13 @@
+@startuml 二维数组值传递
+start
+:接收x,y,arry,getarray;
+:i=0;
+while(i<x)
+  :copygetarray[i] = [];
+  :i+=1;
+endwhile
+repeat :遍历每个二维数组元素
+  :copygetarray[i][j] = array[i][j];
+repeat while(i+=1,j+=1)
+stop
+@enduml
diff --git a/uml/A03_countcell.plantuml b/uml/A03_countcell.plantuml
new file mode 100644
index 0000000000000000000000000000000000000000..a0cea9721074cda8b8176b12f3ae90d7b432a198
--- /dev/null
+++ b/uml/A03_countcell.plantuml
@@ -0,0 +1,50 @@
+@startuml 计算细胞周围活细胞数量
+start
+:导入cellxy.ts
+:接收i,j,getallcells数组;
+:定义cellnum;
+note right:用于记录细胞周围活细胞数量
+if(i - 1 >= 0 && j - 1 >= 0)
+  if(getallcells[i - 1][j - 1] === ct.livecell)
+   :cellnum+=1;
+  endif
+endif
+if(i - 1 >= 0)
+ if(getallcells[i - 1][j] === ct.livecell)
+  :cellnum+=1;
+ endif
+endif
+if(i - 1 >= 0 && j + 1 < xy.y)
+ if(getallcells[i - 1][j + 1] === ct.livecell)
+  :cellnum+=1;
+ endif
+endif
+if(j - 1 >= 0)
+  if(getallcells[i][j - 1] === ct.livecell)
+   :cellnum+=1;
+  endif
+endif
+if(j + 1 < xy.y)
+  if(getallcells[i][j + 1] === ct.livecell)
+   :cellnum+=1;
+  endif
+endif
+if(i + 1 < xy.x && j - 1 < xy.y)
+ if(getallcells[i + 1][j - 1] === ct.livecell)
+  :cellnum+=1;
+ endif
+endif
+if(i + 1 < xy.x)
+  if(getallcells[i + 1][j] === ct.livecell)
+   :cellnum+=1;
+  endif
+endif
+if(i + 1 < xy.x && j + 1 < xy.y)
+ if(getallcells[i + 1][j + 1] === ct.livecell)
+    :cellnum;
+  endif
+endif
+:return cellnum;
+note right:返回活细胞数量
+stop
+@enduml
diff --git a/uml/A02rule.plantuml b/uml/A03_rule.plantuml
similarity index 94%
rename from uml/A02rule.plantuml
rename to uml/A03_rule.plantuml
index a6039bb9b4d4b9f487c45bfa2fc2bf6fb3e24195..42cbc4bd26456491e9303d2b60cf7be506330726 100644
--- a/uml/A02rule.plantuml
+++ b/uml/A03_rule.plantuml
@@ -1,6 +1,5 @@
-@startuml
+@startuml 康威生命游戏规则,改变细胞状态
 start
-:import * as ct from './celltype';
 :接收allcells,getallcellstostr,cellnum,i,j;
 if(getallcellstostr.equals("deadcell")) then (yes)
   if(cellnum == 3) then (yes)
diff --git a/uml/A03nextcell_02.plantuml b/uml/A03nextcell_02.plantuml
deleted file mode 100644
index f5813b5cb045a2e3a74626cdcf5a15b80f31b5f6..0000000000000000000000000000000000000000
--- a/uml/A03nextcell_02.plantuml
+++ /dev/null
@@ -1,21 +0,0 @@
-@startuml
-start
-: import * as xy from './cellxy'  
- import { countcell } from './countcell'  
- import { rule } from './rule';
-:接收二维数组allcells;
-:定义一个getallcells二维数组  
-定义一个cellnum;  
-
-:allcells赋值给getallcells;
-note right:为了改变当前细胞状态,但下一步不影响当前细胞的读取
-repeat :遍历每个细胞;
-   :cellnum=countcell(i,j,getallcells);
-   :rule(i,j,cellnum,getallcells[i][j],allcells);
-backward:获取下一个getallcells坐标;
-repeat while (下一步转变) is (yes) not (no)
-note right:遍历每个细胞
-:print(allcells);
-note right:打印变化后的生命图
-stop
-@enduml
diff --git a/uml/Amain.plantuml b/uml/Amain.plantuml
deleted file mode 100644
index 5f84c7113b01b0f5eb242c45960d2d9126b5cbcb..0000000000000000000000000000000000000000
--- a/uml/Amain.plantuml
+++ /dev/null
@@ -1,19 +0,0 @@
-@startuml
-'   allcells = createapply();
-'   init(allcells);
-'   let i = 0;
-'   setInterval(() => {
-'     console.clear();
-'     print(allcells);
-'     nextcell(allcells);
-'     console.log('已运行时间:'+(i += 1));
-'   }, time);
-start
-:创建20*20的场景空间,全部渲染为死细胞;
-:定义初始存活细胞的坐标;
-repeat
-:渲染存活细胞;
-:更新细胞的下一步状态;
-repeat while (每隔一秒更新)
-stop
-@enduml
diff --git a/uml/celltype.plantuml b/uml/celltype.plantuml
new file mode 100644
index 0000000000000000000000000000000000000000..22c732f4eb15900ee7087f426c60892632239503
--- /dev/null
+++ b/uml/celltype.plantuml
@@ -0,0 +1,6 @@
+@startuml 细胞状态的参数
+start
+:定义livecell为活细胞,livecell = '⬛';
+:定义livecell为死细胞,deadcell = '⬜';
+stop
+@enduml
diff --git a/uml/cellxy.plantuml b/uml/cellxy.plantuml
new file mode 100644
index 0000000000000000000000000000000000000000..c90568c24df740085c6b62fcb379345f760af565
--- /dev/null
+++ b/uml/cellxy.plantuml
@@ -0,0 +1,7 @@
+@startuml 坐标参数,初始细胞坐标,范围坐标,刷新时间
+start
+:定义cellinit为输入初始参数
+:定义x,y为生命范围
+:定义time为刷新时间
+stop
+@enduml