��疏浚���甯���璐硅�棰�宸插���锛���������璐硅�棰�锛�

B绔�兄弟�椤�.png

���存�ヨ�块��锛���璐硅�棰�


��瑕�锛�����兄弟���浼�瑙i��涓�涓��板�浠�涔���"���剁��姣�"锛�浠ュ����姝�"���剁��姣�"���规����跺��浼��╃��Python疏浚��颁�涓�"���剁��姣�"浼���浠跨����锛��ユ�绀轰�涓�涓轰���涓��洪�ㄢ�� +������寤哄�婚�⑩��浼��存�ユ��姝荤��姣�锛��ㄦ��妯℃��河渠�浠���������锛��扮演����缁������翠釜杩�绋�锛���浠ュ��濡����у�朵�濂斤�浼���浠�涔�����锛�涓�疏浚���寰�涓ラ����锛���


�����镐俊澶у�剁�板�ㄤ�疏浚�����涓��凤���姣����枫��濂戒�疏浚规���煎�拌�骞翠�锛�涔颁�涓�澶у��濂藉����锛�缁�����涔��讳�河渠�锛����藉�ㄥ�舵���杩�河渠�缇�椋�河渠�����涓�寰�澶�河渠哄���ㄥ�堕����姣�涓�澶╅�戒�����涓�涓�浼�澶х��璁″��锛�锛�

01.png

�����d���浠�涓轰�涔�涓��藉�洪�ㄥ��锛�绛�妗�澶у�堕�藉凡缁��ラ��河渠�锛�杩�广大辨��涓�绉�琚�绉颁负�����剁��姣�����涓�瑗垮�ㄦ�d贡��������灞遍�㈠+���朵�涓�河渠�涓�疏浚舵�ㄦ�锛�杩�绉������剁��姣�����娼�浼�����14澶╁乏�规划���浠ラ��瑕�广大藉���介�垮����14澶╁���ヨЕ�村���河渠恒����疏浚��ㄥ�堕������濂界�����┿��涓�杩�杩���澶翠�娆℃�捐�涔��跨����锛���涓�杩�蹇�椤诲���ㄥ�堕��锛�涔����稿����凤������寸���宠捣浜��村�ワ�500骞翠�����涔���杩��ョ����锛�

02.png

涓��㈠氨���ヤ�瑙d��板�浠�涔������剁��姣�锛�

1. 浠�涔������剁��姣�

����濡���璇�缁�瑙i��浠�涔������剁��姣�锛���瑕�浠���姣�璁茶捣锛�浼拌�¤���涓���涔�河渠�锛�涓�杩�疏浚��ㄦ病魔��蹇�瑕���澶у�跺��瑕��ラ��涓��瑰氨濂姐����姣�涓������╋�绫荤���╋������╃���ㄥ���瑰�锛�锛�涓��界��绔���海洋�锛���瑕�岛�璧�河渠�疏浚夸富锛�涔�广大辨��河渠轰���缁������㈠�ヨ��璇达���姣���瑕�***河渠轰���缁������界��海洋�����姣���浠ュ�╃�ㄧ���涓�������澶��惰��韬�锛�浠���杈惧�扮演�娈���������濡������版������缁���杩�澶�锛�河渠轰�广大变�������

�����d�"���剁��姣�"��锛�褰��朵�灞�河渠���姣���涓�绉�锛�涓�杩�疏浚�涓�����������姣���兄弟�������"���剁��姣�"���山��锛���姣�琛ㄩ�㈡��寰�澶��歌捣����锛���璧锋�ヨ��烘�河渠���锛�锛���浠ョО涓�"���剁��姣�"��

03.png

����"���剁��姣�"�や�澶�褰�涓�涓�������姣���宸�寮�锛��ㄦ��璐ㄤ�涓�������姣�涔���涓�������������姣���甯搁�芥��DNA��姣�锛�涔�广大辨�����烘��缁�������"���剁��姣�"灞�河渠�RNA��姣�锛�涔�广大辨�����烘��缁��������烘��缁�����DNA��姣��寸ǔ疏浚�锛�涓�疏浚规����寮���浣�RNA��姣�����涓�涓��撅���甯镐�绋冲��锛�疏浚规����寮���杩�����"���剁��姣�"��������锛���杩���寮��垫��河渠虹被�����汇������"���剁��姣�"������寮�锛�杩�寰��捐�淬��

04.png

2. 濡�浣���姝�"���剁��姣�"

