ﺑﺎﺳﻤﻪ ﺗﻌﺎﻟ ﻣﺒﺎﻧ ﺑﺮﻧﺎﻣﻪﺳﺎزی داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﺪرس :اﻧﺘﻈﺎریﻣﻠ ﻣﻮﻋﺪ ﺗﺤﻮﯾﻞ ٢۵ :آذر ١٣٩٢ ﻓﺎز اول ﭘﺮوژهی »ﺷﻄﺮﻧﺞ« • ﭼﻨﺎﭼﻪ ﺳﻮاﻟ در ﻣﻮرد ﭘﺮوژه داﺷﺘﯿﺪ ﮐﻪ ﺑﺮای ﺳﺎﯾﺮﯾﻦ ﻧﯿﺰ ﻣ ﺗﻮاﻧﺪ ﻣﻔﯿﺪ ﺑﺎﺷﺪ در ﭘﯿﺎﺗﺰا ﻣﻄﺮح ﮐﻨﯿﺪ. • ﺑﻪ ازای ﻫﺮ روز ﺗﺎﺧﯿﺮ در ﺗﺤﻮﯾﻞ ﭘﺮوژه )ﺣﺪاﮐﺜﺮ ٣روز( ١٠٪از ﻧﻤﺮهی آن ﮐﺎﺳﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ. • ﻧﺤﻮهی ارﺳﺎل ﭘﺮوژه ﻣﺘﻌﺎﻗﺒﺎ در اﺧﺘﯿﺎر ﺷﻤﺎ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ. • ﺑﺮﻧﺎﻣﻪﻫﺎی ارﺳﺎﻟ ﻣ ﺑﺎﯾﺴﺖ ﺑﻪ زﺑﺎن Cﺑﺎﺷﻨﺪ .اﺳﺘﻔﺎده از ﻫﺮﮔﻮﻧﻪ اﻣ ﺎﻧﺎت زﺑﺎن C++و ﯾﺎ اﺳﺘﻔﺎده از ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎی ﻧﻮﺷﺘﻪ ﺷﺪه ﺑﻪ اﯾﻦ زﺑﺎن ﻣﻤﻨﻮع اﺳﺖ. • اﯾﻦ ﭘﺮوژه از ١٠٠ﻧﻤﺮه اﺳﺖ و ﻧﻤﺮات اﻣﺘﯿﺎزی آن ﻓﻘﻂ در ﺧﺼﻮص ﭘﺮوژهﻫﺎ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮﻧﺪ .در ﭘﺎﯾﺎن ﻧﻤﺮهدﻫ ،ﺑﺮای ﭘﺮوژهﻫﺎی ﺑﺮﺗﺮ ﺗﺎ ﺳﻘﻒ ﯾ ﻧﻤﺮه ﺑﻪ درس اﺿﺎﻓﻪ ﻣ ﺷﻮد. • در ﺻﻮرت ﻣﺸﺎﻫﺪهی ﺗﻘﻠﺐ ﺑﺮای ﻫﺮ دو ﻃﺮف ﻧﻤﺮهی ٠در اﯾﻦ ﭘﺮوژه ﻣﻨﻈﻮر ﺧﻮاﻫﺪ ﺷﺪ. در اﯾﻦ ﭘﺮوژه ﻗﺼﺪ ﻣﺎ ﭘﯿﺎده ﺳﺎزی ﺑﺎزی ﺷﻄﺮﻧﺞ اﺳﺖ .وﻟ ﺑﺎزی ﺷﻄﺮﻧﺞ ﻣﺎ ﺑﺎ ﺑﺎزی ﺷﻄﺮﻧﺞ ﻣﻌﻤﻮﻟ ﺗﻔﺎوت ﻫﺎﯾﯽ دارد .اﮔﺮ ﻗﻮاﻧﯿﻦ ﺷﻄﺮﻧﺞ را ﻧﻤ داﻧﯿﺪ ﻣ ﺗﻮاﻧﯿﺪ از ﻟﯿﻨﮏ زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ: http://www.iranchess.ir/rules.html ١ ﻗﻮاﻋﺪ ﺑﺎزی ﻣﻮاردی ﮐﻪ ﺷﻄﺮﻧﺞ ﻣﺎ ﺑﺎ ﺷﻄﺮﻧﺞ ﻣﻌﻤﻮﻟ ﻓﺮق دارد ،در زﯾﺮ ﻓﻬﺮﺳﺖ ﺷﺪهاﻧﺪ: ١ .١ ﻓﺮار از ﻣﺎﺗ ﺷﺎه ﻫﻨﮕﺎﻣ ﮐﻪ ﺷﺎه در وﺿﻌﯿﺖ ﻣﺎﺗ ﻗﺮار ﺑ ﯿﺮد )ﻣﺎت ﺷﻮد( ،اﮔﺮ ﺑﺎ زدن ﻣﻬﺮهی ﺧﻮدی ﺑﺘﻮاﻧﺪ از ﻣﺎﺗ ﻓﺮار ﮐﻨﺪ ،اﯾﻦ ﮐﺎر ﻣﺠﺎز اﺳﺖ. ﻣﺜﻼ در ﺗﺼﻮﯾﺮ زﯾﺮ ﺷﺎه ﺳﯿﺎه ﻣ ﺗﻮاﻧﺪ ﭘﯿﺎده ﺳﯿﺎه g٧ﯾﺎ h٧را ﺑ ﯿﺮد و از ﻣﺎﺗ ﺑ ﺮﯾﺰد. ٢.١ ﺗﺼﺮف ﺗﻮﺳﻂ ﻓﯿﻞ در ﺷﻄﺮﻧﺞ ﻣﺎ ﻓﯿﻞ ﺣﺮﮐﺖ ﻣﻌﻤﻮﻟ ﺧﻮد را دارد .وﻟ ﻣ ﺗﻮاﻧﺪ در ﺑﻌﻀ ﻣﻮاﻗﻊ ﻧﻮع دﯾ ﺮی از ﺣﺮﮐﺖ را ﻧﯿﺰ داﺷﺘﻪ ﺑﺎﺷﺪ .ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ وﻗﺘ ﻣﻬﺮهی ﺣﺮﯾﻒ ﺑﻪ ﻃﻮر ﻋﻤﻮدی ﯾﺎ اﻓﻘ دﻗﯿﻘﺎً دو ﺧﺎﻧﻪ ﺑﺎ آن ﻓﺎﺻﻠﻪ داﺷﺘﻪ ﺑﺎﺷﺪ و ﻫﯿﭻ ﻣﻬﺮهای ﺑﯿﻦ اﯾﻦ دو ﻣﻬﺮه ﻧﺒﺎﺷﺪ، ﻓﯿﻞ ﻣ ﺗﻮاﻧﺪ ﻣﻬﺮه ﺣﺮﯾﻒ را ﺑ ﯿﺮد .اﯾﻦ ﺣﺮﮐﺖ ﻓﻘﻂ در ﻣﻮرد ﺗﺼﺮف ﻣﺠﺎز اﺳﺖ .ﺑﺮای ﻣﺜﺎل ﻓﯿﻞ b٣ﻣ ﺗﻮاﻧﺪ ﭘﯿﺎده b۵را ﺑ ﯿﺮد، وﻟ ﻧﻤ ﺗﻮاﻧﺪ ﺑﻪ ﺧﺎﻧﻪ d٣ﺣﺮﮐﺖ ﮐﻨﺪ. ١ ﺷ ﻞ :١ﻓﺮار از ﻣﺎﺗ ٣.١ﺣﺮﮐﺖ اﺳﺐ در ﺷﻄﺮﻧﺞ ﻣﺎ اﺳﺐ ﻧﯿﺰ ﺣﺮﮐﺖ ﻋﺎدی ﺧﻮد را داراﺳﺖ ،ﺑﺎ اﯾﻦ ﺗﻔﺎوت ﮐﻪ ﻣ ﺗﻮاﻧﺪ از ﺻﻔﺤﻪ ﺧﺎرج ﺷﺪه و از ﻃﺮف دﯾ ﺮ وارد ﺻﻔﺤﻪ ﺷﻮد .اﯾﻦ ﻧﻮع ﺣﺮﮐﺖ در ﻣﻮرد ﺧﺎرج ﺷﺪن از ﺳﻤﺖ راﺳﺖ ﯾﺎ ﭼﭗ ﺻﻔﺤﻪ در ﻫﺮ ﺷﺮاﯾﻄ اﻣ ﺎن ﭘﺬﯾﺮ اﺳﺖ ،ﯾﻌﻨ ﻫﻢ ﺷﺎﻣﻞ ﺣﺮﮐﺖ ﻣﻌﻤﻮﻟ و ﻫﻢ ﺷﺎﻣﻞ ﺗﺼﺮف ﻣﻬﺮه ﺣﺮﯾﻒ ﻣ ﺷﻮد ،وﻟ ﺧﺎرج ﺷﺪن از ﺑﺎﻻ ﯾﺎ ﭘﺎﯾﯿﻦ در ﺻﻮرﺗ اﻣ ﺎنﭘﺬﯾﺮ اﺳﺖ ﮐﻪ ﻣﻬﺮهای دﯾ ﺮ در ﺧﺎﻧﻪای ﮐﻪ اﺳﺐ ﻗﺼﺪ ﻧﺸﺴﺘﻦ در آن را دارد ،ﻧﺒﺎﺷﺪ .ﺑﺮای ﻣﺜﺎل در ﺷ ﻞ ٢اﺳﺐ b١ﻣ ﺗﻮاﻧﺪ در ﺧﺎﻧﻪی a٧ ﺑﻨﺸﯿﻨﺪ ،وﻟ ﻧﻤ ﺗﻮاﻧﺪ در c٧ﺑﻨﺸﯿﻨﺪ .ﺑﺪﯾﻬ اﺳﺖ ﮐﻪ وﻗﺘ اﺳﺐ از ﺳﻤﺖ راﺳﺖ ﺻﻔﺤﻪ ﺧﺎرج ﻣ ﺷﻮد ،از ﺳﻤﺖ ﭼﭗ ﺑﺎﯾﺪ وارد ﺻﻔﺤﻪ ﺷﻮد و ﺑﻪ ﻫﻤﯿﻦ ﺗﺮﺗﯿﺐ. ۴ .١ ﺷﺎه ﻗﻠﻌﻪ)ﻗﻠﻌﻪ رﻓﺘﻦ( در ﺷﻄﺮﻧﺞ ﻣﺎ ﻋﻤﻞ ﻗﻠﻌﻪ رﻓﺘﻦ ﻓﻘﻂ ﺑﯿﻦ ﺷﺎه و ﻗﻠﻌﻪ ﻧﺰدﯾ ﺗﺮ ﺑﻪ ﺷﺎه اﻣ ﺎنﭘﺬﯾﺮ اﺳﺖ .ﺟﺰﺋﯿﺎت ﻗﻠﻌﻪ رﻓﺘﻦ ﻣﻌﻤﻮﻟ ﺑﺎﯾﺪ در اﯾﻦ ﺣﺮﮐﺖ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد )از ﺟﻤﻠﻪ اﯾﻨﮑﻪ ﺧﺎﻧﻪﻫﺎﯾﯽ ﮐﻪ ﻗﺮار اﺳﺖ ﺷﺎه از آنﻫﺎ ﺑ ﺬرد ﺗﺎ ﻋﻤﻞ ﻗﻠﻌﻪ رﻓﺘﻦ اﻧﺠﺎم ﺷﻮد ،ﻧﺒﺎﯾﺪ ﺑﻪ وﺳﯿﻠﻪ ﻣﻬﺮهﻫﺎی ﺣﺮﯾﻒ ﺗﻬﺪﯾﺪ ﺷﻮد و …( .در ﺑﺎزی ﻣﺎ ﻋﻤﻞ ﻗﻠﻌﻪ رﻓﺘﻦ رﮐﻦ دﯾ ﺮی ﻧﯿﺰ دارد و آن اﯾﻨﺴﺖ ﮐﻪ اﮔﺮ دو ﭘﯿﺎدهی ﺳﻤﺖ ﻗﻠﻌﻪای ﮐﻪ از آن ﺑﺮای ﻗﻠﻌﻪ رﻓﺘﻦ اﺳﺘﻔﺎده ﻣ ﺷﻮد ،ﻫﺮ دو در ﺳﺮ ﺟﺎی ﺧﻮد ﺑﻮدﻧﺪ ،ﯾ ﯾ از آنﻫﺎ ﺑﺎﯾﺪ ﻫﻤﺰﻣﺎن ﺑﺎ ﻋﻤﻞ ﻗﻠﻌﻪ رﻓﺘﻦ ﺧﺎﻧﻪ ﺑﻪ ﺟﻠﻮ ﺣﺮﮐﺖ ﮐﻨﺪ.ﺑﺮای ﻣﺜﺎل در ﺗﺼﻮﯾﺮ زﯾﺮ ﺑﻌﺪ از ﻋﻤﻞ ﻗﻠﻌﻪ رﻓﺘﻦ ﺷﺎه ﺳﻔﯿﺪ ﺑﺎﯾﺪ ﯾ ﺣﺎﻟﺖ اول :ﺷﺎه ﺑﻪ ،g١ﻗﻠﻌﻪ ﺑﻪ ، f ١ﭘﯿﺎده ﺑﻪ h٣ ﺣﺎﻟﺖ دوم :ﺷﺎه ﺑﻪ ،g١ﻗﻠﻌﻪ ﺑﻪ ، f ١ﭘﯿﺎده ﺑﻪ g٣ ٢ از اﯾﻦ ﺣﺎﻟﺖﻫﺎ را داﺷﺘﻪ ﺑﺎﺷﯿﻢ: ﺷ ﻞ :٢ﺗﺼﺮف ﻓﯿﻞ ‐ ﺣﺮﮐﺖ اﺳﺐ ۵.١ﻗﺎﻋﺪهی آﻧﭙﺎﺳﺎن اﮔﺮ در ﻣﻮرد اﯾﻦ ﻗﺎﻋﺪه ﻧﻤ داﻧﯿﺪ ،ﻣ ﺗﻮاﻧﯿﺪ در اﯾﻨﺘﺮﻧﺖ ﺑﻪ دﻧﺒﺎل آن ﺑ ﺮدﯾﺪ ،ﻓﻘﻂ ﺑﻪ اﯾﻦ ﻧﮑﻨﻪ دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ اﯾﻦ ﻗﺎﻋﺪه ﺑﺮای ﺑﺎزی ﻣﺎ اﯾﻨﮕﻮﻧﻪ ﭘﯿﺎدهﺳﺎزی ﻣ ﺷﻮد ﮐﻪ ﯾ ﭘﯿﺎده ﺑﺮای ﮔﺮﻓﺘﻦ ﭘﯿﺎدهی ﺣﺮﯾﻒ ﺑﺎ ﻗﺎﻋﺪه آﻧﭙﺎﺳﺎن ،در ﻫﻤﺎن ﺧﺎﻧﻪای ﮐﻪ ﭘﯿﺎدهی ﺣﺮﯾﻒ ﻧﺸﺴﺘﻪ، ﻣ ﻧﺸﯿﻨﺪ و آن را از ﺑﺎزی ﺧﺎرج ﻣ ﮐﻨﺪ .ﺗﺼﺎوﯾﺮ زﯾﺮ ﺑﺮای راﻫﻨﻤﺎﯾﯽ ﺑﯿﺸﺘﺮ آﻣﺪهاﻧﺪ: ۶ .١ ﻣﺘﺤﺪ ﺷﺪن دو ﻗﻠﻌﻪ در ﺷﻄﺮﻧﺞ ﻣﺎ ،وﻗﺘ دو ﻗﻠﻌﻪ در راﺳﺘﺎی ﯾ ﺪﯾ ﺮ ﻗﺮار ﻣ ﮔﯿﺮﻧﺪ ،ﺗﻮاﻧﺎﯾﯽ ﺧﺎﺻ ﭘﯿﺪا ﻣ ﮐﻨﻨﺪ ،ﺑﻪ اﯾﻦ ﺻﻮرت ﮐﻪ اﮔﺮ ﺑﯿﻦ آنﻫﺎ و ﻣﻬﺮهی ﺣﺮﯾﻒ ،ﻣﻬﺮهی ﺧﻮدی ﻧﺒﺎﺷﺪ ،ﻣ ﺗﻮاﻧﻨﺪ ﻣﻬﺮه ﺣﺮﯾﻒ را ﺑ ﯿﺮﻧﺪ )ﺑﻼﻓﺎﺻﻠﻪ( ،ﯾﻌﻨ ﻗﺒﻞ از اﯾﻨﮑﻪ ﺣﺮﯾﻒ ﺑﺘﻮاﻧﺪ ﻣﻬﺮهی ﺧﻮد را ﻓﺮاری دﻫﺪ .اﻟﺒﺘﻪ اﯾﻦ ﮐﺎر ﻧﻤ ﺗﻮاﻧﺪ ﺑﻪ ﺻﻮرت زﻧﺠﯿﺮی اداﻣﻪ ﯾﺎﺑﺪ و ﺑﻌﺪ از ﮔﺮﻓﺘﻦ اوﻟﯿﻦ ﻣﻬﺮهی ﺣﺮﯾﻒ ،ﻧﻮﺑﺖ ﺑﻪ ﺣﺮﯾﻒ ﻣ رﺳﺪ. ﺑﺪﯾﻬ اﺳﺖ ﮐﻪ اﯾﻦ ﺣﺮﮐﺖ ﺧﺎص در ﻣﻮرد ﺷﺎه ﺣﺮﯾﻒ اﺟﺮا ﻧﻤ ﺷﻮد .ﺑﺮای ﻣﺜﺎل در ﺗﺼﻮﯾﺮ زﯾﺮ ،ﺳﻔﯿﺪ ﻣ ﺗﻮاﻧﺪ ﻗﻠﻌﻪ d١را ﺑﻪ b١ ﺑﯿﺎورد و ﺑﻼﻓﺎﺻﻠﻪ ﭘﯿﺎدهی b۵را از ﺑﺎزی ﺧﺎرج ﮐﻨﺪ )ﺑﺪون ﺣﺮﮐﺖ ﻗﻠﻌﻪ ،(b٢و ﺑﻌﺪ از اﯾﻦ ﻋﻤﻞ ﻧﻮﺑﺖ ﺑﻪ ﺳﯿﺎه ﻣ رﺳﺪ. اﮔﺮ در ﻣﻮرد ﺣﺎﻟﺖﻫﺎی ﺧﺎﺻ ﮐﻪ ﻣﻤ ﻦ اﺳﺖ ﭘﯿﺶ آﯾﺪ ﺳﻮاﻟ داﺷﺘﯿﺪ ،ﻧﺮم اﻓﺰار pgnmentorﻣ ﺗﻮاﻧﺪ ﺑﻪ ﺷﻤﺎ ﮐﻤ ﺳﻮاﻟﺘﺎن را ﺑﭙﺮﺳﯿﺪ!! http://www.pgnmentor.com/download.html ٣ ﮐﻨﺪ ﮐﻪ ﺷ ﻞ :٣ﺷﺎه ﻗﻠﻌﻪ ٢ﻧﺤﻮهی ﭘﯿﺎدهﺳﺎزی ﭘﯿﺎدهﺳﺎزی اﯾﻦ ﺑﺎزی ﺑﻪ ﺻﻮرت ﮔﺮاﻓﯿ ﻻزم ﻧﯿﺴﺖ و در ﻫﺮ ﻟﺤﻈﻪ ﮐﺎﻓﯿﺴﺖ ﺷ ﻞ ﺻﻔﺤﻪی ﺷﻄﺮﻧﺞ را روی ﮐﻨﺴﻮل ﭼﺎپ ﮐﻨﯿﺪ. ﻫﻤﭽﻨﯿﻦ ﺑﺮای ﻣﻬﺮهﻫﺎ اﺳﻢ ﻣﻨﺎﺳﺐ ﺑ ﺬارﯾﺪ .ﻫﻤﭽﻨﯿﻦ ﺑﺮای آدرسدﻫ ﺧﺎﻧﻪﻫﺎ از ﻧﺎمﻫﺎﯾﯽ ﻣﺎﻧﻨﺪ d۴و ...اﺳﺘﻔﺎده ﮐﻨﯿﺪ .روﻧﺪ ﺑﺎزی ﺑﻪ اﯾﻦ ﺻﻮرت اﺳﺖ ﮐﻪ اﺑﺘﺪا ﺑﺎزﯾ ﻨ ﮐﻪ ﻧﻮﺑﺘﺶ اﺳﺖ ،ﻧﺎم ﯾ ﺧﺎﻧﻪ را وارد ﻣ ﮐﻨﺪ .ﺳﭙﺲ ﺻﻔﺤﻪی ﺷﻄﺮﻧﺞ ﺑﻪ ﻫﻤﺮاه ﺗﻤﺎم ﺧﺎﻧﻪﻫﺎﯾﯽ ﮐﻪ اﯾﻦ ﻣﻬﺮه ﻣ ﺗﻮاﻧﺪ ﺑﻪ آنﻫﺎ ﺑﺮود ﻧﺸﺎن داده ﻣ ﺷﻮد) .ﻣﯿﺘﻮاﻧﯿﺪ از * ﺑﺮای اﯾﻦ ﺧﺎﻧﻪﻫﺎ اﺳﺘﻔﺎده ﮐﻨﯿﺪ( .ﺳﭙﺲ ﯾﺎ ﮔﺰﯾﻨﻪی cancelرا اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ ﯾﺎ اﺳﻢ ﺧﺎﻧﻪی دوم )ﺧﺎﻧﻪی ﻣﻘﺼﺪ( را وارد ﻣ ﮐﻨﺪ. ١.٢ ﻣﻮارد ﻓﺎز اول در ﻓﺎز اول ﺷﻤﺎ ﺑﺎﯾﺪ ﺻﻔﺤﻪی اوﻟﯿﻪ ﺷﻄﺮﻧﺞ را ﻧﻤﺎﯾﺶ داده و ﻫﻤﭽﻨﯿﻦ ﺑﺘﻮاﻧﯿﺪ ﺧﺎﻧﻪﻫﺎی ﺗﻬﺪﯾﺪ ﺷﺪه ﺗﻮﺳﻂ ﺣﺪاﻗﻞ ٣ﻣﻬﺮه ﺷﺎه، ﻓﯿﻞ و ﻗﻠﻌﻪ را ﻧﻤﺎﯾﺶ دﻫﯿﺪ .ﻫﻤﭽﻨﯿﻦ ﺑﻪ دﻟﺨﻮاه ﺧﻮد ٣ﺗﺎ از ﻗﻮاﻋﺪ ﺑﺎﻻ را ﻧﯿﺰ ﭘﯿﺎدهﺳﺎزی ﮐﻨﯿﺪ .روﻧﺪ ﮐﻠ ﺑﺎزی )ورودی ﮔﺮﻓﺘﻦ از ﮐﺎرﺑﺮ و (...ﻧﯿﺰ ﺑﺎﯾﺪ در اﯾﻦ ﻓﺎز ﭘﯿﺎدهﺳﺎزی ﺷﻮد. ۴ ﺷ ﻞ :۴آﻧﭙﺎﺳﺎن ﺷ ﻞ :۵آﻧﭙﺎﺳﺎن ۵ ﺷ ﻞ :۶آﻧﭙﺎﺳﺎن ﺷ ﻞ :٧اﺗﺤﺎد دو ﻗﻠﻌﻪ ۶
© Copyright 2025 Paperzz