ﺑﻪ ﻧﺎم ﺧﺎﻟﻖ ﻫﺴﺘﻲ ﺑﻪ ﻳﺎد ﺳﺎﻻر ﺷﻬﻴﺪان ﺑﺮﻧﺎﻣﻪﺳﺎزي ﭘﻴﺸﺮﻓﺘﻪ Advanced Programming داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺪرس :آرش ﺗﻮﻛﻞ ﺗﻌﺮﻳﻒ ﭘﺮوژه ﭘﺎﻳﺎﻧﻲ ﻗﺒﻞ از ﻣﻄﺎﻟﻌﻪي ﺗﻮﺿﻴﺤﺎت ﭘﺮوژه ﻟﻄﻔﺎ ﻣﻮارد زﻳﺮ را ﺑﻪ دﻗﺖ ﻣﻄﺎﻟﻌﻪ ﻛﻨﻴﺪ: • ﻣﻲﺗﻮاﻧﻴﺪ ﭘﺮوژه را در ﮔﺮوهﻫﺎي ﺗﻚ ﻧﻔﺮه ﻳﺎ دو ﻧﻔﺮه اﻧﺠﺎم ﺑﺪﻫﻴﺪ .اﺳﺎﻣﻲ اﻋﻀﺎي ﮔﺮوه ﺑﺎﻳﺪ ﺑﻮﺳﻴﻠﻪي ﻧﺎﻣﻪ اﻟﻜﺘﺮوﻧﻴﻚ ﺣﺪاﻛﺜﺮ ﺗﺎ ﺳﺎﻋﺖ 9ﺷﺐ ﻳﻜﺸﻨﺒﻪ 1391/9/12ﺑﻪ آدرس [email protected]ارﺳﺎل ﺷﻮد .ﻋﻨﻮان ﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺎﻳﺪ »اﻋﻀﺎي ﮔﺮوه« ﺑﺎﺷﺪ و ﻣﺘﻦ آن ﻧﺎم و ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ اﻋﻀﺎي ﮔﺮوه .اﻓﺮادي ﻛﻪ در ﻣﻬﻠﺖ ﻣﻘﺮر اﺳﺎﻣﻲ آﻧﻬﺎ در ﻫﻴﭻ ﮔﺮوﻫﻲ ﻗﺮار ﻧﮕﺮﻓﺘﻪ ﺑﺎﺷﺪ ،ﺑﺎﻳﺪ ﺑﻪ ﺻﻮرت ﺗﻚ ﻧﻔﺮه ﭘﺮوژه ﺧﻮد را اﻧﺠﺎم ﺑﺪﻫﻨﺪ. • ﻣﻬﻠﺖ ارﺳﺎل ﻣﺴﺘﻨﺪات و ﻧﺘﺎﻳﺞ ﻓﺎز اول ﺣﺪاﻛﺜﺮ ﺗﺎ ﺳﺎﻋﺖ 9ﺷﺐ ﺳﻪﺷﻨﺒﻪ 91/9/21اﺳﺖ. oﻣﺴﺘﻨﺪات و ﻧﺘﺎﻳﺞ را در ﻳﻚ ﭘﻮﺷﻪ ﺑﺎ ﻧﺎم Project_Phase1_stdID1_stdID2ﻗﺮار دﻫﻴﺪ و آن را ﻓﺸﺮده ﻛﻨﻴﺪ. oدﻗﺖ ﻛﻨﻴﺪ ﻛﻪ ﻫﺮ ﻧﻮع ﻓﺎﻳﻞ اﺟﺮاﻳﻲ ) (.exeرا از اﻳﻦ ﭘﻮﺷﻪ ﺣﺬف ﻛﻨﻴﺪ .در ﻏﻴﺮ اﻳﻦ ﺻﻮرت ﻧﺎﻣﻪ ﺷﻤﺎ ﺑﻪ ﻃﻮر ﺧﻮدﻛﺎر ﺗﻮﺳﻂ ﮔﻮﮔﻞ ﺑﺮﮔﺸﺖ داده ﻣﻲﺷﻮد. oﻓﺎﻳﻞ ﻓﺸﺮده ﺷﺪه را در ﻧﺎﻣﻪاي ﺑﺎ ﻋﻨﻮان »ﻣﺴﺘﻨﺪات ﻓﺎز اول ﭘﺮوژه +ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ اﻋﻀﺎي ﮔﺮوه« ﺑﻪ آدرس [email protected]ارﺳﺎل ﻛﻨﻴﺪ. oﺗﻤﺎم ﻣﺴﺘﻨﺪات ارﺳﺎل ﺷﺪه ﺑﻌﺪ از ﺳﺎﻋﺖ 9ﺷﺐ ﻣﺸﻤﻮل ﻳﻚ روز ﺗﺄﺧﻴﺮ ﺧﻮاﻫﻨﺪ ﺷﺪ. • ﻣﻬﻠﺖ ارﺳﺎل ﻣﺴﺘﻨﺪات و ﻧﺘﺎﻳﺞ ﻓﺎز دوم ﺣﺪاﻛﺜﺮ ﺗﺎ ﺳﺎﻋﺖ 9ﺷﺐ ﺳﻪﺷﻨﺒﻪ 91/11/3اﺳﺖ. oﻣﺴﺘﻨﺪات و ﻧﺘﺎﻳﺞ را در ﻳﻚ ﭘﻮﺷﻪ ﺑﺎ ﻧﺎم Project_Phase2_stdID1_stdID2ﻗﺮار دﻫﻴﺪ و آن را ﻓﺸﺮده ﻛﻨﻴﺪ. oدﻗﺖ ﻛﻨﻴﺪ ﻛﻪ ﻫﺮ ﻧﻮع ﻓﺎﻳﻞ اﺟﺮاﻳﻲ ) (.exeرا از اﻳﻦ ﭘﻮﺷﻪ ﺣﺬف ﻛﻨﻴﺪ .در ﻏﻴﺮ اﻳﻦ ﺻﻮرت ﻧﺎﻣﻪ ﺷﻤﺎ ﺑﻪ ﻃﻮر ﺧﻮدﻛﺎر ﺗﻮﺳﻂ ﮔﻮﮔﻞ ﺑﺮﮔﺸﺖ داده ﻣﻲﺷﻮد. oﻓﺎﻳﻞ ﻓﺸﺮده ﺷﺪه را در ﻧﺎﻣﻪاي ﺑﺎ ﻋﻨﻮان »ﻣﺴﺘﻨﺪات ﻓﺎز دوم ﭘﺮوژه +ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ اﻋﻀﺎي ﮔﺮوه« ﺑﻪ آدرس [email protected]ارﺳﺎل ﻛﻨﻴﺪ. • ﺗﺎرﻳﺦ ﺗﺤﻮﻳﻞ ﺣﻀﻮري ﻫﺮ دو ﻓﺎز ﻣﺘﻌﺎﻗﺒﺎً اﻋﻼم ﺧﻮاﻫﺪ ﺷﺪ. • درﺧﻂ اول ﻫﺮﻳﻚ از ﻓﺎﻳﻠﻬﺎي ﻛﺪ ) .hﻳﺎ (.cppﺑﺎﻳﺪ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ اﻋﻀﺎي ﮔﺮوه در ﻗﺎﻟﺐ زﻳﺮ ﻧﻮﺷﺘﻪ ﺷﻮد: //IDs: First Member Student ID, Second Member Student ID • • • • ﻧﻮﺷﺘﻦ ﺗﻮﺿﻴﺤﺎت ﺑﺮاي ﻗﺴﻤﺖﻫﺎي ﻣﺨﺘﻠﻒ ﻛﺪ و ﻧﺎمﮔﺬاري ﻣﻨﺎﺳﺐ ﻣﺘﻐﻴﺮﻫﺎ ،ﻛﻼسﻫﺎ و ﺗﻮاﺑﻊ اﺻﻠﻲ را ﻓﺮاﻣﻮش ﻧﻜﻨﻴﺪ .اراﺋﻪي ﺗﻮﺿﻴﺤﺎت درون ﻛﺪ ﺑﺨﺶ ﻣﻬﻤﻲ از ﻧﻤﺮه ﭘﺮوژه ﺷﻤﺎ را ﺗﺸﻜﻴﻞ ﻣﻲدﻫﺪ. ﺑﻪ ازاي ﻫﺮ روز ﺗﺄﺧﻴﺮ در ارﺳﺎل ﻣﺴﺘﻨﺪات ﻓﺎزﻫﺎ %20 ،ازﻧﻤﺮه ﻛﻞ ﻫﺮ ﻓﺎز ﻛﺴﺮ ﺧﻮاﻫﺪ ﺷﺪ. ﻫﺮﮔﻮﻧﻪ ﺗﺸﺎﺑﻪ ﻏﻴﺮ ﻣﻨﻄﻘﻲ )!!!( ﻳﺎ ﺗﻘﻠﺐ در ﺗﻮﻟﻴﺪ ﻣﺴﺘﻨﺪات و ﻛﺪﻫﺎي ﭘﺮوژه ﺳﺒﺐ از دﺳﺖ دادن ﺗﻤﺎم ﻧﻤﺮه ﭘﺮوژه و ﺿﺮب ﺷﺪن ﻧﻤﺮه ﻛﻞ ﺷﻤﺎ در 0,75ﺧﻮاﻫﺪ ﺷﺪ. ﻫﺮﮔﻮﻧﻪ ﺳﺆال در ﻣﻮرد ﭘﺮوژه را ﺑﺎﻋﻨﻮان »ﭘﺮوژه« ﺑﻪ آدرس ﮔﺮوه ارﺳﺎل ﻛﻨﻴﺪ. [email protected] ﻟﻄﻔﺎ ﺑﻪ ﺑﺮﻧﺎﻣﻪ زﻣﺎنﺑﻨﺪي دﻗﺖ ﻛﻨﻴﺪ: ﻓﺎز ﺗﻌﻴﻴﻦ اﻋﻀﺎي ﮔﺮوه ﺗﺤﻮﻳﻞ اﻟﻜﺘﺮوﻧﻴﻚ ﻣﺴﺘﻨﺪات ﻓﺎز اول ﻣﺴﺘﻨﺪات ﻗﺎﺑﻞ ﺗﺤﻮﻳﻞ • ﻧﺎم و ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ اﻋﻀﺎي ﮔﺮوه • • UML Class Diagram UML Activity Diagram ﺗﺎرﻳﺦ 9ﺷﺐ ﻳﻜﺸﻨﺒﻪ • 1391/9/12ﺑﺎﻳﺪ ﭘﺮوژه را ﺑﻪ ﺻﻮرت اﻧﻔﺮادي اﻧﺠﺎم ﺑﺪﻫﻴﺪ. 9ﺷﺐ ﺳﻪﺷﻨﺒﻪ 1391/9/21 • ﻫﺮ روز ﺗﺄﺧﻴﺮ ﺳﺒﺐ ﻛﺴﺮ %20از ﻧﻤﺮهي اﻳﻦ ﻓﺎز ﻣﻲﺷﻮد 9ﺷﺐ ﺳﻪﺷﻨﺒﻪ 1391/11/3 • ﻫﺮ روز ﺗﺄﺧﻴﺮ ﺳﺒﺐ ﻛﺴﺮ %20از ﻧﻤﺮهي اﻳﻦ ﻓﺎز ﻣﻲﺷﻮد • ﭘﻴﺎدهﺳﺎزي ﻛﻼسﻫﺎ و ﻣﻨﻄﻖ ﻛﻠﻲ ﭘﺮوژه ﺑﺪون واﺳﻂ ﮔﺮاﻓﻴﻜﻲ ﺗﺤﻮﻳﻞ اﻟﻜﺘﺮوﻧﻴﻚ ﻣﺴﺘﻨﺪات ﻓﺎز دوم • ﻛﺪ ﻛﺎﻣﻞ ﭘﺮوژه ﺷﺎﻣﻞ: oواﺳﻂ ﮔﺮاﻓﻴﻜﻲ ﻛﺎرﺑﺮ oﭘﻴﺎدهﺳﺎزي ﻛﺎﻣﻞ ﻣﻨﻄﻖ ﺑﺎزي oﭘﻴﺎدهﺳﺎزي ﻋﺎﻣﻞ ﺑﺎزي ﺧﻮدﻛﺎر oﭘﻴﺎدهﺳﺎزي اﻣﻜﺎن ذﺧﻴﺮه و ﺑﺎرﮔﺬاري ﺑﺎزي • دﻳﺎﮔﺮاﻣﻬﺎي ﻃﺮاﺣﻲ در ﺻﻮرت اﻳﺠﺎد ﺗﻐﻴﻴﺮ در ﺳﺎﺧﺘﺎر ﻛﻼسﻫﺎ و ﻣﻨﻄﻖ ﺑﺮﻧﺎﻣﻪ ﻧﺘﻴﺠﻪ ﺗﺄﺧﻴﺮ • ﻋﺪم ﺗﺤﻮﻳﻞ ﻣﺴﺘﻨﺪات ﻓﺎز دوم ﺳﺒﺐ ﻣﺮدودي ﺷﻤﺎ در درس ﺧﻮاﻫﺪ ﺷﺪ ﭘﻴﺎده ﺳﺎزي ﺑﺎزي ﺷﻄﺮﻧﺞ ﻫﺪف از اﻧﺠﺎم اﻳﻦ ﭘﺮوژه ،ﻃﺮاﺣﻲ و ﭘﻴﺎدهﺳﺎزي ﻳﻚ ﻧﺮماﻓﺰار ﮔﺮاﻓﻴﻜﻲ ﺑﺮاي اﺟﺮاي ﺑﺎزي ﺷﻄﺮﻧﺞ اﺳﺖ .ﻣﻨﻄﻖ اﻳﻦ ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ ﺑﺎ اﺳﺘﻔﺎده از اﻣﻜﺎﻧﺎت ﺷﻲءﮔﺮاﻳﻲ ﭘﻴﺎدهﺳﺎزي ﺷﻮد .در ﻃﺮاﺣﻲ ﻛﻼسﻫﺎ و رواﺑﻂ ﺑﻴﻦ آﻧﻬﺎ ﺑﺎﻳﺪ اﺻﻮل ﺷﻲء ﮔﺮاﻳـﻲ )ﭼﻨﺪرﻳﺨﺘﻲ ،وراﺛﺖ و (Encapsulationدر ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه ﺑﺎﺷﺪ .ﺗﻮﺿﻴﺤﺎت ﺑﻴﺸﺘﺮ در اداﻣﻪ ﻣﻲآﻳﺪ. ﻣﻘﺮرات ﺑﺎزي .1ﺗﻤﺎم ﻣﻬﺮهﻫﺎي ﺷﻄﺮﻧﺞ ،ﻣﺸﺨﺼﺎت ﺻﻔﺤﻪي ﺷﻄﺮﻧﺞ و ﻣﻜﺎن اوﻟﻴﻪي ﻣﻬﺮهﻫﺎ ﺑﺎﻳﺪ ﻣﻄﺎﺑﻖ ﺑﺎ ﻗﻮاﻧﻴﻦ اراﺋﻪ ﺷﺪه در ﻣﺎدهي 2در ﻣﺮﺟﻊ ] [1ﭘﻴﺎدهﺳﺎزي ﺷﻮﻧﺪ. .2ﺗﻤﺎم ﺣﺮﻛﺖﻫﺎي ﻗﺎﻧﻮﻧﻲ ﺑﺎزي ﺷﻄﺮﻧﺞ ﺑﺮاي ﺗﻤﺎم ﻣﻬﺮهﻫﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد. أ .ﺑﺮاي اﻃﻼع از اﻧﻮاع ﺣﺮﻛﺖﻫﺎي ﻗﺎﻧﻮﻧﻲ ﻫﺮ ﻣﻬﺮه ﺑﻪ ﻣﺎدهي 3در ﻣﺮﺟﻊ ] [1ﻣﺮاﺟﻌﻪ ﻛﻨﻴﺪ. ب .ﻣﺤﺪودﻳﺖ ﻫﺎي ﺣﺮﻛﺖ ﻫﺮ ﻣﻬﺮه را دﻗﻴﻘﺎ ﻣﻄﺎﺑﻖ ﻣﺎدهي 3ﭘﻴﺎدهﺳﺎزي ﻛﻨﻴـﺪ) .ﻣـﺜﻼ ﺣﺮﻛـﺖ »ﻗﻠﻌـﻪ رﻓﺘﻦ« ،اﻧﻮاع ﻣﺨﺘﻠﻒ آن و ﺷﺮاﻳﻄﻲ ﻛﻪ اﻳﻦ ﺣﺮﻛﺖ ﻣﻲ ﺗﻮاﻧﺪ اﻧﺠﺎم ﺷﻮد(. .3ﻫﻤﻪي ﺷﺮاﻳﻂ ﻣﻤﻜﻦ ﺑﺮاي ﭘﺎﻳﺎن ﻳﺎﻓﺘﻦ ﺑﺎزي را ﻣﻄﺎﺑﻖ ﺑﺎ ﺗﻮﺿﻴﺤﺎت ﻣﺎدهي 5از ﻣﺮﺟﻊ ] [1ﭘﻴﺎدهﺳﺎزي ﻛﻨﻴﺪ. اﻟﺒﺘﻪ در ﻣﺎدهي 5ﺑﺮﺧﻲ از ﻗﻮاﻋﺪ ﺑﻪ ﺻﻮرت ﻏﻴﺮ اﺟﺒﺎري اﻳﺮاد ﺷﺪه ،اﻣﺎ ﺷﻤﺎ ﻫﻤـﻪي آﻧﻬـﺎ را اﺟﺒـﺎري در ﻧﻈـﺮ ﺑﮕﻴﺮﻳﺪ. ﻣﺜﺎل اول :اﮔﺮ ﭘﻮزﻳﺴﻴﻮﻧﻰ ﻳﻜﺴﺎن ،ﺣﺪاﻗﻞ ﺳﻪ ﺑﺎر )ﻧﻪ ﻟﺰوﻣﺎً ﺑﺎ ﺗﻜﺮار ﻣﺘﻮاﻟﻰ ﺣﺮﻛﺘﻬﺎ( ﺗﻜﺮار ﺷﻮد ،ﺑﺎزي ﻣﻲﺗﻮاﻧﺪ ﻣﺴﺎوي ﺷﻮد .اﻳﻦ ﻗﺎﻋﺪه را ﺷﺮط ﺣﺘﻤﻲ ﭘﺎﻳﺎن ﺑﺎزي در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ و از ﻗﻴﺪ »ﻣﻲﺗﻮاﻧﺪ« ﺻﺮﻓﻨﻈﺮ ﻛﻨﻴﺪ. .4اﻣﻜﺎن ﺑﺎزي زﻣﺎندار و ﺑﺪون زﻣﺎن را ﻓﺮاﻫﻢ ﻛﻨﻴﺪ ) .ﺑﺮاي ﻣﺜﺎل در اﺑﺘﺪا زﻣﺎن ﻣﺸﺨﺼﻲ ﺑﺮاي ﻛﻞ ﺑﺎزي ﺗﻌﻴـﻴﻦ ﺷﻮد و ﻫﺮﮔﺎه زﻣﺎن ﺑﺎزﻳﻜﻨﻲ ﺑﻪ اﺗﻤﺎم ﺑﺮﺳﺪ ،ﺑﺎزي را واﮔﺬار ﻣﻲ ﻛﻨﺪ(. ﻣﺸﺨﺼﺎت ﻧﺮماﻓﺰار ﺷﻤﺎ .1ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﻳﺪ ﺑﺎ اﺳﺘﻔﺎده از Windows Formsﻣﺤﻴﻂ ﮔﺮاﻓﻴﻜﻲ ﻻزم را ﺑﺮاي ﺑﺎزي ﻓﺮاﻫﻢ ﻛﻨﺪ .ﺧﺼﻮﺻﻴﺎت اﻳﻦ ﻣﺤﻴﻂ ﮔﺮاﻓﻴﻜﻲ در اداﻣﻪ ﻣﻲآﻳﺪ: • ﻣﻮﻗﻌﻴﺖ ﺟﺎري ﻣﻬﺮهﻫﺎ در ﺻﻔﺤﻪ ﺷﻄﺮﻧﺞ ﺑﺎﻳﺪ در ﻫﺮ ﻟﺤﻈﻪ از ﺑﺎزي ﻣﺸﺨﺺ ﺑﺎﺷﺪ. • زﻣﺎن ﻫﺮ ﺑﺎزﻳﻜﻦ ﺑﺎﻳﺪ ﻧﺸﺎن داده ﺷﻮد. • در ﻫﺮ ﻟﺤﻈﻪ از ﺑﺎزي ﺑﺎﻳﺪ ﺑﺎزﻳﻜﻨﻲ ﻛﻪ ﻧﻮﺑﺖ ﺣﺮﻛﺖ ﺑﺎ اوﺳﺖ ،ﻣﺸﺨﺺ ﺷﻮد. • اﻣﻜﺎن ﺣﺮﻛﺖ ﻣﻬﺮهﻫﺎ ﺑﻮﺳﻴﻠﻪ ﻣﻮس و ﻛﻴﺒﺮد وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. • ﺑﺮاي ﺷﻜﻞ ﻇﺎﻫﺮي ﻣﻬﺮهﻫﺎ و ﺻﻔﺤﻪي ﺷﻄﺮﻧﺞ ﻫﻴﭻ اﺟﺒﺎري ﻧﺪارﻳﺪ .ﺣﺘﻲ ﻣﻲﺗﻮاﻧﻴﺪ ﺑﻪ ﺟﺎي ﺷﻜﻞ ،از ﻣﺘﻦ اﺳﺘﻔﺎده ﻛﻨﻴﺪ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل از ﻛﻠﻤﻪي »ﺷﺎه« ﻳﺎ » «kingﺑﺮاي ﻣﻬﺮهي ﺷﺎه اﺳﺘﻔﺎده ﻛﻨﻴﺪ .اﻣـﺎ ﺑﻪ ﭘﻴﺎدهﺳﺎزيﻫﺎي ﺑﻬﺘﺮ و ﭘﻴﺸﺮﻓﺘﻪﺗﺮ )اﺳﺘﻔﺎده از Qtﻳﺎ (OpenGLﻧﻤﺮهي ﺗﺸﻮﻳﻘﻲ ﺗﻌﻠﻖ ﻣﻲﮔﻴﺮد. .2ﺑﺎزي ﺑﺎﻳﺪ ﺑﻪ دو ﺻﻮرت اﻧﺠﺎم ﺷﻮد: • دو ﺣﺮﻳﻒ واﻗﻌﻲ :ﻳﻌﻨﻲ دو ﺣﺮﻳﻒ واﻗﻌﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺑﺎزي ﻣﻲﻛﻨﻨﺪ و ﺑﺮﻧﺎﻣـﻪ ﻓﻘـﻂ وﺿـﻌﻴﺖ ﻛﻨـﻮﻧﻲ ﻣﻬﺮهﻫﺎ و ﺣﺮﻛﺖﻫﺎي ﻣﺠﺎز را ﻛﻨﺘﺮل ﻣﻲﻛﻨﺪ. • ﻳﻚ ﺣﺮﻳﻒ واﻗﻌﻲ و ﻛﺎﻣﭙﻴﻮﺗﺮ :ﻳﻌﻨﻲ ﻳﻚ ﺣﺮﻳﻒ واﻗﻌﻲ ﺑﺎ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺎزي ﻣﻲﻛﻨﺪ .ﺑﺮاي اﻳﻦ ﺣﺎﻟـﺖ ﺑﺎﻳﺪ ﻳﻚ ﻋﺎﻣﻞ )ﻳﻚ ﻛﻼس ﻳﺎ ﻳﻚ ﺗﺎﺑﻊ( ﭘﻴﺎدهﺳﺎزي ﺷﻮد ﻛﻪ ﺗﻮاﻧﺎﻳﻲ اﻧﺠﺎم ﺣﺮﻛﺖ ﻣﻨﺎﺳﺐ )ﻧﻪ ﻟﺰوﻣـﺎ ﻫﻮﺷﻤﻨﺪاﻧﻪ( را داﺷﺘﻪ ﺑﺎﺷﺪ .ﻫﻤﭽﻨﻴﻦ ﺑﺎﻳﺪ از اﻣﻜﺎﻧـﺎت رﻳﺴـﻪﻫـﺎ ) (pthreadﻫـﻢ اﺳـﺘﻔﺎده ﻛﻨﻴـﺪ ﺗـﺎ ﺻﻔﺤﻪي ﺷﻄﺮﻧﺞ در ﺣﻴﻦ ﻣﺤﺎﺳﺒﻪ ﺣﺮﻛﺖ ﺗﻮﺳﻂ ﻋﺎﻣﻞ در دﺳﺘﺮس ﺑﺎﺷﺪ .اﮔﺮ ﺣﺮﻛﺎت ﻋﺎﻣﻞ ﺗـﺎ ﺣـﺪ ﻣﻨﺎﺳﺒﻲ ﻫﻮﺷﻤﻨﺪ ﺑﺎﺷﺪ ،ﻧﻤﺮهي ﺗﺸﻮﻳﻘﻲ ﺑﻪ ﺷﻤﺎ ﺗﻌﻠﻖ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ. .3اﻣﻜﺎن ﺑﺮﮔﺸﺖ ﺑﻪ ﺣﺮﻛﺖ ﻗﺒﻠﻲ )ﺗﺎ 6ﺣﺮﻛﺖ ﺑﺮاي ﻫﺮ ﺑﺎزﻳﻜﻦ( وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. .4ﺑﺎ اﻧﺘﺨﺎب ﻫﺮ ﻣﻬﺮه ﺗﻤﺎم ﺣﺮﻛﺖﻫﺎي ﻣﻤﻜﻦ ﺑﺮاي آن ﻣﻬﺮه ﻣﺸﺨﺺ ﺷﻮد .ﻣﻲﺗﻮاﻧﻴﺪ اﻳﻦ ﻣﺸﺨﺼﻪ را ﺑـﺎ ﺗﻐﻴﻴـﺮ رﻧﮓ ﺧﺎﻧﻪ ﻫﺎي ﺻﻔﺤﻪ ﺷﻄﺮﻧﺞ اﻧﺠﺎم دﻫﻴﺪ ،اﻣﺎ اﺟﺒﺎري در ﺑﻜﺎرﮔﻴﺮي ﺗﻐﻴﻴﺮ رﻧﮓ ﻧﻴﺴﺖ. .5ﺑﺎﻳﺪ اﻣﻜﺎن ذﺧﻴﺮه وﺿﻌﻴﺖ ﻛﻨﻮﻧﻲ ﺻﻔﺤﻪ ﺷﻄﺮﻧﺞ و ﺑﺎرﮔﺬاري ﻣﺠﺪد آن وﺟـﻮد داﺷـﺘﻪ ﺑﺎﺷـﺪ .ﺑـﺪﻳﻦ ﺗﺮﺗﻴـﺐ ﺑﺎزﻳﻜﻨﺎن ﻣﻲﺗﻮاﻧﻨﺪ ﺑﺎزي ﺧﻮد را در ﻳﻚ ﻧﻘﻄﻪ ﻣﺘﻮﻗﻒ ﻛﺮده و در آﻳﻨﺪه ﺑﺎ ﺑﺎرﮔﺬاري ﻣﺠﺪد آن ،ﺑﻪ ﺑـﺎزي اداﻣـﻪ ﺑﺪﻫﻨﺪ. ﻣﺴﺘﻨﺪات ﻗﺎﺑﻞ ﺗﺤﻮﻳﻞ در ﻫﺮ ﻓﺎز ﻓﺎز اول ﻛﻼسﻫﺎ و ﺗﻮاﺑﻊ ﻻزم ﺑﺮاي ﻣﻬﺮهﻫﺎ ،ﺻﻔﺤﻪ ﺷﻄﺮﻧﺞ و ﻫﺪاﻳﺖ ﺟﺮﻳﺎن ﺑﺎزي ﺑﺎﻳﺪ ﻃﺮاﺣﻲ و ﭘﻴﺎدهﺳﺎزي ﺷﻮﻧﺪ .در اﻳﻦ ﻓﺎز ﺑﺎﻳﺪ ﻣﺴﺘﻨﺪات و ﺧﺮوﺟﻲﻫﺎي زﻳﺮ ﺗﺤﻮﻳﻞ داده ﺷﻮﻧﺪ: • ﻣﺪل ﻛﻼسﻫﺎ و ﻧﺤﻮهي ارﺗﺒﺎط آﻧﻬﺎ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺗﻮﺳﻂ .UML Class Diagram • ﻣﻨﻄﻖ ﺑﺮﻧﺎﻣﻪ ﻛﻪ ﺑﻪ ﻛﻤﻚ UML Activity Diagramﻣﺪل ﺷﺪه ﺑﺎﺷﺪ. • ﭘﻴﺎدهﺳﺎزي ﻛﻼسﻫﺎي و ﺑﺨﺶﻫﺎي زﻳﺮ: ﻛﻼسﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻬﺮهﻫﺎ ﻛﻼسﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺻﻔﺤﻪي ﺷﻄﺮﻧﺞ ﺗﻮاﺑﻊ ﻳﺎ ﻛﻼسﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻫﺪاﻳﺖ ﺟﺮﻳﺎن ﺑﺎزي ﻧﻜﺘﻪي ﻣﻬﻢ :ﺑﺎﻳﺪ ﻃﺮاﺣﻲ و ﭘﻴﺎدهﺳﺎزي ﻛﻼسﻫﺎي ﭘﺎﻳﻪ را ﺑﻪ ﮔﻮﻧﻪاي اﻧﺠﺎم ﺑﺪﻫﻴﺪ ﻛﻪ در ﻓﺎز دوم دﭼﺎر ﻣﺸﻜﻞ ﻧﺸﻮﻳﺪ .ﺗﻐﻴﻴﺮات ﻳﻚ ﻛﻼس در ﻓﺎز دوم ﺣﺪاﻛﺜﺮ ﻣﻲﺗﻮاﻧﺪ ﺗﺎ %20ﺑﺎﺷﺪ. ﻓﺎز دوم ﺑﺮﻧﺎﻣﻪي ﻧﻬﺎﻳﻲ ﻛﻪ ﺷﺎﻣﻞ ﺑﺨﺶﻫﺎي زﻳﺮ اﺳﺖ: oواﺳﻂ ﮔﺮاﻓﻴﻜﻲ ﻛﺎرﺑﺮ oﻫﺪاﻳﺖ درﺳﺖ ﺟﺮﻳﺎن ﺑﺎزي oﻋﺎﻣﻞ ﺑﺎزي ﺧﻮدﻛﺎر oوﺿﻌﻴﺖ دو رﻳﺴﻪاي ﺑﺮاي ﺑﺎزي ﺑﺎ ﻛﺎﻣﭙﻴﻮﺗﺮ oﻣﻜﺎﻧﻴﺰم ذﺧﻴﺮهﺳﺎزي و ﺑﺎرﮔﺬاري وﺿﻌﻴﺖ ﺑﺎزي ﻧﻤﻮدارﻫﺎي ﻃﺮاﺣﻲ ) Class Diagramو (Activity Diagramدر ﺻﻮرﺗﻴﻜﻪ ﺗﻐﻴﻴﺮي در آﻧﻬﺎ ﺑﻮﺟﻮد آﻣﺪه ﺑﺎﺷﺪ. : ﻣﺮﺟﻊ [1] http://www.iranchess.ir/rules.html ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ ر 32ن دﯾ7 86ا 7ا دارد رو دل روان 8دارد از )* +,3 .980ش ' ا& 66 $%د5 >3و< 67 89 66د ،ا 23 4دارد 4 H $Iد EF3 8د و دو ذ .9@3 B Mاز NO 7 580 K Lدارد Vرو را< دﯾر 66 R6S ،$TU6 Y9 ا] و \< [ 23 .9 $دارد e4 6 d ab ab _ K c +ghرود `ل ' `ل Eب Yn $ o6داl )mو $kﯾ jا دارد ر wو rراج 80م tن r ' c8را)mH Rq y3 z ${| ' rاز 7رﯾ دارد ّ Hدن ا80 c8م د72ر 7د و ~51 89 ور ا $ K $TO80 $ Lروا دارد 3 89وران ،ا ن رhرش و$ tن 44رو 89 zاز *)ا دارد ' 89چ ز67 Lد< ،را< l d9اق dn $Iﯾ) د ) )6 zا دارد او و )6را 7 )N 89دا و$ ن ' دل از 7ن $و دارد د¡ $ R6Nا4ن و دو $ R6E و )¤ا ¢ ،)N 89 £دو rدارد ¨§8ت \ل [) $¥ع( 58 5789 \ب د د¡Nن 5²6 +´µ6 °ز4ن از 7 ¯ 4رت dnدارد )N $I jت و \زاد ·4 r ¹ $ºدارد ½ د \ .9 R6ب )N» $Iد ' رو ا¾¿À c8 داور Á $ $I7 à ¹دارد )Ç3از K +´Ä4 R6Æو د< Kا] ا 5و ن ËÌ دل Ã Í &dÎر d9¿Êدارد ×ز Ô71ا 5و ' دل °زÑ A .Óن ز +ÏÐا 7ش .9[ Íاز 7ر و 7ا دارد د )Û A» +ÏÜ 8 8Þ\ 5دﯾ)م 72ز دم N_\ $â 4ß4áدارد 7 4äﯾ) 7ش 8دم à rا )ãاز )ا | åæ ' .9 L363دﯾ)م د[ دارد 9ì í6À ا] 4éê . ' » 7ﯾر )mرj î7 Lا{ $ $رﯾ دارد
© Copyright 2026 Paperzz