�����板�ㄧ����棰���锛�濡�浣���姝�"���剁��姣�"��褰��讹����存�ョ���规���广大�"���剁��姣�"璧跺�雾���锛����存�ヤ�缁���涓�娓��わ�涓�杩�����河渠虹被������杩���涓��拌�涓��无边��杩�搴�璇ュ�河渠�姣�缁����诲���拈��绔����诲��锛���海洋��诲������海洋��诲��������河渠虹被��绉���姘村钩���宠�娌″���ㄨ揪�扮演����诲����楂�搴�锛���澶�0.7涓�缁����诲��锛�锛���涓虹����绛�缁����剧��杩���娉�疏浚��ㄦ不����

�����㈢�剁��姣�����杩���娉��存�ユ��姝伙��d�杩�涔�澶���������河渠烘��濡�浣����扮演����锛��跺����浠ラ���ㄥ�涓�涓ょ��规��存�ユ��姝�"���剁��姣�"锛�涔������朵�澶у��扮演��姣���

1.� �╃�ㄤ汉浣�������浣�缁���锛�濡�T缁���锛�锛�广大�琚�������缁���杩���"���剁��姣�"涓�璧锋���

2. 骞叉��"���剁��姣�"�ㄧ�������澶��惰�绋�锛�岛�濡�锛�RNA骞叉�起�锛�璁�"���剁��姣�"��娉�姝e父澶��惰��韬�锛�涔�广大辨��璁�"���剁��姣�"娌℃����浠o�杩���"���剁��姣�"广大变��变���韬������界�缁���姝讳骸��

��������缁�澶у��扮演��������河渠哄�河渠�绗�涓�绉����碉�涔�广大辨����杩���韬�����浣�缁���锛�濡�T缁���锛�妫�娴�河渠轰���琚�������缁���锛��跺�����ヨ�河渠�琚�������缁������ㄨ��姣�绋�搴�锛�褰�杩�河渠�缁���琚���姣���锛��d���姣�涔�广大辫�娑���河渠���

����涓�杩����芥������海洋�浼���锛��㈢�剁��姣���浠ヨ���浣�缁���娑���锛��d�杩�涔�澶��绘�や男子�����荤��璁惧�宀�涓���澶�浣�河渠����跺��骞朵���澶�河渠���锛�������甯稿�瑕���杩�����涓虹��姣���***姝e父缁��������讹�涔�璁╀汉浣����垫����寮�彭�涓���锛�河渠轰�������浣�缁�����������锛�杩�河渠���浣�缁���浼��板�����锛�椤句�涓�瀵逛�"���剁��姣�"河渠���姝f���变�杩�河渠��荤���ㄦ�起�濡��煎�告�虎�锛�广大藉���借�╀汉浣��鸿�芥�㈠��版�ヨ�姝e父浜虹��姘村钩锛�杩��山��绉���浣�缁���广大卞��浠ラ��涓�����瀵逛�"���剁��姣�"河渠�����浠ヨ�达�杩�河渠���������河渠哄�跺������杩���韬�����浣�缁���娑���河渠�"���剁��姣�"锛����荤���ㄦ�般����绉����╋��诲�′男子�����ょ��锛��跺������浣�缁������村������澶�锛��变�涓���河渠虹��浣�璐ㄤ�������涓�����涓�浣�锛���浣�缁�����甯稿己澶э�����河渠�"���剁��姣�"��娉�蹇���澶��讹�浣�浠��跺�ㄥ��讹�����澧�������锛�锛�杩�涔���涓轰�涔�����涓�浣���娼�浼���浼�瓒�杩�14澶╃������锛�浣�杩�姣�绔�����广大��般��娼�浼�����琚���姣�������缁����伴��杈惧�拌冻浠ヨ�寸�����堕�达�河渠轰���濡�������广大�����琚���姣�������缁���锛���涓�浼�琛ㄧ�板�轰换浣����剁��锛���

����杩���广大辨��锛�涓轰�涔�"���剁��姣�"�������ㄥ�����跺ぇ澶�浼����雾�������讹���涓�浼撮�������у��锛��跺��杩�广大辨����浣�缁����ㄥ��"���剁��姣�"杩�琛�杈�����锛�杩��婚�㈤��绂伙���涓轰�澧�寮烘��浣�缁���瀵规��"���剁��姣�"��绛圭����涓�杩��变�涓�河渠�河渠虹����浣�缁�����������疏浚��ㄥお宸�锛����芥���ㄥ��河渠烘����涓哄勾榫�澶�澶х������锛�锛���浠ュ氨绠���浣�缁���绛��ヤ��村��锛�涔�河渠�河渠���琛ワ�杩�河渠�广大辨��宸茬�姝讳骸��琚�������锛�澶у���60宀�浠ヤ�����骞翠汉锛�����浠ョ������缁�����锛�濂藉ソ�荤�艰韩浣��э��ユ��寮哄.��韬�浣�锛�涓��戒�璇�浣�涓�寰���锛�浣��冲���浠ュ���寰�����娲讳��ョ��������

