A3.pdf

‫ﺑﺮﻧﺎﻣﻪﺳﺎزی وب‬
‫ﻧﯿﻢﺳﺎل اول ‪٩٣-٩٢‬‬
‫ﻣﺪرس‪ :‬ﺣﻤﯿﺪ ﺿﺮاﺑ زاده‬
‫داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ‬
‫ﺗﻤﺮﯾﻦ ﺳﻮم‬
‫ﻣﻬﻠﺖ ارﺳﺎل‪ ١٠ :‬آذرﻣﺎه‬
‫ﺑﺎزی ﻓ ﺮ ﺑ ﺮ‬
‫در اﯾﻦ ﺗﻤﺮﯾﻦ ﻗﺼﺪ دارﯾﻢ ﺑﺎزی ﻓ ﺮ ﺑ ﺮ را ﺑﺎ ﮐﻤ ﻣﻌﻤﺎری ﻣﺸﺘﺮی‪-‬ﮐﺎرﮔﺰار ﭘﯿﺎدهﺳﺎزی ﮐﻨﯿﻢ‪ .‬در اﯾﻦ ﻧﺴﺨﻪ از‬
‫ﺑﺎزی‪ ،‬ﮐﺎرﮔﺰار ﯾ ﮐﻠﻤﻪ را اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ و ﮐﺎرﺑﺮ ﺑﺎﯾﺪ آن ﮐﻠﻤﻪ را ﺣﺪس ﺑﺰﻧﺪ‪.‬‬
‫ﻣﻌﻤﺎری‬
‫ﮐﺪ ﺷﻤﺎ ﺷﺎﻣﻞ دو ﺑﺨﺶ ﺳﻤﺖ ﮐﺎرﺑﺮ و ﺳﻤﺖ ﮐﺎرﮔﺰار اﺳﺖ‪ .‬ﺳﻤﺖ ﮐﺎرﺑﺮ ﺑﺎ اﺟﺮای درﺧﻮاﺳﺖﻫﺎی ‪ AJAX‬ﺑﺎ‬
‫ﮐﺎرﮔﺰار ارﺗﺒﺎط ﺑﺮﻗﺮار ﻣ ﮐﻨﺪ‪ .‬ﻣﺮاﺣﻞ ﮐﻠ ارﺗﺒﺎط ﮐﺎرﺑﺮ ﺑﺎ ﮐﺎرﮔﺰار در ﻃﻮل ﺑﺎزی در ﺷ ﻞ ‪ ١‬ﻗﺎﺑﻞ ﻣﺸﺎﻫﺪه اﺳﺖ‪.‬‬
‫‪AJAX‬‬
‫‪Connect‬‬
‫‪Response‬‬
‫‪ID and Word Length‬‬
‫‪Client‬‬
‫‪HTML page‬‬
‫‪Server‬‬
‫‪Python code‬‬
‫‪Try #n‬‬
‫‪ID and Guess‬‬
‫‪Response #n‬‬
‫‪Game State‬‬
‫ﺷ ﻞ ‪ :١‬ﺷﻤﺎی ﮐﻠ ارﺗﺒﺎط ﮐﺎرﺑﺮ و ﮐﺎرﮔﺰار‬
‫ﮐﺎرﮔﺰار ﺑﺮای ذﺧﯿﺮهی اﻃﻼﻋﺎت از ﯾ ﭘﺎﯾ ﺎه داده اﺳﺘﻔﺎده ﻣ ﮐﻨﺪ‪ .‬اﯾﻦ ﭘﺎﯾ ﺎه داده ﺑﺮای ذﺧﯿﺮهی اﻃﻼﻋﺎت ﺑﺎزی‬
‫ﮐﻪ ﺷﺎﻣﻞ ﯾ ﺷﻨﺎﺳﻪ و ﯾ ﮐﻠﻤﻪ اﺳﺖ‪ ،‬اﺳﺘﻔﺎده ﻣ ﺷﻮد‪.‬‬
‫)‪Insert (ID,Word‬‬
‫‪Server‬‬
‫‪Python code‬‬
‫‪DB‬‬
‫‪Retrieve with ID‬‬
‫ﺷ ﻞ ‪ :٢‬ﺷﻤﺎی ﮐﻠ ارﺗﺒﺎط ﮐﺎرﮔﺰار ﺑﺎ ﭘﺎﯾ ﺎه داده‬
‫‪١‬‬
‫ﺑﺮﻧﺎﻣﻪی ﺳﻤﺖ ﮐﺎرﮔﺰار‬
‫ﺑﺮای اﺟﺮای ﺑﺎزی‪ ،‬ﮐﺎرﮔﺰار و ﮐﺎرﺑﺮ ﺑﺎ ﺗﻌﺪادی ﭘﯿﻐﺎم ﺑﺎ ﻫﻢ ارﺗﺒﺎط ﺑﺮﻗﺮار ﻣ ﮐﻨﻨﺪ‪ .‬ﻫﻤﺎﻧﻄﻮر ﮐﻪ در ﺷ ﻞ ‪ ١‬دﯾﺪه‬
‫ﻣ ﺷﻮد‪ ،‬اﯾﻦ ارﺗﺒﺎط از ﻃﺮﯾﻖ درﺧﻮاﺳﺖﻫﺎی ‪ AJAX‬از ﺳﻤﺖ ﮐﺎرﺑﺮ اﻧﺠﺎم ﻣ ﭘﺬﯾﺮد‪ .‬ﺗﻮﺿﯿﺢ اﯾﻦ ارﺗﺒﺎط در اداﻣﻪ‬
‫آﻣﺪه اﺳﺖ‪:‬‬
‫‪ .١‬ﮐﺎرﺑﺮ ﺑﺎ ارﺳﺎل ﯾ درﺧﻮاﺳﺖ ﺑﻪ ﮐﺎرﮔﺰار‪ ،‬درﺧﻮاﺳﺖ ﺷﺮوع ﯾ ﺑﺎزی ﺟﺪﯾﺪ ﻣ ﮐﻨﺪ‪ .‬اﯾﻦ درﺧﻮاﺳﺖ ﺑﻪ‬
‫ﺻﻮرت درﺧﻮاﺳﺖ ‪ AJAX‬از آدرس ﮐﺎرﮔﺰار اﻧﺠﺎم ﻣ ﮔﯿﺮد‪ .‬ﺑﺮای ﻣﺜﺎل اﮔﺮ ﺳﺮور ﺑﺮ روی ﭘﻮرت ‪ ٨٠‬از‬
‫آدرس ‪ localhost‬در دﺳﺘﺮس ﺑﺎﺷﺪ‪ ،‬ﮐﺎرﺑﺮ ﯾ درﺧﻮاﺳﺖ ‪ HTTP‬از ﻧﻮع ‪ GET‬را از اﯾﻦ آدرس اﺟﺮا‬
‫ﻣ ﮐﻨﺪ‪.‬‬
‫‪GET localhost‬‬
‫‪ .٢‬ﮐﺎرﮔﺰار ﭘﺲ از درﯾﺎﻓﺖ ﭼﻨﯿﻦ درﺧﻮاﺳﺘ ‪ ،‬ﯾ ﺷﻨﺎﺳﻪی ﯾ ﺘﺎ ﺑﺮای ﺑﺎزی ﺗﺨﺼﯿﺺ ﻣ دﻫﺪ و ﺳﭙﺲ ﯾ‬
‫را ﺑﻪ ﻃﻮر ﺗﺼﺎدﻓ ﺑﺮای اﯾﻦ ﺑﺎزی اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ‪.‬‬
‫ﮐﻠﻤﻪ‬
‫• ﺷﻨﺎﺳﻪی ﯾ ﺘﺎ را ﺑﺎﯾﺪ ﺑﺎ اﺳﺘﺎﻧﺪارد ‪ UUID‬ﻧﺴﺨﻪی ‪ ۴‬ﺗﻮﻟﯿﺪ ﮐﻨﯿﺪ ﮐﻪ اﺣﺘﻤﺎل ﺗ ﺮاری ﺑﻮدن آن ﺗﻘﺮﯾﺒﺎً‬
‫ﻣﻌﺎدل ﺻﻔﺮ اﺳﺖ ‪.١‬‬
‫• ﮐﻠﻤﻪی ﺗﺼﺎدﻓ را ﺑﺎﯾﺪ از ﻟﯿﺴﺖ ﮐﻠﻤﺎﺗ ﮐﻪ در اﺧﺘﯿﺎرﺗﺎن ﻗﺮار داده ﺷﺪه اﺳﺖ‪ ،‬اﻧﺘﺨﺎب ﮐﻨﯿﺪ‪.‬‬
‫‪ .٣‬ﮐﺎرﮔﺰار اﻃﻼﻋﺎت ﺑﺎزی ﺟﺪﯾﺪ را اﺑﺘﺪا در ﯾ‬
‫ﺷﺮوع ﺑﺎزی را ارﺳﺎل ﻣ ﮐﻨﺪ‪.‬‬
‫ﭘﺎﯾ ﺎه داده ذﺧﯿﺮه ﻣ ﮐﻨﺪ‪ ،‬ﺳﭙﺲ ﺑﻪ ﮐﺎرﺑﺮ اﻃﻼﻋﺎت ﻻزم ﺑﺮای‬
‫• ﺑﺮای ذﺧﯿﺮهﺳﺎزی اﻃﻼﻋﺎت از ﭘﺎﯾ ﺎه داده ‪ SQLite‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬زﺑﺎن ﭘﺎﯾﺘﻮن ﺑﺎ ﮐﻤ‬
‫‪ sqlite3‬اﻣ ﺎن ﮐﺎر ﺑﺎ اﯾﻦ ﭘﺎﯾ ﺎه داده را ﻓﺮاﻫﻢ ﻣ ﮐﻨﺪ‪.‬‬
‫ﻣﺎژول‬
‫• ﮐﺎرﮔﺰار در ﭘﺎﺳﺦ ﺑﻪ درﺧﻮاﺳﺖ ﮐﺎرﺑﺮ‪ ،‬ﻃﻮل ﮐﻠﻤﻪ ﺑﻪ ﻫﻤﺮاه ﺷﻨﺎﺳﻪی ﺑﺎزی را در ﻗﺎﻟﺐ ‪ JSON‬ارﺳﺎل‬
‫ﻣ ﮐﻨﺪ‪.‬‬
‫}‪{'id ':'66 D0FF96 -89D7 -4ABB -8C02 -9 E5FF139450A ','length ':4‬‬
‫‪ .۴‬ﭘﺎﺳﺦ درﯾﺎﻓﺖ ﺷﺪه در ﺳﻤﺖ ﮐﺎرﺑﺮ ﭘﺮدازش ﺷﺪه و ﺑﻪ ﻃﻮل ﮐﻠﻤﻪ‪ ،‬ﻓﻀﺎ ﺑﺮای وارد ﮐﺮدن ﺣﺮوف ﺳﺎﺧﺘﻪ‬
‫ﻣ ﺷﻮد‪ .‬ﮐﺎرﺑﺮ ﭘﺲ از وارد ﮐﺮدن ﺣﺪس ﺧﻮد‪ ،‬اﻃﻼﻋﺎت را ﺑﺮای ﮐﺎرﮔﺰار ارﺳﺎل ﻣ ﮐﻨﺪ‪ .‬ﺑﺮﻧﺎﻣﻪی ﺳﻤﺖ‬
‫ﮐﺎرﺑﺮ ﺑﺎ ﯾ درﺧﻮاﺳﺖ از ﻧﻮع ‪ GET‬و ارﺳﺎل ﺷﻨﺎﺳﻪ و ﮐﻠﻤﻪ ﺑﻪ ﻋﻨﻮان ﭘﺎراﻣﺘﺮﻫﺎی آن‪ ،‬ﺣﺪس ﮐﺎرﺑﺮ را ﺑﺮای‬
‫ﮐﺎرﮔﺰار ارﺳﺎل ﻣ ﮐﻨﺪ‪.‬‬
‫‪GET localhost /? guess=pain&id =66 D0FF96 -89D7 -4ABB -8C02 -9 E5FF139450A‬‬
‫‪ .۵‬ﺑﺮﻧﺎﻣﻪی ﺳﻤﺖ ﮐﺎرﮔﺰار ﺑﺎ درﯾﺎﻓﺖ درﺧﻮاﺳﺖ و ﻣﺸﺎﻫﺪهی ﺷﻨﺎﺳﻪ در ﭘﺎراﻣﺘﺮﻫﺎی آن‪ ،‬اﺑﺘﺪا ﮐﻠﻤﻪی ﻣﺮﺗﺒﻂ ﺑﺎ‬
‫ﺑﺎزی را از ﭘﺎﯾ ﺎه داده درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ‪ ،‬ﺳﭙﺲ ﺑﻪ ﺻﻮرت زﯾﺮ ﺑﻪ ﮐﺎرﺑﺮ ﭘﺎﺳﺦ ﻣ دﻫﺪ‪:‬‬
‫‪١‬اﺳﺘﻔﺎده از اﻃﻼﻋﺎت ﮐﺎرﺑﺮ ﻣﺎﻧﻨﺪ ‪ IP‬ﺑﺮای ﺳﺎﺧﺘﻦ ﺷﻨﺎﺳﻪ‪ ،‬اﻣ ﺎنﭘﺬﯾﺮ ﻧﯿﺴﺖ‪ ،‬ﭼﻮن ﯾ ﮐﺎرﺑﺮ ﺑﺎﯾﺪ ﺑﺘﻮاﻧﺪ ﭼﻨﺪ ﺑﺎر ﺑﺎزی را اﻧﺠﺎم دﻫﺪ و‬
‫ﻗﺼﺪ ﻧﺪارﯾﻢ ﮐﻪ اﻃﻼﻋﺎت ﺑﺎزیﻫﺎی ﻗﺒﻞ را ﺣﺬف ﮐﻨﯿﻢ‪ .‬در ﺻﻮرﺗ ﻫﻢ ﮐﻪ ﭼﻨﺪ ﮐﺎرﺑﺮ ﭘﺸﺖ ﺷﺒ ﻪ ‪ NAT‬ﺑﺎﺷﻨﺪ‪ ،‬اﻣ ﺎن اﺳﺘﻔﺎده ﻫﻤﺰﻣﺎن از‬
‫ﺑﺎزی ﺑﺮای آنﻫﺎ وﺟﻮد ﻧﺨﻮاﻫﺪ داﺷﺖ‪ .‬راه دﯾ ﺮ اﺳﺘﻔﺎده از ﯾ ﺷﻨﺎﺳﻪی ﻫﻤ ﺎﻧ اﺳﺖ‪ ،‬ﮐﻪ در ﺻﻮرت اﺳﺘﻔﺎده از اﯾﻦ روش ﺑﺎﯾﺪ از ﻫﻤﺰﻣﺎﻧ‬
‫ﺗﺨﺼﯿﺺ ﺷﻨﺎﺳﻪﻫﺎ ﺟﻠﻮﮔﯿﺮی ﮐﻨﯿﺪ‪.‬‬
‫‪٢‬‬
‫• ﺣﺪس ﮐﺎرﺑﺮ را ﺣﺮف ﺑﻪ ﺣﺮف ﺑﺎ ﮐﻠﻤﻪی اﺻﻠ ﻣﻘﺎﯾﺴﻪ ﻣ ﮐﻨﺪ و ﯾ‬
‫آراﯾﻪ ﺑﻪ ﺷ ﻞ زﯾﺮ ﻣ ﺳﺎزد‪:‬‬
‫ﻣﻘﺪار‬
‫وﺿﻌﯿﺖ‬
‫‪١‬‬
‫در ﺻﻮرﺗ ﮐﻪ ﺟﺎی ﺣﺮف ﻏﻠﻂ ﺑﺎﺷﺪ‬
‫‪٢‬‬
‫‪٠‬‬
‫در ﺻﻮرﺗ ﮐﻪ ﺟﺎی ﺣﺮف درﺳﺖ ﺑﺎﺷﺪ‬
‫در ﺻﻮرﺗ ﮐﻪ ﺣﺮف در ﮐﻠﻤﻪ اﺻﻠ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‬
‫در ﻧﻬﺎﯾﺖ آراﯾﻪی ﺳﺎﺧﺘﻪ ﺷﺪه را در ﻗﺎﻟﺐ ‪ JSON‬و ﺑﻪ ﺷ ﻞ زﯾﺮ در ﭘﺎﺳﺦ درﺧﻮاﺳﺖ ﮐﺎرﺑﺮ ارﺳﺎل‬
‫ﻣ ﮐﻨﺪ‪:‬‬
‫}]‪{'status ':'success ','won ':false ,'state ':[2 ,1 ,0 ,0‬‬
‫• در ﺻﻮرﺗ ﮐﻪ ﭘﺎﺳﺦ ﮐﺎﻣﻼ درﺳﺖ ﺑﻮد‪ ،‬ﺑﻪ ﺷ ﻞ زﯾﺮ ﭘﺎﺳﺦ ﻣ دﻫﺪ‪:‬‬
‫}‪{'status ':'success ','won ':true‬‬
‫• در ﺻﻮرﺗ ﮐﻪ ﺷﻨﺎﺳﻪ ﯾﺎﻓﺖ ﻧﺸﺪ‪ ،‬ﺑﺎ ﺧﻄﺎی زﯾﺮ ﭘﺎﺳﺦ ﻣ دﻫﺪ‪:‬‬
‫}' ‪{'status ':'error ','reason ':'ID not found‬‬
‫‪٣‬‬
‫ﺑﺮﻧﺎﻣﻪی ﺳﻤﺖ ﮐﺎرﺑﺮ‬
‫ﮐﺎرﺑﺮ ﺑﺎﯾﺪ ﺑﻪ ﺷ ﻞ زﯾﺮ ﺑﺘﻮاﻧﺪ ﺑﺎ ﮐﻤ‬
‫راﺑﻂ ﮐﺎرﺑﺮی ﺑﺎزی را اﻧﺠﺎم دﻫﺪ‪:‬‬
‫‪ .١‬ﺑﺎ ﺑﺎرﮔﺬاری ﺻﻔﺤﻪ‪ ،‬درﺧﻮاﺳﺘ ﺑﻪ ﮐﺎرﮔﺰار ﺑﺮای ﯾ ﺑﺎزی ﺟﺪﯾﺪ ﻓﺮﺳﺘﺎده ﺷﻮد‪ .‬ﻫﻤﭽﻨﯿﻦ ﻣ ﺗﻮاﻧﯿﺪ دﮐﻤﻪای‬
‫ﺑﺮای ارﺳﺎل اﯾﻦ درﺧﻮاﺳﺖ ﭘﺲ از ﺑﺎرﮔﺬاری ﺻﻔﺤﻪ‪ ،‬ﻗﺮار دﻫﯿﺪ‪.‬‬
‫‪ .٢‬ﺑﺎ درﯾﺎﻓﺖ اﻃﻼﻋﺎت ﺑﺎزی ﺟﺪﯾﺪ‪ ،‬ﺑﺎﯾﺪ ﺷﻨﺎﺳﻪ ﺑﺮای درﺧﻮاﺳﺖﻫﺎی ﺑﻌﺪی ﻧ ﻪداری ﺷﻮد و ﺑﻪ ﻃﻮل ﻣﺸﺨﺺ‬
‫ﺷﺪه‪ ،‬ﻓﻀﺎ ﺑﺮای وارد ﮐﺮدن ﺣﺪس اﯾﺠﺎد ﺷﻮد‪.‬‬
‫• ﻫﺮ ﮐﺎراﮐﺘﺮ ﺑﺎﯾﺪ ﺟﺪا از ورودی ﮔﺮﻓﺘﻪ ﺷﻮد و ﻧﺒﺎﯾﺪ ﮐﺎرﺑﺮ ﮐﻞ ﮐﻠﻤﻪ را ﯾ ﺠﺎ وارد ﮐﻨﺪ‪.‬‬
‫• ﺑﺮای راﺣﺘ در ﻃﺮاﺣ ﺻﻔﺤﻪ‪ ،‬ﻧﯿﺎزی ﺑﻪ اﺳﺘﻔﺎده از ﺗ >‪ <input‬ﻧﺪارﯾﺪ و ﻣ ﺗﻮاﻧﯿﺪ از ﺻﻔﺖ‬
‫‪ contenteditable‬ﺑﺮای ﻫﺮ ﻋﻨﺼﺮی ﮐﻪ ﻣ ﺧﻮاﻫﯿﺪ‪ ،‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪.‬‬
‫‪ .٣‬ﮐﺎرﺑﺮ ﭘﺲ از وارد ﮐﺮدن ﺣﺪس ﺧﻮد‪ ،‬ﺑﺎﯾﺪ ﺑﺎ ﻓﺸﺮدن ﯾ‬
‫دﮐﻤﻪ‪ ،‬درﺧﻮاﺳﺖ ﺧﻮد را ﺑﺮای ﮐﺎرﮔﺰار ارﺳﺎل ﮐﻨﺪ‪.‬‬
‫• ﭘﺲ از ارﺳﺎل ﺣﺪس ﺑﻪ ﮐﺎرﮔﺰار‪ ،‬ﺑﺎﯾﺪ اﻣ ﺎن ﺗﻐﯿﯿﺮ ﺣﺪس از ﺑﯿﻦ ﺑﺮود‪.‬‬
‫‪ .۴‬ﭘﺲ از درﯾﺎﻓﺖ ﭘﺎﺳﺦ‪ ،‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ وﺿﻌﯿﺖ آن ﺑﺎﯾﺪ ﯾ‬
‫از ﮐﺎرﻫﺎی زﯾﺮ اﻧﺠﺎم ﺷﻮد‪:‬‬
‫• در ﺻﻮرﺗ ﮐﻪ ﺧﻄﺎﯾ رخ داده ﺑﻮد‪ ،‬ﺑﺎﯾﺪ ﺑﻪ ﮐﺎرﺑﺮ ﻧﺸﺎن داده ﺷﻮد‪.‬‬
‫• در ﺻﻮرﺗ ﮐﻪ ﺑﺎزی ﺗﻤﺎم ﺷﺪه ﺑﻮد‪ ،‬ﺑﺎﯾﺪ ﮐﻞ ﻣﺤﺘﻮای ﺻﻔﺤﻪ ﺣﺬف ﺷﺪه و ﭘﯿﻐﺎﻣ ﻣﺒﻨ ﺑﺮ ﺑﺮﻧﺪه ﺷﺪن‬
‫ﮐﺎرﺑﺮ ﺑﻪ ﺟﺎی آن ﻧﻮﺷﺘﻪ ﺷﺪ‪.‬‬
‫• در ﺻﻮرﺗ ﮐﻪ ﭘﺎﺳﺦ ﺷﺎﻣﻞ آراﯾﻪای از وﺿﻌﯿﺖ ﺣﺪس ﻗﺒﻠ ﺑﻮد‪ ،‬ﺳﻄﺮ ﺟﺪﯾﺪی ﺑﺎﯾﺪ ﺑﺮای وارد ﮐﺮدن ﯾ‬
‫ﺣﺪس ﺟﺪﯾﺪ اﯾﺠﺎد ﺷﻮد و ﺣﺮوف ﺳﻄﺮ ﻗﺒﻞ‪ ،‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻘﺎدﯾﺮ ﻣﻮﺟﻮد در آراﯾﻪ‪ ،‬ﺑﻪ رﻧ ﻫﺎی ﺟﺪول‬
‫زﯾﺮ ﺗﻐﯿﯿﺮ ﮐﻨﻨﺪ‪:‬‬
‫رﻧ‬
‫ﻣﻘﺪار‬
‫ﺳﺒﺰ‬
‫‪٢‬‬
‫ﻗﺮﻣﺰ‬
‫‪٠‬‬
‫زرد‬
‫‪١‬‬
‫ﻧﻤﻮﻧﻪای از اﯾﻦ راﺑﻂ ﮐﺎرﺑﺮی را در ﺷ ﻞ ‪ ٣‬ﻣ ﺗﻮاﻧﯿﺪ ﺑﺒﯿﻨﯿﺪ‪.‬‬
‫ﺷ ﻞ ‪ :٣‬ﻧﻤﻮﻧﻪای از راﺑﻂ ﮐﺎرﺑﺮی‬
‫‪۴‬‬
‫ﻧ ﺎت ﻧﻬﺎﯾ‬
‫• ﺻﻔﺤﻪای ﮐﻪ ﻃﺮاﺣ ﻣ ﮐﻨﯿﺪ ﺑﺎﯾﺪ ﺑﻪ درﺳﺘ در ﻣﺮورﮔﺮ ﮐﺮوم ﻗﺎﺑﻞ ﻧﻤﺎﯾﺶ ﺑﺎﺷﺪ‪ .‬ﭘﺸﺘﯿﺒﺎﻧ از ﻣﺮورﮔﺮﻫﺎی‬
‫دﯾ ﺮ اﺧﺘﯿﺎری اﺳﺖ‪.‬‬
‫• ﮐﺪ ﺳﻤﺖ ﮐﺎرﮔﺰار را ﺑﺎﯾﺪ ﺑﺎ زﺑﺎن ﭘﺎﯾﺘﻮن ﭘﯿﺎدهﺳﺎزی ﮐﻨﯿﺪ‪ .‬در اﯾﻦ ﺑﺨﺶ ﻓﻘﻂ از ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎی ﺗﻮﮐﺎر ﭘﺎﯾﺘﻮن‬
‫ﻣ ﺗﻮاﻧﯿﺪ اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬ﺑﺮای ﺑﺮﻧﺎﻣﻪی ﺳﻤﺖ ﮐﺎرﺑﺮ ﻣﺠﺎز ﺑﻪ اﺳﺘﻔﺎده از ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎی ﺟﺎﻧﺒ ﻫﺴﺘﯿﺪ‪.‬‬
‫• از ﺑﺎﻻ آوردن ﺳﺎﯾﺖ ﺧﻮد ﺑﺮ روی ﻫﺮ ﮔﻮﻧﻪ آدرس ﻋﻤﻮﻣ ﺗﺎ ﻗﺒﻞ از ﻣﻮﻋﺪ ﺗﺤﻮﯾﻞ ﺗﻤﺮﯾﻦ ﺧﻮدداری ﮐﻨﯿﺪ‪.‬‬
‫• ﺳﻮاﻻت ﺧﻮد را در ﺳﺎﯾﺖ ﭘﯿﺎﺗﺰا ﻣﻄﺮح ﮐﻨﯿﺪ‪.‬‬
‫‪۵‬‬