1 : function UserPunish( U s e r u s e r , R u l e r u l e )
2 : Let p i = r u l e . p u n i s h m e n t ;
3 : if ( u s e r . a c c o u n t ≤ p i . m and u s e r . c r e d i t ≤ p i . c )
4 : u s e r . D C = n u l l ;
5 : push u s e r into CRL;
6 : else
7 : u s e r . a c c o u n t = u s e r . a c c o u n t - p i . m ;
8 : u s e r . c r e d i t = u s e r . c r e d i t - p i . c ;
9 : end if
10: End function