05.png

瀵逛�����姝e�ㄧ��������"���剁��姣�"�����╀富瑕�����杩�绗�2绉��瑰�娑�����姣�����涔�广大辨��骞叉�扮演��姣���澶��惰�绋�锛�涓�杩�寰����撅��扮演�板�ㄤ负姝�锛�杩�娌℃��琚�璇�����甯告���������╁��浠ュ���拌�涓��无边��

3. 瀵逛�"���剁��姣�"����娈�

����浠����╁��瑙�搴�锛���浠�宸茬�河渠�瑙d�"���剁��姣�"����������锛�浣��ㄧ�板��涓�锛�濡�浣���浣���锛�

�����跺��瀵逛�"���剁��姣�"浠ュ���朵�澶у��扮演��姣�锛��烘��涓�广大辨���轰�12涓�海洋�锛� �����惰刀蹇�娌股�娌$���惰���绂汇��杩�涔����介��涓����ㄧ��������

������6涓�海洋�疏浚规����瑙o������朵�锛�广大辩�存�ヨ��婚��河渠���濡���娌$���跺��锛�娌$���舵��涓ょ����碉���浼煎��姝e父浜恒����浼间富瑕�����涓�琚�������杩�璺�绂绘�ヨЕ锛���浠�澶��版�ユ���扮演��河渠哄��锛�杈��ヨ��锛�锛��变�"���剁��姣�"��娼�浼�����14澶╁乏�规划���浠ヨ�河渠���浼艰���冲���瑕�琚���绂�14澶╂��浼�纭�疏浚���������琚���������姝e父浜哄��瑕�娌″��琚�������杩�璺�绂绘�ヨЕ锛�广大变�浼�琚�������杩�河渠�河渠轰���浠ヤ���瑕���绂伙�����涓烘��琚���河渠烘������涓�杩�杩�������绂婚��甯告���ㄨ��宸辩��疏浚朵腑锛�涓��洪�ㄣ����杩���绂伙���浠ュぇ骞�搴���广大���姣������扮演��河渠虹兢锛�涔�广大辨��璁╁����涓���澧�����广大�澧�������杩���寰�澶�琚�������锛�杩�河渠�河渠哄氨��瑕��ㄥ�婚�㈤���ュ��娌荤��河渠���涓�杩��变�琚�������澶�澶�锛���浠ユ��姹�绛��板�哄揩��寤鸿捣浜�寰�澶�涓存�跺�婚���� 杩����ㄦ�ュ��广大�海洋������� 褰�海洋���涓�浣�涓�浼�澧�������涓��ㄤ�����广大�锛��村�拌�������涓�0锛���浼艰��涓�0�讹�������浼�褰诲�缁���锛�杩�涔�������瑕�浠�缁�����姣��╂�d豢���ㄧ���烘��������

4. �ㄧ��姣��╂�d豢���ㄦ�ユ�绀虹��姣��╂�e������缁������ㄨ�绋�

�����ㄥ���拌�涓�浠跨���ㄤ���锛����ユ�绀轰�杩�涓�浠跨���ㄣ��

����浠跨���ㄥ��浠ュ�瑰�涓��版��杩�琛�妯℃��锛������ュ悍��河渠烘�般��娼�浼���河渠烘�般��������河渠烘�般��宸茬���绂荤��河渠烘�般��宸茬�姝讳骸��河渠烘�般��绌轰�搴�浣���缁х图搴�浣�����姣�浼���������姣�娼�浼������婚�㈡�舵不��搴��堕�淬���婚�㈠���搴�浣���疏浚��ㄨ�绂汇��骞冲��娴��ㄦ������

�������ㄧ�搴�锛�浼��╃�ㄥ��彭��艰�琛�妯℃��锛���彭�����河渠烘�颁负50河渠猴�甯�姘��绘�颁负5000河渠恒��濡�涓��炬��绀恒��

06.png

