Диссертация (1137096), страница 45
Текст из файла (страница 45)
getModeOf ( _e ) ;}49054910@ O v er r i d e@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c d o u b l e g e t F i r s t O c c u r r e n c e T i m e ( E v e n t T i m e o u t _e ) {i f ( _e == s t a r t ) r e t u r n49150;i f ( _e == l i n e _ c l e a n ) r e t u r n4920 2∗ m o d el _ seco n d;i f ( _e == c o o r d i n a t e s ) r e t u r n0;4925if (_e == _ p l o t _ s t _ a u t o U p d a t e E v e n t _ x j a l| | _e == _ p l o t _ s a v e d _ a u t o U p d a t e E v e n t _ x j a l| | _e == _ a u t o C r e a t e d D S _ x j a l) re t urn getEngine () .
getStartTime ( ) ;4930r e t u r n s u p e r . g e t F i r s t O c c u r r e n c e T i m e ( _e ) ;}@ O v er r i d e222@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c d o u b l e e v a l u a t e T i m e o u t O f ( E v e n t T i m e o u t _e ) {i f ( _e == c o o r d i n a t e s ) r e t u r n49351;i f ( _e == _ p l o t _ s t _ a u t o U p d a t e E v e n t _ x j a l ) r e t u r n4940 0 . 1;i f ( _e == _ p l o t _ s a v e d _ a u t o U p d a t e E v e n t _ x j a l) return1;4945i f ( _e == _ a u t o C r e a t e d D S _ x j a l )return1;r e t u r n s u p e r . e v a l u a t e T i m e o u t O f ( _e ) ;}495049554960@ O v er r i d e@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c v o i d e x e c u t e A c t i o n O f ( E v e n t T i m e o u t _e ) {i f ( _e == s t a r t ) {E v e n t T i m e o u t s e l f = _e ;i n ser t _ v er si o n .
execute () ;i n s er t _ f u n ct i o n al . execute () ;;return ;}i f ( _e == l i n e _ c l e a n ) {E v e n t T i m e o u t s e l f = _e ;4965 L i n e C l e a n ( ) ;;return ;}i f ( _e == c o o r d i n a t e s ) {4970E v e n t T i m e o u t s e l f = _e ;return ;}i f ( _e == _ p l o t _ s t _ a u t o U p d a t e E v e n t _ x j a l ) {p l o t _ s t . updateData () ;4975return ;}i f ( _e == _ p l o t _ s a v e d _ a u t o U p d a t e E v e n t _ x j a l ) {plot_saved . updateData ( ) ;return ;4980}i f ( _e == _ a u t o C r e a t e d D S _ x j a l ) {_ds_t .
update ( ) ;return ;}4985s u p e r . e x e c u t e A c t i o n O f ( _e ) ;}4990499550005005@ O v er r i d e@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c S t r i n g getNameOf ( E v e n t C o n d i t i o n _e ) {i f ( _e == p a u s e ) r e t u r n " p a u s e " ;r e t u r n s u p e r . getNameOf ( _e ) ;}@ O v er r i d e@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c b o o l e a n t e s t C o n d i t i o n O f ( E v e n t C o n d i t i o n _e ) {i f ( _e == p a u s e ) r e t u r n( ( t i m e ( ) >0)&&( p e r s o n .
s i z e ( ) ==0) ) | | ( a l l K i l l e d ( ) == p e r s o n . s i z e ( ) );r e t u r n s u p e r . t e s t C o n d i t i o n O f ( _e ) ;}@ O v er r i d e@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c v o i d e x e c u t e A c t i o n O f ( E v e n t C o n d i t i o n _e ) {i f ( _e == p a u s e ) {E v e n t C o n d i t i o n s e l f = _e ;5010pauseSimulation () ;;return ;}5015s u p e r . e x e c u t e A c t i o n O f ( _e ) ;223}502050255030/ ∗∗ I n t e r n a l c o n s t a n t , s h o u l d n ’ t be a c c e s s e d by u s e r ∗ /@ A n y Lo g i cI n t er n al Co d eg en A P Ip r o t e c t e d s t a t i c f i n a l s h o r t _STATECHART_ELEMENT_NEXT_ID_xjal = 0 ;/ / Вложенные объектыp u b l i c S t r i n g getNameOf ( A g en t ao ) {r e t u r n s u p e r .
getNameOf ( ao ) ;}p u b l i c c l a s s _explosion_Clas s extends AgentArrayList <Explosion > {_ e x p l o s i o n _ C l a s s ( A g en t owner ) {s u p e r ( owner ) ;}@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void c a l l S e t u p P a r a m e t e r s ( Explosion agent , i n t index ) {se t u p P a r a m e t e r s_ e x p l o si o n _ x j a l ( agent , index ) ;}5035@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void c a l l C r e a t e ( Explosion agent , i n t index ) {c r e a t e _ e x p l o s i o n _ x j a l ( agent , index ) ;}5040/ ∗∗∗ Это ч и сл о и с п о л ь з у е т с я при со хр а н ен и и состояния модели .
П о л ь зо в а т ел ь не должен изменять е г о з н а ч е н и е .∗/@ A n y Lo g i cI n t er n al Co d eg en A P Ip r i v a t e s t a t i c f i n a l l o n g s e r i a l V e r s i o n U I D = −9043181999309756418 L ;5045}50505055p u b l i c _ e x p l o s i o n _ C l a s s e x p l o s i o n = new _ e x p l o s i o n _ C l a s s ( t h i s ) ;p u b l i c c l a s s _ p e r s o n _ C l a s s e x t e n d s A g e n t A r r a y L i s t < P er so n > {_ p e r s o n _ C l a s s ( A g en t owner ) {s u p e r ( owner ) ;}5060@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void c a l l S e t u p P a r a m e t e r s ( Person agent , i n t index ) {se t u p P a r a m e t e r s_ p e r so n _ x j a l ( agent , index ) ;}5065@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void c a l l C r e a t e ( Person agent , i n t index ) {c r e a t e _ p e r s o n _ x j a l ( agent , index ) ;}/ ∗∗∗ Это ч и сл о и с п о л ь з у е т с я при со хр а н ен и и состояния модели .
П о л ь зо в а т ел ь не должен изменять е г о з н а ч е н и е .∗/@ A n y Lo g i cI n t er n al Co d eg en A P Ip r i v a t e s t a t i c f i n a l l o n g s e r i a l V e r s i o n U I D = −9043181998977681477 L ;5070}p u b l i c _ p e r s o n _ C l a s s p e r s o n = new _ p e r s o n _ C l a s s ( t h i s ) ;50755080508550905095p u b l i c S t r i n g getNameOf ( A g e n t L i s t <?> a o l i s t ) {i f ( a o l i s t == e x p l o s i o n ) r e t u r n " e x p l o s i o n " ;i f ( a o l i s t == p e r s o n ) r e t u r n " p e r s o n " ;r e t u r n s u p e r .
getNameOf ( a o l i s t ) ;}/ ∗∗∗ Этот метод создает и добавляет новый вложенный объект в сп и со к э к з е м п л я р о в р е п л и ц и р о в а н н о г о объектов e x p l o s i o n <br>∗ @ ret u rn только что созданный вложенный объект∗/public Explosion add_explosion () {i n t index = e x p l o si o n .
s i z e ( ) ;Explosion _ r e s u l t _ x j a l = i n s t a n t i a t e _ e x p l o s i o n _ x j a l ( index ) ;e x p l o si o n . c a l l S e t u p P a r a m e t e r s ( _ r e s u l t _ x j a l , index ) ;e x p l o si o n . c a l l C r e a t e ( _ r e s u l t _ x j a l , index ) ;_result_xjal . st ar t () ;return _result_xjal ;}/ ∗∗∗ Этот метод создает и добавляет новый вложенный объект в сп и со к э к з е м п л я р о в р е п л и ц и р о в а н н о г о объектов e x p l o s i o n <br>∗ Этот метод и сп о л ь зует заданные з н а ч е н и я параметров дл я и н и ц и а л и за ц и и с о з д а н н о г о вложенного объекта<br >2245100510551105115512051255130513551405145515051555160516551705175∗ Индекс н о в о г о э к з е м п л я р а р е п л и ц и р о в а н н о г о объекта может быть п о л у ч е н с помощью метода <code > e x p l o s i o n .
s i z e ( ) </ code >s t r o n g > вызовом этого метода∗ @param e p s i l o n 0∗ @param e p s i l o n 1∗ @param e p s i l o n 2∗ @ ret u rn только что созданный вложенный объект∗/p u b l i c Explosion add_explosion ( double epsilon0 , double epsilon1 , double ep si l o n 2 ) {i n t index = e x p l o si o n . s i z e ( ) ;Explosion _ r e s u l t _ x j a l = i n s t a n t i a t e _ e x p l o s i o n _ x j a l ( index ) ;/ / З а да н и е з н а ч е н и й параметров_ r e s u l t _ x j a l .
markParametersAreSet ( ) ;_result _xj al . epsilon0 = epsilon0 ;_result _xj al . epsilon1 = epsilon1 ;_result _xj al . epsilon2 = epsilon2 ;/ / Завершение с о з д а н и я вложенного объектаe x p l o si o n . c a l l C r e a t e ( _ r e s u l t _ x j a l , index ) ;_result_xjal . st ar t () ;return _result_xjal ;}< s t r o n g >перед <// ∗∗∗ Этот метод удаляет заданный вложенный объект и з к о л л е к ц и и э к з е м п л я р о в р е п л и ц и р о в а н н о г о объекта e x p l o s i o n <br >∗ Данный объект будет уничтожен , но в общем с л у ч а е это произойдет позже .∗ @param o b j e c t активный объект − элемент р е п л и ц и р о в а н н о г о вложенного объекта e x p l o s i o n , который должен быть у д а л е н∗ @ ret u rn <code >t r u e </ code > , е с л и объект успешно уда л ен , <code > f a l s e </ code > , е с л и он не принадлежит e x p l o s i o n∗/p u b l i c boolean remove_explosion ( Explosion o b j e c t ) {i f ( ! e x p l o s i o n .
_remove ( o b j e c t ) ) {return false ;}object . setDestroyed () ;return true ;}/ ∗∗∗ Этот метод создает и добавляет новый вложенный объект в сп и со к э к з е м п л я р о в р е п л и ц и р о в а н н о г о объектов p erso n <br >∗ @ ret u rn только что созданный вложенный объект∗/p u b l i c Person add_person ( ) {i n t index = person . s i z e ( ) ;Person _ r e s u l t _ x j a l = i n s t a n t i a t e _ p e r s o n _ x j a l ( index ) ;person . c a l l S e t u p P a r a m e t e r s ( _ r e s u l t _ x j a l , index ) ;person . c a l l C r e a t e ( _ r e s u l t _ x j a l , index ) ;_result_xjal . st ar t () ;return _result_xjal ;}/ ∗∗∗ Этот метод создает и добавляет новый вложенный объект в сп и со к э к з е м п л я р о в р е п л и ц и р о в а н н о г о объектов p erso n <br >∗ Этот метод и сп о л ь зует заданные з н а ч е н и я параметров дл я и н и ц и а л и за ц и и с о з д а н н о г о вложенного объекта<br >∗ Индекс н о в о г о э к з е м п л я р а р е п л и ц и р о в а н н о г о объекта может быть п о л у ч е н с помощью метода <code >p e r s o n .
s i z e ( ) </ code > < s t r o n g >перед </s t r o n g > вызовом этого метода∗ @param age∗ @param g e n d e r∗ @param v_ co m f∗ @param v_max∗ @param v_ h a t _ m a x∗ @param s t a t u s∗ @param s i t u a t i o n∗ @param e x i t∗ @param e x p l∗ @param s t a t u s _ c h a n g e∗ @param s∗ @param c r o s s _ e x i t∗ @ ret u rn только что созданный вложенный объект∗/p u b l i c P e r s o n a d d _ p e r s o n ( i n t age , G en d er g en d er , d o u b l e v_comf , d o u b l e v_max , d o u b l e v_hat_max , S t a t u s s t a t u s , S i t u a t i o n s i t u a t i o n ,Exit exit , boolean expl , boolean status_change , double s , boolean c r o s s _ e x i t ) {i n t index = person . s i z e ( ) ;Person _ r e s u l t _ x j a l = i n s t a n t i a t e _ p e r s o n _ x j a l ( index ) ;/ / З а да н и е з н а ч е н и й параметров_ r e s u l t _ x j a l .