ﺑﺎﺳﻤﻪ ﺗﻌﺎﻟ ﻣﺒﺎﻧ ﺑﺮﻧﺎﻣﻪﺳﺎزی داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﺪرس :اﻧﺘﻈﺎریﻣﻠ ﻣﻮﻋﺪ ﺗﺤﻮﯾﻞ ٢۵ :آذر ١٣٩٢ ﻓﺎز اول ﭘﺮوژهی »ﺑﯿﻠﯿﺎرد« • ﭼﻨﺎﭼﻪ ﺳﻮاﻟ در ﻣﻮرد ﭘﺮوژه داﺷﺘﯿﺪ ﮐﻪ ﺑﺮای ﺳﺎﯾﺮﯾﻦ ﻧﯿﺰ ﻣ ﺗﻮاﻧﺪ ﻣﻔﯿﺪ ﺑﺎﺷﺪ در ﭘﯿﺎﺗﺰا ﻣﻄﺮح ﮐﻨﯿﺪ. • ﺑﻪ ازای ﻫﺮ روز ﺗﺎﺧﯿﺮ در ﺗﺤﻮﯾﻞ ﭘﺮوژه )ﺣﺪاﮐﺜﺮ ٣روز( ١٠٪از ﻧﻤﺮهی آن ﮐﺎﺳﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ. • ﻧﺤﻮهی ارﺳﺎل ﭘﺮوژه ﻣﺘﻌﺎﻗﺒﺎ در اﺧﺘﯿﺎر ﺷﻤﺎ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ. • ﺑﺮﻧﺎﻣﻪﻫﺎی ارﺳﺎﻟ ﻣ ﺑﺎﯾﺴﺖ ﺑﻪ زﺑﺎن Cو ﺑﺎ اﺳﺘﻔﺎده از ﮐﺘﺎﺑﺨﺎﻧﻪی GTK+ﺑﺎﺷﻨﺪ .اﺳﺘﻔﺎده از ﻫﺮﮔﻮﻧﻪ اﻣ ﺎﻧﺎت زﺑﺎن C++و ﯾﺎ اﺳﺘﻔﺎده از ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎی ﻧﻮﺷﺘﻪ ﺷﺪه ﺑﻪ اﯾﻦ زﺑﺎن ،و ﯾﺎ اﺳﺘﻔﺎده از ﻣﻮﺗﻮرﻫﺎی ﺑﺎزی ﻣﻤﻨﻮع اﺳﺖ. • اﯾﻦ ﭘﺮوژه از ١٠٠ﻧﻤﺮه اﺳﺖ و ﻧﻤﺮات اﻣﺘﯿﺎزی آن ﻓﻘﻂ در ﺧﺼﻮص ﭘﺮوژهﻫﺎ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮﻧﺪ .در ﭘﺎﯾﺎن ﻧﻤﺮهدﻫ ،ﺑﺮای ﭘﺮوژهﻫﺎی ﺑﺮﺗﺮ ﺗﺎ ﺳﻘﻒ ﯾ ﻧﻤﺮه ﺑﻪ درس اﺿﺎﻓﻪ ﻣ ﺷﻮد. • در ﺻﻮرت ﻣﺸﺎﻫﺪهی ﺗﻘﻠﺐ ﺑﺮای ﻫﺮ دو ﻃﺮف ﻧﻤﺮهی ٠در اﯾﻦ ﭘﺮوژه ﻣﻨﻈﻮر ﺧﻮاﻫﺪ ﺷﺪ. ﭘﺮوژهای ﮐﻪ ﺑﺮای اﯾﻦ درس در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ ،ﭘﯿﺎدهﺳﺎزی ﺑﺎزی ﺑﯿﻠﯿﺎرد ﻣ ﺑﺎﺷﺪ ﺑﻪ ﮔﻮﻧﻪای ﮐﻪ دو ﺑﺎزﯾ ﻦ ﺑﯿﻠﯿﺎرد ﺑﺘﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺑﺎزی ﮐﻨﻨﺪ و ﺑﺮﻧﺪه ﻣﺸﺨﺺ ﺷﻮد .ﭘﯿﺎدهﺳﺎزی در دو ﻓﺎز اﻧﺠﺎم ﺧﻮاﻫﺪ ﺷﺪ .ﻗﺒﻞ از ﻫﺮ ﭼﯿﺰ ﺷﺮوع ﺑﻪ ﺑﺮرﺳ ﺑﺎزی ﺑﯿﻠﯿﺎرد ﻣ ﮐﻨﯿﻢ و ﺑﻪ ﺗﺸﺮﯾﺢ آن ﻣ ﭘﺮدازﯾﻢ .در اداﻣﻪ ﻣﺸﺨﺺ ﻣ ﮐﻨﯿﻢ ﮐﻪ در ﻓﺎز اول ﭼﻪ ﻣﻮاردی ﺑﺮای ﭘﯿﺎده ﺳﺎزی ﻻزم اﺳﺖ. ١ ﻗﻮاﻧﯿﻦ ﺑﺎزی ﺑﯿﻠﯿﺎرد ﺑﯿﻠﯿﺎرد ﺑﺎزیای اﺳﺖ ﮐﻪ ﺗﻮﺳﻂ ﭼﻨﺪﯾﻦ ﺗﻮپ ﺑﺮ روی ﯾ ﻣﯿﺰ اﻧﺠﺎم ﻣ ﺷﻮد .در ﺑﯿﻠﯿﺎرد ﺑﻪ ﻃﻮر ﮐﻠ ١۶ﺗﻮپ دارﯾﻢ ﮐﻪ در ﺷ ﻞ زﯾﺮ ﻣ ﺑﯿﻨﯿﺪ .ﻣﯿﺰ ﺑﯿﻠﯿﺎرد ﺻﻔﺤﻪی ﺳﺒﺰ رﻧﮕ اﺳﺖ ﮐﻪ ۶ﺳﻮراخ در ﮐﻨﺞﻫﺎ و روی ﻃﻮلﻫﺎ دارد ﮐﻪ ﺑﻪ ﺳﺒﺪ ﻣﻌﺮوف ﻫﺴﺘﻨﺪ ﮐﻪ در ﺷ ﻞ :١ﺗﻮپﻫﺎی ﺑﯿﻠﯿﺎرد ١ ﺷ ﻞ :٢زﻣﯿﻦ ﺑﯿﻠﯿﺎرد ﺷ ﻞ زﯾﺮ ﻣﺸﺨﺺ اﺳﺖ .ﺳﺒﺪﻫﺎ ﺑﻪ ﻣﻨﻈﻮر ﺧﺎرج ﮐﺮدن ﺗﻮپﻫﺎ از ﻣﯿﺰ ﻃﺮاﺣ ﺷﺪهاﻧﺪ و اﻧﺪازه آﻧﻬﺎ ﺑﻪ ﮔﻮﻧﻪ ای اﺳﺖ ﮐﻪ ﺗﻮپ ﻫﺎ ﺑﺎ ﻧﺰدﯾ ﺷﺪن ﺑﻪ آﻧﻬﺎ ،ﺑﻪ راﺣﺘ ﺑﻪ ﺧﺎرج ﻣﻨﺘﻘﻞ ﻣ ﺷﻮﻧﺪ. ﺑﯿﻠﯿﺎرد اﻧﻮاع ﻣﺨﺘﻠﻔ از ﺟﻤﻠﻪ اﺳﻨﻮﮐﺮ ،١اﯾﺖ ﺑﺎل ،٢ﻧﺎﯾﻦ ﺑﺎل ٣و … دارد ﮐﻪ ﻫﺮ ﮐﺪام ﻗﻮاﻧﯿﻦ ﺣﺎﮐﻢ ﺑﺮ ﺧﻮد را دارد .اﻣﺎ ﯾ ﺳﺮی ﻗﻮاﻧﯿﻦ در ﺗﻤﺎﻣ آﻧﻬﺎ ﺣﺎﮐﻢ اﺳﺖ .ﻧﺤﻮهی ﭼﯿﻨﺶ ﺗﻮپﻫﺎ در اﺑﺘﺪای ﺑﺎزی ﺑﻪ ﺷ ﻞ زﯾﺮ اﺳﺖ ﮐﻪ ﺗﻮپ ﺳﻔﯿﺪ در ﺟﺎﯾﯽ ﻗﺒﻞ از ﺧﻂ ﺳﻔﯿﺪ ﻣﯿﺰ )ﻣﻌﻤﻮﻻ در وﺳﻂ ﺑﺎ ﮐﻤ ﻓﺎﺻﻠﻪ از ﺧﻂ( ﻗﺮار ﻣ ﮔﯿﺮد .ﻫﺮ ﺑﺎزﯾ ﻦ ﺗﻨﻬﺎ ﻣﺠﺎز اﺳﺖ ﮐﻪ ﺑﺎ ﭼﻮب ﺑﻪ ﺗﻮپ ﺳﻔﯿﺪ ﺿﺮﺑﻪ ﺷ ﻞ :٣ﭼﯿﻨﺶ اوﻟﯿﻪ ﺗﻮپﻫﺎ ﺑﺰﻧﺪ .در اﺛﺮ ﺿﺮﺑﻪ ﺑﻪ ﺗﻮپ ﺳﻔﯿﺪ و ﺑﺮﺧﻮرد آن ﺑﺎ دﯾ ﺮ ﺗﻮپﻫﺎ ،اﻣ ﺎن اﻓﺘﺎدن ﺗﻮپﻫﺎ در ﺳﺒﺪﻫﺎ ﻣ ﺑﺎﺷﺪ .ﺑﺎ ﺗﻮﺟﻪ ﮐﻪ ﺑﺎزیﻫﺎی اﯾﺖ ﺑﺎل و … ﭘﯿﭽﯿﺪﮔ ﻫﺎی زﯾﺎدی در ﻗﻮاﻧﯿﻦ ﺧﻮد دارﻧﺪ ،ﻣﺎ ﺑﺮای ﭘﯿﺎدهﺳﺎزی ﺧﻮد ،ﻗﻮاﻧﯿﻨ وﺿﻊ ﻣ ﮐﻨﯿﻢ ﮐﻪ ﺑﻪ ﺳﺎدهﺳﺎزی ﻣﺴﺌﻠﻪ ﮐﻤ ﮐﻨﺪ .ﻗﻮاﻧﯿﻦ ﺑﻪ ﺷﺮح زﯾﺮ ﻣ ﺑﺎﺷﻨﺪ. ١ Snooker ٢ Eight-Ball ٣ Nine-Ball ٢ ١.١ﻧﻮﺑﺖ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﻧﻔﺮه ﺑﻮدن ﺑﺎزی ،ﭘﺲ از ﺿﺮﺑﻪ زدن ﯾ ﻧﻤ ﺷﻮد ،ﯾﺎ ﺑﯿﺸﺘﺮ ﻣﺴﺎوی ﯾ ﺑﺎزﯾ ﻦ ﺑﻪ ﺗﻮپ ﺳﻔﯿﺪ دو ﺣﺎﻟﺖ اﺗﻔﺎق ﻣ اﻓﺘﺪ ،ﯾﺎ ﻫﯿﭻ ﺗﻮﭘﯽ وارد ﺳﺒﺪ ﺗﻮپ وارد ﺳﺒﺪ ﻣ ﺷﻮد .اﮔﺮ ﻫﯿﭻ ﺗﻮﭘﯽ وارد ﺳﺒﺪ ﻧﺸﻮد ،ﻧﻮﺑﺖ ﻃﺮف ﻣﻘﺎﺑﻞ ﻣ ﺷﻮد ﺗﺎ ﺿﺮﺑﻪ ﺑﺰﻧﺪ، در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ﻣﺎداﻣ ﮐﻪ ﺑﺎزﯾ ﻦ ﺑﺎ ﻫﺮ ﺿﺮﺑﻪ ﯾ ﯾﺎ ﭼﻨﺪ ﺗﻮپ را وارد ﺳﺒﺪ ﮐﻨﺪ ﻣ ﺗﻮاﻧﺪ ﺑﻪ ﺑﺎزی ﺧﻮد اداﻣﻪ دﻫﺪ. ٢.١ﭘﯿﺘﻮک ﭘﯿﺘﻮک ﺑﻪ دو ﺻﻮرت اﺗﻔﺎق ﻣ اﻓﺘﺪ .١در ﺻﻮرﺗ ﮐﻪ در اﺛﺮ ﺿﺮﺑﻪ ﯾ ﺑﺎزﯾ ﻦ ،ﺗﻮپ ﺳﻔﯿﺪ ﺑﻪ ﻫﯿﭻ ﺗﻮﭘﯽ ﺑﺮﺧﻮرد ﻧﮑﻨﺪ. .٢در ﺻﻮرﺗ ﮐﻪ ﺗﻮپ ﺳﻔﯿﺪ وارد ﺳﺒﺪ ﺷﻮد. ﭘﯿﺘﻮک ﯾ اﺗﻔﺎق ﻣﻨﻔ اﺳﺖ و در ﺻﻮرﺗ ﮐﻪ ﺑﺎزﯾ ﻨ ﭘﯿﺘﻮک ﮐﻨﺪ ،ﻃﺮف ﻣﻘﺎﺑﻞ ﻣ ﺗﻮاﻧﺪ ﺗﻮپ ﺳﻔﯿﺪ را ﺑﺮداﺷﺘﻪ و در ﺟﺎﯾ ﺎه ﻣﻨﺎﺳﺐ ﻗﺮار دﻫﺪ. ٣ .١ اﻣﺘﯿﺎزدﻫ ﻫﺮ ﺗﻮپ ﻋﺪدی ﺑﯿﻦ ١و ١۵دارد .ﻣﺎ ﺑﻪ ﻫﺮ ﺗﻮپ اﻣﺘﯿﺎزی ﻣﻌﺎدل ١٠ﺑﺮاﺑﺮ ﻋﺪد روﯾﺶ ﻧﺴﺒﺖ ﻣ دﻫﯿﻢ .ﺑﺮای ﻣﺜﺎل ﺗﻮپ ٣اﻣﺘﯿﺎزی ﻣﻌﺎدل ٣٠دارد .ﻫﺮ ﺑﺎزﯾ ﻦ ﮐﻪ ﺗﻮﭘﯽ را وارد ﺳﺒﺪ ﮐﻨﺪ اﻣﺘﯿﺎز آن ﺗﻮپ ﻣ ﮔﯿﺮد .ﻫﺮ ﭘﯿﺘﻮک ١٠٠اﻣﺘﯿﺎز ﻣﻨﻔ دارد .در ﺻﻮرﺗ ﮐﻪ در اﺛﺮ ﺿﺮﺑﻪای ﺑﯿﺸﺘﺮ از ﯾ ﺑﺮای ﻣﺜﺎل اﮔﺮ ﺑﺎ ﯾ ﺗﻮپ وارد ﺳﺒﺪ ﺷﻮد ،اﻣﺘﯿﺎزﻫﺎ در دو ﺑﻪ ﺗﻮان ﺗﻌﺪاد ﺗﻮپﻫﺎی وارد ﺳﺒﺪ ﺷﺪه ﻣﻨﻬﺎی ﯾ ﺿﺮﺑﻪ ﺳﻪ ﺗﻮپ ٢و ۶و ٩وارد ﺳﺒﺪ ﺷﻮد ،اﻣﺘﯿﺎز آن ﺑﺮاﺑﺮ ﺑﺎ (٢٠ + ۶٠ + ٩٠) × ٢٣−١ ﺿﺮب ﻣ ﺷﻮد. ﺧﻮاﻫﺪ ﺑﻮد ﯾﻌﻨ ۶٨٠اﻣﺘﯿﺎز .در ﺻﻮرﺗ ﮐﻪ ﭼﻨﺪﯾﻦ ﺗﻮپ ﺑﻪ ﻫﻤﺮاه ﺗﻮپ ﺳﻔﯿﺪ وارد ﺳﺒﺪ ﺷﻮد ﻫﻤﭽﻨﺎن ﭘﯿﺘﻮک اﺳﺖ و ﻣﻨﻔ ١٠٠اﻣﺘﯿﺎز دارد. ٢ ﻣﻮارد ﻣﻮرد ﻧﯿﺎز ﺑﺮای ﭘﯿﺎدهﺳﺎزی در ﻓﺎز ﯾ در ﻓﺎز اول ﺷﻤﺎ ﺑﺎﯾﺪ زﻣﯿﻦ ،ﺗﻮپ ﺳﻔﯿﺪ و رﻓﺘﺎر آن ﻧﺴﺒﺖ ﺑﻪ ﯾ ﺗﻮپ دﯾ ﺮ را ﭘﯿﺎدهﺳﺎزی ﮐﻨﯿﺪ. .١رﺳﻢ ﻣﯿﺰ ﺑﯿﻠﯿﺎرد ﺑﻪ ﻫﻤﺮاه ﺳﺒﺪﻫﺎ ،ﺧﻂ ﻣﯿﺰ ،ﭼﯿﻨﺶ ﺗﻮﭘﻬﺎی اﺻﻠ و ﺗﻮپ ﺳﻔﯿﺪ ) ٢۵درﺻﺪ( .٢رﺳﻢ ﭼﻮپ ﺑﯿﻠﯿﺎرد در ﮐﻨﺎر ﺗﻮپ ﺳﻔﯿﺪ و اﻣ ﺎن اﯾﻨﮑﻪ ﮐﺎرﺑﺮ ﺑﺘﻮاﻧﺪ ﺟﻬﺖ و ﻗﺪرت ﺿﺮﺑﻪ ﺑﻪ ﺗﻮپ را ﻣﺸﺨﺺ ﮐﻨﺪ٢۵) . درﺻﺪ( .٣ﺿﺮﺑﻪ زدن ﺑﻪ ﺗﻮپ ﺳﻔﯿﺪ در ﺟﻬﺖ ﺧﺎص و ﺑﺎ ﻗﺪرت ﺗﻌﯿﯿﻦ ﺷﺪه ﺗﻮﺳﻂ ﮐﺎرﺑﺮ .در اﯾﻦ ﻣﺮﺣﻠﻪ ﺗﻮپ ﺳﻔﯿﺪ در ﺟﻬﺖ ﻣﺸﺨﺺ ﺷﺪه و ﺑﺎ ﻗﺪرت ﺗﻌﯿﯿﻦ ﺷﺪه ﺑﺎﯾﺪ ﺣﺮﮐﺖ ﮐﻨﺪ .ﭘﺲ از ﺑﺮﺧﻮرد ﺑﻪ دﯾﻮارهﻫﺎ ﺗﻐﯿﯿﺮ ﺟﻬﺖ ﻣﻨﺎﺳﺐ دﻫﺪ .ﭘﺲ از ﺑﺮﺧﻮرد ﺑﻪ ﺗﻮپ دﯾ ﺮ ﺗﻐﯿﯿﺮ ﺟﻬﺖ ﻣﻨﺎﺳﺐ داده و ﻣﻨﺠﺮ ﺑﻪ ﺗﻐﯿﯿﺮ ﺟﻬﺖ ﺗﻮپ دﯾ ﺮ ﺷﻮد .ﻫﻤﭽﻨﯿﻦ ﺳﺮﻋﺖ ﺗﻮپﻫﺎ رﻓﺘﻪ رﻓﺘﻪ ﮐﻢ ﺷﺪه و ﻣﺘﻮﻗﻒ ﺷﻮﻧﺪ ۵٠) .درﺻﺪ( ٣ ٣ ﻣﻮارد اﺿﺎﻓ ﺑﺮای ﻫﺮ دو ﻓﺎز .١ﺗﺮﺳﯿﻢ ﺳﺎﯾﻪ ﺑﺮای ﺗﻮپﻫﺎ و ﻣﯿﺰ ،ﻃﺒﯿﻌ ﺑﻮدن و ﻧﻤﺎﯾﺶ ﺿﺮﺑﻪزدن ﺑﻪ ﺗﻮپ ،رﻧﮓآﻣﯿﺰی ﻣﻨﺎﺳﺐ ﺗﻮپﻫﺎ ،ﻣﯿﺰ و ﭼﻮب ﺑﯿﻠﯿﺎرد و ﮐﻠﯿﻪ ﻣﻮاردی ﮐﻪ ﻣﻨﺠﺮ ﺑﻪ زﯾﺒﺎﯾﯽ ﺑﺮﻧﺎﻣﻪ ﺷﻮد).ﺗﺎ ١٠درﺻﺪ( .٢ﺳﺎﺧﺖ ﯾ ﻣﻨﻮ اوﻟﯿﻪ ﮐﻪ ﺷﺎﻣﻞ ﻣﻮاردی ﻣﺎﻧﻨﺪ 1 Resume 2 New Game 3 Load Game 4 Save Game 5 Exit ﺷ ﻞ :۴ﻣﺜﺎﻟ از ﯾ ﻣﻨﻮ و ﻏﯿﺮه ﺑﺎﺷﺪ و ﺑﻪ ﻃﻮر ﻣﻨﺎﺳﺒﯽ ﺑﺮ روی ﺻﻔﺤﻪ ﺑﯿﻠﯿﺎرد ﻇﺎﻫﺮ ﺷﻮد .ﻫﻤﭽﻨﯿﻦ ﮐﻠﯿﻪ ﻣﻮاردی ﮐﻪ ﺑﻪ ﮐﺎراﯾﯽ ﺑﺮﻧﺎﻣﻪ و ﻗﺎﺑﻠﯿﺖﻫﺎی اﯾﻦ ﭼﻨﯿﻨ را اﻓﺰاﯾﺶ دﻫﺪ .ﺑﺮای ﻣﺜﺎل ﻫﻨﮕﺎم ﺑﺎزی ﺟﺪﯾﺪ ﻧﺎم دو ﺑﺎزﯾ ﻦ را ﮔﺮﻓﺘﻪ و در ﺑﺎﻻی ﺻﻔﺤﻪ ﻧﻤﺎﯾﺶ ﻧﺸﺎن دﻫﺪ. )ﺗﺎ ١٠درﺻﺪ( .٣ﻣﺤﺎﺳﺒﻪی دﻗﯿﻖ رواﺑﻂ ﻓﯿﺰﯾ ﺣﺎﮐﻢ ﺑﺮ ﺑﺎزی از ﺟﻤﻠﻪ اﺻﻄ ﺎک ،ﻧﯿﺮو وارد ﺑﺮ ﺗﻮپﻫﺎ و ﻧﺤﻮهی ﺗﻐﯿﯿﺮ ﺟﻬﺖ ﻫﺮ ﮐﺪام در اﺛﺮ ﺑﺮﺧﻮرد و ) ...ﺗﺎ ۵درﺻﺪ( .۴اﺿﺎﻓﻪ ﮐﺮدن اﻣ ﺎن ﺑﺎزی ﺑﺎ ﮐﺎﻣﭙﯿﻮﺗﺮ )ﺗﺎ ٢۵درﺻﺪ( ۴
© Copyright 2026 Paperzz