����涓��村�哄�����ュ共涓��硅〃绀哄��绉��舵����甯�姘����借�茬��琛ㄧず�ュ悍甯�姘���榛��茶〃绀烘�浼���甯�姘���绾㈣�茶〃绀哄����甯�姘���榛��茶〃绀烘�讳骸��甯�姘����充晶��绔��¤〃绀哄�婚�㈢��搴�浣�锛���彭��兼��100��濡����ㄥ���板�艰�琛�妯℃��锛�100寮�搴�浣�寰�蹇�广大变�琚�濉�婊★��跺����姣��ㄤ汉缇や腑灏变�澶х����锛�寰�蹇�绾㈢�瑰氨浼���甯�河渠虹兢锛�濡�涓��炬��绀�:

07.png

����褰���澶╂�板凡缁��剧ず杩�河渠�31澶╋��借��河渠�涓�涓���锛�锛�������宸茬��ヨ�1000河渠�锛�杩��舵�垮�寮�彭�����绱ф�ユ���姐��涓昏���涓や锅锛�广大������抽��濞变��烘����澧����婚�㈢��搴�浣���������涓轰��垮�������村���河渠猴�������涓轰�娑���琚���������海洋�������浠ラ��杩�涓��㈢��璁剧疆�ヨ��村���般��岛�濡�锛�广大�娴��ㄦ����璋��翠负-1.71��骞朵�澧���搴�浣�323涓���

08.png

����杩��舵�诲�浣��板����河渠�423��杩�����娴��ㄦ������-3��3涔��达�濡�����3锛�琛ㄧず甯�姘���娲诲�ㄦ���块��甯稿己��锛�岛�濡�锛�姝eソ���ヨ���舵��锛�甯�姘������虎���浼���甯搁�绻���娴��ㄦ���胯�广大�锛�娴��ㄦ���垮氨瓒�浣���杩���璋���-1.76锛�琛ㄧず甯�姘�涓��藉������浼���涓��藉�哄�����洪�ㄩ��瑕��村�g僵锛�浣�甯�姘�浠��跺��浠ュ�ㄥ���娴��ㄣ�� 娴��ㄦ���胯�浣�河渠��ヨ��姝e父���笺��涓�杩�广大界�℃�垮�����河渠�涓�疏浚������斤�浣��变����ㄧ����寮�彭���涓�涓���������河渠�绱ф�ユ���斤���浠ョ��姣�宸茬��╂�d�锛���姝わ�����骞舵病��寰��伴��甯告���剧��缂�瑙c��濡�涓��炬��绀恒�� 涓昏�琛ㄧ�颁负甯�姘�浠��跺��浠ヨ���辨椿��锛�广大界�′��藉������浼�锛�锛�浠��跺���ㄤ�疏浚�������椋��┿�� ��涓��婚�㈠�浣����句�瓒炽��

09.png

����涓轰��磋�涓�姝ユ�у�剁����锛��垮�寮�彭�广大���广大��虎��磋�涓�姝ラ���朵汉����娲诲��锛�浠ュ�����瑰�彭�骞查�锛�娲惧�轰�澶ч�����绘�や男子��浠ュ����绉��荤��璁惧�锛�骞朵�寤虹����澶�涓��硅�卞�婚�����婚�㈠�浣�寰��颁�寰�澶х��缂�瑙c��杩���广大����拌�剧疆����澶у�兼�ユā��杩�涓�杩�绋�锛�澧���搴�浣�1200涓�锛�娴��ㄦ����璁剧疆涓�-3.0锛�涔�广大辨��璇村�烘��涓�甯�姘�涓�娴��ㄤ���濡�涓��炬��绀恒��

10.png

����杩��剁���板�浣�宸茬�澧����颁�1623锛�姣��ラ����搴�浣�澶�河渠�涓�广大�锛���涓�河渠哄��瓒�河渠�涓�娴���锛�����河渠烘�颁�����广大�锛��借���杩�河渠��婚��锛�锛���涓�娼�浼���河渠烘�伴��娓�潘���涓哄����河渠烘�起�涔�琚���杩�河渠��婚��锛���缁�锛�娼�浼���河渠烘�板��������河渠烘�伴�芥��0锛�����缁���锛�濡�涓��炬��绀恒���辫��璐逛�60澶┿��褰��讹�疏浚������垫病杩�涔�椤哄�┿��浠跨���ㄥ��浠ョ���诲����婚�㈠�浣��起���浠ョ���婚��绂讳汉��锛�浣��ㄥ������浣�涓�锛�寤虹���婚�㈤��瑕��堕�达���绂讳���瑕���璋�锛�广大ゅ�舵��涓���涓�河渠虹��澶у��甯���

11.png

����涓�杩���瑕��藉���伴��绂诲�����跺氨�队����剁��姣�����缁���涔������堕�拈��棰���褰��讹�杩�瑕��ㄨ�涓ょ�瑰����姣�杈�濂界�����仪式�锛�濡���澶���澶卞�锛��d�浠跨���ㄥ氨浼����颁��剧���舵��锛�疏浚��ㄥけ�э�河渠虹被广大���涓翠��烘旦����

12.png

5. ��姣�浼���浠跨���ㄧ��疏浚���

�����板�ㄦ�ヨ�璋�浠跨���ㄥ���扮演��������浠跨���ㄤ娇��Python��PyQt5疏浚��般��PyQt5��广大�瑁�河渠�Qt library��璺ㄥ钩��GUI寮���搴�锛��轰�Python璇�瑷���

����杩���涓昏�娑����颁豢���ㄦ����缁��讹�浠ュ��濡�浣�妯℃��澶�涓����般�����ヨ�翠�涓�缁��跺�姘����舵����缁��剁��宸ヤ���杩�drawing.py��浠剁��Drawing绫绘�ュ������璇ョ把��QWidget��海洋�绫伙�杩�涔�广大辨���崇��Drawing绫绘��韬���PyQt5��涓�涓�缁�浠躲��涓���������绛剧把浼笺������骞朵���瑕�寰�Drawing涓��剧疆浠讳�海洋�缁�浠躲����瑕���Drawing涓�缁��跺��绉��惧舰�冲����

������PyQt5涓�锛�浠讳�涓�涓�QWidget��海洋�绫伙��藉��浠ュ���颁�涓�paintEvent�规�锛�褰�缁�浠舵��娆″�锋�版�讹�广大变�璋���paintEvent�规����扮演��剁�浠剁����疏浚广��Drawing绫讳腑paintEvent�规���浠g��濡�涓�锛�

����def�paintEvent(self,�event):
��������qp�=�QPainter()
��������qp.begin(self)
��������#�缁��跺��甯�����绉��舵����甯�姘�
��������self.drawing(qp)
��������qp.end()

�����ㄧ��跺�惧����锛���瑕���寤�QPainter瀵硅薄锛��跺��璋���QPainter瀵硅薄��begin�规�锛�缁���缁��跺��锛���瑕�璋���QPainter瀵硅薄��end�规���涓���浠g��涓���drawing�规��ㄤ�疏浚����蜂���缁��跺伐浣���

浠跨���ㄥ��浠ユā��5000涓�甯�姘����舵��锛���浠ラ��瑕���5000涓�广大��╁舰�ヨ〃绀鸿�5000涓�甯�姘���涔�广大辨����drawing�规�涓���瑕�缁��惰�5000涓�琛ㄧず甯�姘���广大��╁舰��浠g��濡�涓�锛�

def�drawing(self,�event):
�������...�...
��������#�缁��朵唬琛ㄥ�姘���广大��╁舰
��������persons�=�Persons().persons
��������if�persons�==�None:
������������return
��������normal_person_count�=�0
��������latency_person_count�=�0
��������confirmed_person_count�=�0
��������freeze_person_count�=�0
��������death_person_count�=�0
��������������#�������涓�涓�河渠虹���舵��
��������for�person�in�persons:
������������if�person.state�==�NORMAL:
����������������#��ュ悍浜�
����������������qp.setPen(Qt.white)
����������������normal_person_count�+=�1
������������elif�person.state�==�LATENCY:
����������������#�娼�浼���������
����������������qp.setPen(QColor(255,238,0))
����������������latency_person_count�+=�1
������������elif�person.state�==�CONFIRMED:
����������������#�纭�璇��h��
����������������qp.setPen(Qt.red)
����������������confirmed_person_count�+=�1
������������elif�person.state�==�FREEZE:
����������������#�宸查��绂昏��
����������������qp.setPen(QColor(72,�255,�252))
����������������freeze_person_count�+=�1
������������elif�person.state�==�DEATH:
����������������#�姝讳骸�h��
����������������qp.setPen(Qt.black)
����������������death_person_count�+=�1
������������person.update()���#��存�版��涓�涓�河渠虹���舵��
������������bed_half_size�=�Hospital().bed_size�//�2
������������rect�=�QRect(person.x�-�bed_half_size,�person.y�-�bed_half_size,Hospital().bed_size//2,�Hospital().bed_size//2)
������������brush�=�QBrush(Qt.SolidPattern)
������������brush.setColor(qp.pen().color())

������������qp.setBrush(brush)
������������qp.drawRect(rect)
������������...�...

�����ㄤ��㈢��浠g��涓�锛���杩� Persons瀵硅薄��persons灞��ц�山��琛ㄧず甯�姘���瀵硅薄锛�Person瀵硅薄锛���琛ㄣ��骞跺�ㄥ惊��涓��规��Person瀵硅薄���舵��璁剧疆灏��╁舰��棰��诧�浠ュ������缁�璁′���河渠虹兢���伴��锛�杩�河渠��伴��浼��剧ず�ㄤ豢���ㄥ�充晶��缁�浠朵腑������锛�浣跨��drawRect�规�缁��惰〃绀烘��涓�涓�甯�姘���广大��╁舰��杩��山氨缁��朵�褰����舵����5000涓�甯�姘���

����褰��讹�杩�河渠��舵��瑕�涓����存�般��杩���浣跨�ㄧ嚎绋�姣�100姣�绉��锋�颁�娆★�杩�河渠����藉��refresh.py��浠剁��Refresh绫讳腑锛�浠g��濡�涓�锛�

from�PyQt5.QtCore�import�*
from�params�import��*

class�Refresh(QThread):
����def�__init__(self,�drawing):
��������super(Refresh,�self).__init__()
��������self.drawing�=�drawing
����def�run(self):
��������while�not�Params.success:
������������try:
����������������QThread.msleep(100)
����������������#��锋��Drawing
����������������self.drawing.update()
����������������Params.current_time�+=�1
������������except:
����������������pass

����姣�娆″�锋��Drawing锛���瑕�璋���update�规�锛�璋��ㄨ�ユ�规���锛�Drawing广大变�璋��ㄨ��韬���paintEvent�规����扮演��舵�翠釜缁�浠剁����疏浚广��

������paintEvent�规�涓�锛�杩�璋��ㄤ�Person瀵硅薄��update�规�锛�璇ユ�规�����浠���宸辩�����锛��ㄤ�涓����存�版��涓�涓�河渠虹���舵��锛�杩�河渠��舵��浼��规��澶�涓����拌�琛���璋���璇ユ�规�灞�河渠�Person绫伙�浠g��濡�涓�锛�

����def�update(self):
��������#�濡���宸茬���绂绘����姝讳骸浜�锛�广大变���瑕�澶���河渠�
��������if�self.state�==�FREEZE�or�self.state�==�DEATH:
������������return
��������#�澶���宸茬�纭�璇���������锛��虫�h��锛�
��������if�self.state�==�CONFIRMED�and�self.dead_time�==�0:
������������destiny�=�random.randrange(1,10001)��#�骞歌��板��锛�[1,10000]���烘��
������������if�destiny�>=�1�and�destiny�<=�int(Params.fatality_rate�*�10000):
����������������#�骞歌��板���藉�ㄦ�讳骸�洪��
����������������dt�=�int(sp.random.normal(Params.dead_time,Params.dead_variance))
����������������self.dead_time�=�self.confirmed_time�+�self.dead_time
������������else:
����������������self.dead_time�=�-1���#���杩�河渠�姝荤���榄���

��������if�self.state�==�CONFIRMED�and�Params.current_time�-�self.confirmed_time�>=�Params.hospital_receive_time:
������������#�濡����h��宸茬�纭�璇�锛�涓�锛�涓����跺��-纭�璇��跺�队�澶т��婚�㈠��搴��堕�达��冲�婚�㈠��澶�濂界��搴�河渠�锛���浠ユ��璧颁�
������������bed�=�Hospital().pick_bed()��#��ユ�剧┖搴�浣�
������������if�bed�==�None:
����������������#�娌℃��绌哄�浣�锛��ュ����姹�搴�浣���
����������������if�not�self.need_bed:
��������������������Hospital().need_bed_count�+=�1
��������������������self.need_bed�=�True

������������else:
����������������#�疏浚�缃���河渠�
����������������self.used_bed�=�bed
����������������self.state�=�FREEZE
����������������self.x�=�bed.x�+�Hospital().bed_size�//�2
����������������self.y�=�bed.y�+��Hospital().bed_size�//�2
����������������if�self.need_bed�and�Hospital().need_bed_count�>�0:
��������������������Hospital().need_bed_count�-=�1
����������������bed.is_empty�=�False
��������#�澶�����姝昏��
��������if�(self.state�==�CONFIRMED�or�self.state�==�FREEZE)�and�Params.current_time�>=�self.dead_time�and�self.dead_time�>�0:
������������self.state�=�DEATH��������������������������#��h��姝讳骸
������������personpool.Persons().latency_persons.remove(self)������#�宸茬�姝讳骸锛���娉�浼�����河渠猴���瑕�浠�纭�璇���涓�����
������������Hospital().empty_bed(self.used_bed)���������#��惧�哄�浣�
������������if�Hospital().need_bed_count�>�0:
����������������Hospital().need_bed_count�-=�1

��������#�澧���涓�涓�姝f����甯��ㄤ�娼�浼��������哄�����堕��
��������latency_symptom_time�=�sp.random.normal(Params.virus_latency�/�2,25)

��������#�澶���������娼�浼���������

��������if�Params.current_time�-�self.infected_time�>�latency_symptom_time�and�self.state�==�LATENCY:
������������self.state�=�CONFIRMED����������������������������������#�娼�浼�������
������������self.confirmed_time�=�Params.current_time��������������#��锋�扮演‘璇��堕��
��������#�澶�������绂昏����绉诲�ㄩ��棰�
��������self.action()
��������#�澶����ュ悍浜鸿���������棰�
��������persons�=�personpool.Persons().persons

��������#�涓����ュ悍浜猴�杩���
��������if�self.state�>=�LATENCY:
������������return
��������#���杩�涓�涓����哄垢杩��煎��疏浚��ㄨ�绂诲�冲�������朵�河渠�
��������latency_persons�=�personpool.Persons().latency_persons.copy()
��������for�person�in�latency_persons:
������������random_value�=�random.random()
������������if�random_value�<�Params.broad_rate�and�self.distance(person)�<�Params.safe_distance:
����������������self.be_infected()
����������������break

����update�规�涓昏�广大辨���规����params.py涓�����绉����板����锛�浠ュ�����哄�硷�璁$��涓�涓�娆$�舵��涓�娼�浼���河渠烘�般������河渠烘�般��琚���绂讳汉�扮演���版��锛�骞朵��ㄦ��娆″�锋�伴〉�㈡�舵�存�拌�河渠��版����

����浠ヤ�����杩板氨��濡�浣�缁��惰〃绀�5000涓�甯�姘����舵�����充晶��绉��版��骞朵���缁��跺�ㄩ〉��涓���锛�������杩�QtDesigner璁捐�$���充晶������锛��跺��广大�Drawing瀵硅薄浣�涓烘������缁�浠舵�惧�ㄤ�涓荤���㈢��宸�岛с��璁捐�$���㈠�涓��炬��绀猴�

13.png

�����跺����杩�pyuic广大�.ui��浠剁����.py��浠讹��ㄧ�搴�涓�璋��ㄥ�冲����杩�河渠�缁�浠剁���存�板���锋���ㄥ���㈢��雾��drawing�规�涓���

������澶�锛�杩�涓�浠跨���ㄨ���岛�河渠��ㄦ��璁剧疆���扮演�����姐��杩�����杩���澶�涓�涓�绋�搴�疏浚��扮演��锛�涓や锅绋�搴���杩�socket��璁���杩�涓�璁剧疆绋�搴����锋����杩�QtDesigner璁捐�$��锛�璁捐�$���㈠�涓��炬��绀恒��

14.png

�����ㄨ�剧疆绋�搴�涓�锛���杩�Transmission绫荤��send_command�规���浠跨���ㄥ��甯��戒护锛�岛�濡�锛��存�板�浣��扮演��浠g��濡�涓�锛�

from�PyQt5.QtWidgets�import�*
from�socket�import�*
class�Transmission:
����def�__init__(self,ui):
��������self.ui�=�ui
��������self.host�=�'localhost'
��������self.port�=�5678
��������self.addr�=�(self.host,�self.port)
������#���浠跨���ㄥ��甯��戒护
����def�send_command(self,�command,�value�=�None):
��������tcp_client_socket�=�socket(AF_INET,�SOCK_STREAM)
��������tcp_client_socket.connect(self.addr)
��������if�value�==�None:
������������value�=�0
��������data�=�command�+�':'�+�str(value)
��������tcp_client_socket.send(('%s\r\n'�%�data).encode(encoding='utf-8'))
��������data�=�tcp_client_socket.recv(1024)
��������result�=�data.decode('utf-8').strip()
��������tcp_client_socket.close()
��������return�result
�����#��存�板�浣���
����def�update_bed_count(self):
��������print(self.ui.horizontalSliderBedCount.value())
��������result�=�self.send_command('add_bed_count',self.ui.horizontalSliderBedCount.value())
��������if�result�==�'ok':
������������QMessageBox.information(self.ui.centralwidget,�'娑���',�f'����娣诲��河渠�{self.ui.horizontalSliderBedCount.value()}寮�搴�浣�',�QMessageBox.Ok)

� �ㄤ豢���ㄧ��锛���杩�Receiver浠ュ��TCPServer�ユ�ユ�惰�剧疆绋�搴���杩��ョ���戒护锛�濡�������璁剧疆锛�杩���ok��Receiver绫讳互���稿�崇��浠g��濡�涓�锛�

浠ヤ�广大辨��杩�涓���姣�浼���浠跨���ㄧ���烘��疏浚��版�规�锛��朵腑娑����颁�澶ч��PyQt5���ヨ��锛�濡���澶у�舵�宠��缁�河渠�瑙�PyQt5����锛���浠ュ����������PyQt5锛�Python锛�寮���涓�疏浚���瑙�棰�璇剧���璇剧�����澶�锛������剁��姣�浼���浠跨���ㄧ��������疏浚��起�Python��)��瑙�棰�璇剧��冲��ㄥ�虎�娆㈣��虫敞��

from�socketserver�import�(TCPServer�as�TCP,StreamRequestHandler�as�SRH)
from�common�import�*
from�params�import�*
from�hospital�import�*
from�PyQt5.QtCore�import�*
import�sys
#���搴�疏浚㈡�风��璇锋�河渠�浠剁��绫�
class�MyRequestHandler(SRH):
����def�handle(self):
�������#�璇诲��疏浚㈡�风���������版��
��������data�=�str(self.rfile.readline(),'utf-8')
��������index�=�data.find(':')
��������command�=�data[:index]
��������value�=�data[index�+�1:]
��������value�=�int(value)
�������������#��ц��蜂����戒护
��������if�command�==�'add_bed_count':
������������Params.hospital_bed_count�+=��value
������������Hospital().free_bed_count�=�Hospital().free_bed_count�+�value
������������Hospital().compute(value)
��������elif�command�==�'set_flow_intention':
������������Params.average_flow_intention�=�value�/�100
��������elif�command�==�'set_broad_rate':
������������Params.broad_rate�=�value�/�100
��������elif�command�==�'set_latency':
������������Params.virus_latency�=�value�*�10
��������elif�command�==�'close':
������������Params.app.quit()
��������self.wfile.write(b'ok\r\n')
#��ㄧ嚎绋�涓�����疏浚㈡�风����璇锋�
class�Receiver(QThread):
����tcp_server�=�None
����def�__init__(self):
��������super(Receiver,self).__init__()
��������self.host�=�''
��������self.port�=�5678
��������self.addr�=�(self.host,self.port)
��������Receiver.tcp_server�=�TCP(self.addr,�MyRequestHandler)

����def�run(self):
��������Receiver.tcp_server.serve_forever()


婧�浠g��涓�潘斤�github锛�


��椤圭��疏浚��������剁��姣�浼���浠跨����锛�Python����锛�瑙�棰�璇剧�


��疏浚㈣捣婧�锛�2锛�.jpg


涓�河渠虹��浠�

��疏浚�锛�娌��虫�х��绉�����彭�河渠猴�疏浚��ユ���插��彭�河渠猴�����涔�浣�疏浚讹�51CTO����璁插�锛�浼�涓���璁�璁插�锛��ユ��瓒�杩�20骞磋蒋浠跺������硅��缁�楠����剧��雾��瓒�杩�40��IT����涔�锛�浠h〃浣�����Python��������锛�娣卞�ョ��瑙e����������涓�寮���������Python浠���楦��伴������锛��朵�瑙�棰�璇剧�瓒�杩�1000广大��讹��ユ��海洋�����璇昏���扮演�句��� 涓昏�浣跨�ㄧ����������Python��Go��JavaScript��Java��Flutter绛�������姝e�ㄥ甫棰��㈤��寮���瓒�骞冲�板���宸ュ��UnityMarvey锛�浣跨�ㄨ��������Ori璇�瑷�锛���浠ュ���惰法��浣�绯荤����版��搴���河渠�骞冲�扮演��澶�涓�骞冲�起���杩�瓒�甯�灞�����疏浚��板��瑙���UI璁捐�★�����疏浚㈡�风�����$��涓�浣���������


��Python��������锛�娣卞�ョ��瑙e����������涓�寮�����宸茬��雾��

姝eソ���撅�����锛���small��.png