پروژه سری دوم درس برنامه نویسی شیءگرا موعد ارسال0391/3/9 : علیرضا مظلومی تا تكىط اظ ؾاحل قطیفی همسم -هْؿا لطتاًی -قازی ػثساللْیاى پروژه سری دوم درس برنامه نویسی شیءگرا موعد ارسال0391/3/9 : نکات کلی تطای اضؾال تِ آزضؼ ظیط هطاجؼِ وٌیس: http://judge.ce.sharif.edu/ زلت وٌیس وِ تایس فایلّای ذَز ضا زاذل یه فایل zipتِ ًام STDID( STDID.zipقواضُ زاًكجَییتاى هیتاقس ).لطاض زّیس (هثل ٍ )87123456.zipفایل zipضا اضؾال وٌیس( .زلت وٌیس وِ تسٍى ایٌىِ زاذل ّیچ قاذِ ای لطاض زّیس ،فایل ّای ذَز ضا zipوٌیس ).زلت وٌیس وِ فایل اضؾالی قوا تایس حاٍی یه فایل Main.javaتاقس وِ زضٍى ّیچ قاذِای ًیؿت ٍ mainاجطایی تطًاهِ زض آى اؾتّ .وچٌیي الظم اؾت زض ایي پطٍغُ قوا هیاى وسّایتاى هؿتٌس ؾاظی ضا تِ ووه جاٍازان اًجام زّیس (ٌّگام اضؾال فایل ّای htmlضا تَلیس ًىٌیس) .زض ایي هؿتٌسات قوا تایس تطای ّط والؼ ٍ ّویٌطَض تطای ّط وسام اظ تاتغ ّای والؼ ایي تَضیحات ضا تٌَیؿیس تِ طَضی وِ تا ظزى زؾتَض جاٍازان فایل ّای htmlای وِ تِ زؾت هی آیٌس تِ طَض واهل تیاًگط چگًَگی واضوطز تطًاهِ تاقٌس .زلت وٌیس فایل Main.javaتایس زاذل ّیچ پَقِ ای لطاض ًگیطًس. هَػس اضؾال ؾاػت 23:52تاضید 1320/3/2تَزُ ٍ تِ ّیچ ػٌَاى توسیس ًرَاّس قس. تأذیط تا 1ؾاػت ،تِ اظای ّط 3زلیمِ هَجة وؿط قسى ً %1وطُ ،اظ 1ؾاػت تا 24ؾاػت هَجة وؿط قسى ً %20وطُ ،اظ 24ؾاػت تا 25ؾاػت ،تِ اظای ّط 2زلیمِ هَجة وؿط قسى ً %1وطُی زیگط ٍ تیي 25ؾاػت تا 44ؾاػت تاػث وؿط قسى ً %50وطُ هیقَز .تأذیط تیكتط اظ 44ؾاػت لاتل لثَل ًیؿت. لطغ تَزى ایٌتطًت ذَاتگاُ ،وٌسی پایگاُ ایٌتطًتی زاًكىسُ ،توام قسى واضت ایٌتطًت ٍ … ّیچوسام زلیل ؾَاالت ذَز ضا تا فطؾتازى ایویل تِ آزضؼ [email protected]هططح وٌیس. ً حَُی تحَیل حضَضی پطٍغُ تؼسا تِ اطالع قوا ذَاّس ضؾیس. زلت وٌیس وِ تایس تتَاًیس زض ظهاى تحَیل ّط تغییطی زض وسّا اػوال وٌیس. پطٍغُ ؾطی زٍم زضؼ تطًاهِ ًَیؿی قیءگطا هَجْی تطای تأذیط ًیؿتٌس .تٌاتطایي پیكٌْاز هیقَز جَابّای ذَز ضا زض دانشکده اضؾال وٌیس. 1 مقدمه زض ایي فاظ اظ پطٍغُ قوا تایس فاظ لثلی پطٍغُ ی ذَز ضا تىویل ًوَزُ ٍ تاظی ضا تِ صَضت گطافیىی زض تیاٍضیس .تَجِ وٌیس وِ زض ایي فاظ ٍ فاظ تؼسی والؼ ّای وِ تایس تگیطیس ٍ ؾاذتاض پطٍغُ تِ قوا گفتِ ًویكَز ٍ ططاحی آى ًیع جعٍ ٍظایف قواؾت. پطٍغُ ی قوا تایس تط ضٍی فاظ یىتاى تٌا قسُ تاقس ٍ اهىاًات ٍ ٍیػگی ّای آى ضا زاقتِ تاقس. اهىاًاتی وِ تایس پیازُ ؾاظی قًَس: ٍ یطایف ،ؾاذت ،شذیطُ ضٍی فایل ٍ تاظیاتی اظ فایل ًمكِ ّا .فایل ّایی وِ تطای ًمكِ ّا اؾتفازُ هیكًَس تایس تا پؿًَس .mapتاقٌس( .فطهت شذیطُ تط ضٍی فایل ّا زؾت ذَزتاى اؾت .هیتَاًیس ّط گًَِ وِ ذَاؾتیس شذیطُ ٍ تاظیاتی وٌیس). اجطای تاظی؛ وِ ایي زلیما هاًٌس ّواًی اؾت وِ زض فاظ ٍ 1جَز زاقت ٍ تایس تِ صَضت گطافیىی زض تیایس. هسیطیت ذطا( :)exception handlingتطًاهِ ی قوا تایس تتَاًس ذطاّایی وِ هوىي اؾت زض تطًاهِ ضخ زّس ضا هسیطیت وٌس .زض صَضت ضخ زاز ّط وسام اظ آًْا واضتط ضا تا پیغام هٌاؾة هطلغ ؾاظز. لطفا صَضت پطٍغُ ضا زلیك ترَاًیس تا ًوطُ ای اظ زؾت ًسّیس .زض صَضت ٍجَز اتْام تِ گطٍُ زضؾی ایویل وٌیس. قسمتهای اصلی هحیط تطًاهِ ی قوا تایس زاضای یه صفحِ ی JFrameیا JAplletتاقس وِ صفحِ ی هٌَ ًام زاضز. تا اجطای تطًاهِ تایس ًمكِ ی زیفالت تِ اًساظُ ی 4زض 4وِ ّوِ ی ذاًِ ّا ظهیي ّؿتٌس ؾاذتِ قَز ٍ ٍاضز صفحِ ی هٌَی قَز. پطٍغُ ؾطی زٍم زضؼ تطًاهِ ًَیؿی قیءگطا 2 زووِ ّایی وِ زض هٌَ ٍجَز زاضًس edit map, load map, start game :وِ زووِ ّا زض ظیط قطح زازُ هیكَز: : Load mapتا ظزى ایي زووِ واضتط تایس تتَاًس اظ تیي ً مكِ ّای هَجَز وِ ضٍی فایل شذیطُ قسُ اًس یىی ضا اًتراب وٌس تا ایي واض ًمكِ ی اًتراب قسُ اظ ضٍی فایل ذَاًسُ هیكَز ٍ ضٍی حافظِ لطاض هیگیطز. :Start gameتا ایي زووِ تطًاهِ تا اؾتفازُ اظ ًمكِ ای وِ ضٍی حافظِ اؾت ٍاضز هحیط تاظی هیكَز. : Edit mapتا ظزى ایي زووِ تطًاهِ تِ ضٍی ًمكِ ی ضٍی حافظِ تِ حالت ٍیطایف زض هی آیس. هحیط ٍیطایف: زض ایي لؿوت تایس واضتط تتَاًس ًمكِ ضا ٍیطایف وٌس .تطای ًكاى زازى ًمكِ اظ ػىؽ ّای هٌاؾة تطای ّ blockا هرتلف اؾتفازُ وٌیس( .پیكٌْاز هیكَز وِ blockضا تچِ ی ٍ JButtonیا JLabelلطاض زّیس) .تا ولیه وطزى تط ضٍی ّط وسام اظ ذاًِ ّای ًمكِ تا تاظ قسى هٌَیی تایس ًَع blockاظ واضتط طلة قَز ٍ تا اًتراب اظ ؾَی واضتط آى ذاًِ ػَض قَز .زض ایي هحیط تایس زووِ ّای ٍ new ٍ undo ٍ saveجَز زاقتِ تاقس. واض زووِ ی saveایي اؾت وِ ًمكِ ای وِ هكاّسُ هیكَز ضا ضٍی فایلی شذیطُ وٌس (تَجِ وٌیس وِ ّوِ ی فایل ّا تایس زض پَقِ ای تِ ًام mapsزض وٌاض پطٍغُ ی قوا شذیطُ ٍ تاظیاتی قَز .زض صَضتی وِ اؾوی وِ اظ واضتط زضیافت هیكَز ٍجَز زاقتِ تاقس تایس تا زازى warningواضتط ضا اظ ایي لضیِ هطلغ ؾاظیس ٍ زض صَضت هَافمت واضتط آى ضا ضٍی ّواى فایل شذیطُ وٌیس. زووِ ی ً undoیع آذطیي تغییطی وِ واضتط زا زُ اؾت ضا تایس تِ ػمة تاظگطزاًس (ایي تغییطات ًاهحسٍز اؾت ٍ ّوِ ی تغییطاتی وِ اظ ظهاًی وِ ٍاضز هحیط ٍیطایف قسُ ایس تایس ٍجَز زاقتِ تاقس). زووِ ی newوِ تایس طَل ٍ ػطض ًمكِ ضا اظ واضتط زضیافت وٌس ٍ ًمكِ ی زیفالت تِ ایي اًساظُ ضا ایجاز وٌس. هحیط تاظی: زض ایي لؿوت تطًاهِ ی قوا تایس لاتلیت اجط ای تاظی تِ صَضت ًَتتی ضا تِ واضتط تسّسٌّ .گام قطٍع تاظی تایس تؼساز تاظیىي ّا اظ واضتط تپطؾیس(حساوثط 4تاظیىي) .زض ٌّگام قطٍع جای تاظیىي ّا تِ صَضت ضًسم ضٍی یىی اظ ذاًِ ّای Groundتؼییي هیكَز .تطای تاظی وطزى تایس تا زووِ ّای ویثَضز ایي اتفاق تیفتس وِ تِ ایي هٌظَض ،زووِ ّای ّ arrow keyا تطای حطوت ّؿتٌس وِ upتطای حطوت تِ جلَ ٍ downتطای حطوت تِ ػمة ٍ rightتطای چطذف تِ ضاؾت ٍ leftتطای چطذف تِ چپّ .ویٌطَض لثل اظ اًجام حطوت تاًه حك زاضز تا ظزى زووِ ی enter السام تِ قلیه ًوایس ٍ تؼس حطوت وٌس ٍ یا ایي وِ قلیه ًىٌس ٍ هؿتمیوا حطوت وٌس .تَجِ وٌیس وِ زض هحیط تاظی هتفاٍت اؾتفازُ وٌیس. لاتلیت زیگطی وِ تایس پیازُ ؾاظی وٌیس اًیویكي اؾتٌّ .گاهی وِ تاًىی لصس زاضز تچطذس تایس تِ گًَِ ای ػىؽ ّا ضا پكت ؾط ّن لطاض زّیس تا اتفاق هاًٌس اًیویكي زیسُ قَز ٍ تِ صَضت پیَؾتِ لَلِ ی تاًه حطوت وٌس( .ضاٌّوایی :تایس تؼساز ظیازی ػىؽ اظ تاًه تا ظاٍیِ ی لَلِ ی هرتلف زاقتِ تاقس ٍ آًْا ضا تِ پكت ؾط ّن تِ ًوایف تگصاضیس). تَجِ وٌیس وِ تاظی زض ایي فاظ ًیع تِ صَضت ًَتتی اؾت ٍ قوا تایس زلیما لَاػسـ هثل فاظ اٍل پطٍغُ تاقس. زض ّط لحظِ تایس ایي هَضَع وِ ًَتت وسام تاًه اؾت زض تاالی صفحِ تا ضًگ آى تاًه ًوایف زازُ قَز. پطٍغُ ؾطی زٍم زضؼ تطًاهِ ًَیؿی قیءگطا تاًه ّا زاضای جْت ّؿتٌس ٍ تایس جْت آًْا تِ زضؾتی ًوایف زازُ قًَس .تطای ًوایف ّط تاًه اظ ػىؿی تا ضًگ 3 تَجِ وٌیس وِ هاًٌس فاظ یه اگط تاًىی زؾتَض حطوت زاز ،چِ تَاًؿت حطوت وٌس ٍ چِ ًتَاًؿت ًَتت اظ اٍ گطفتِ هیكَز. ؾیؿتن هسیطیت ذطا زض ایي فاظ قوا تایس ؾیؿتن هسیطیت ذطا زاقتِ تاقس .تِ ایي صَضت وِ والؾی زاقتِ تاقیس تا ًام CETankException extends Exceptionوِ ذطاّای ظیط تچِ ّای آى ّؿتٌس: ToWallException ToBoxException CanNotFireException MapOutOfBoundException وِ exceptionاٍل ظهاًی ضٍی هیسّس وِ تاًىی لصس حطوت تِ ذاًِ ی زیَاض ضا زاقتِ تاقس. ٍ exceptionزٍم ظهاًی ضخ هیسّس وِ تاًىی لصس حطوت تِ ذاًِ ی جؼثِ ضا زاقتِ تاقس. ٍ exceptionؾَم ظهاًی ضخ هیسّس وِ تاًىی لصس قلیه گلَ لِ ضا زاقتِ تاقس ٍلی گلَلِ ای تطای قلیه ًساقتِ تاقس. ٍ exceptionزٍم ظهاًی ضخ هیسّس وِ تاًىی لصس حطوت تِ ذاًِ ی تیطٍى اظ ًمكِ ضا زاقتِ تاقس. تَجِ وٌیسوِ ایي ّ exceptionا تایس زضٍى تطًاهِ ی قوا تاقٌس ٍ throwقًَس ٍ زض صَضت ضخ زاز ّط وسام اظ آًْا تا catchوطزى آًْا پیغام هٌاؾة ضا تِ واتط ًوایف زّیس. پطٍغُ ؾطی زٍم زضؼ تطًاهِ ًَیؿی قیءگطا 4 نمره ی اضافی لؿوتی اظ ًوطُ ی اضافی ایي فاظ تِ ظیثایی گطافیىی تطًاهِ تؼلك زاضز .تطًاهِ ی قوا تایس تا حس اهىاى user friendly تاقس. لؿوت اصلی ًوطُ اضافی تِ powerupتؼلك زاضز .تِ ایي صَضت وِ تؼسازی ٍ itemجَز زاضًس وِ تا ذَضزى آًْا ّط تاًىی ٍیػگی ذاصی پیسا ذَاّس وطزّ item .ا تا تطویسى جؼثِ ّا ٍ تا احتوال % 50اظ جؼثِ ذاضج ذَاٌّس قس ٍ جای آًْا ذَاٌّس ًكؿت(.ایي وِ وسام یه اظ ّ powerupا تاقس ًیع تِ صَضت ضًسم ٍ تا احتوال تطاتط تؼییي هیكَز) ّط تاًىی تا ٍضٍز تِ آى ذاًِ هیتَاًس آى itemضا وؿة وٌس ٍ ٍیػگی هطتَطِ ضا پیسا وٌس .ایي ٍیػگی ّا زائوی ذَاٌّس تَز. ّط وسام اظ ّ powerupا تایس تا ػىؿی هٌاؾة ًكاى زازُ قًَس. ٍ اها ّ powerupای هَجَز زض ایي پطٍغُ: - 1لسضت گلَلِ :تا گطفتي ایي itemگلَلِ ّای تاًه اظ تَی زیَاض ّا ٍ جؼثِ ّا ضز هیكًَس .اگط اظ تَی جؼثِ ّا ضز قًَس جؼثِ ّا هیتطوٌس ٍ اگط اظ زیَاض ضز قًَس ّیچ اتفالی ًوی افتس ٍ اگط اظ Trapضز قَز Trapتثسیل تِ ظهیي هیكَز .تَجِ وٌیس وِ تیط هاًٌس ذاًِ ّای زیگط تایس ذاًِ ّای جؼثِ ٍ زیَاض ضا طی وٌس. - 2ؾطػت گلَلِ :تا گطفتي ایي itemگلَلِ ّای تاًه زض ّط ًَتت یه ذاًِ ی تیكتط ضا طی هیىٌٌس .هثال زض اتتسا ایٌگًَِ اؾت وِ گلَلِ ی تاًه ّا زض ّط ًَتت حطوت فمط یه ذاًِ تِ جلَ هیطٍز .تا یه تاض ذَضزى ایي itemایي ػسز تِ 2افعایف هیاتس یؼٌی گلَلِ زض ّط ًَتت 2ذاًِ جلَ هیطٍز ٍ زلیما ّواى ذاصیتْای حطوت تِ صَضت 1ذاًِ 1ذاًِ ضا زاضز ،هثال اگط تِ زیَاض ترَضز هتَلف هیكَز ٍ .تا ذَضزى زٍتاضُ ایي ػسز تِ 3 هیطؾس ٍ ّویٌطَض الی آذط. - 3تؼساز گلَلِ :تا گطفتي ایي itemتاًه هیتَاًس یه گلَلِ ی تیكتط تِ صَضت قلیه قسُ ٍ ّوعهاى زاقتِ تاقس( .ایي ػسز زض اتتسا 1اؾت) .هثال اگط تاًىی 2تا اظ ایي ّ itemا ضا زضیافت وطز .هیتَاًس تِ صَضت ّوعهاى 3گلَلِ قلیه قسُ زاقتِ تاقس. تَجِ وٌیس وِ ّ itemا زض صَضت تطذَضز گلَلِ هٌْسم هیكًَس ٍ ّویٌطَض گلَلِ ًیع اظ تیي هیطٍز. نمره بندی گطافیه تطًاهِ ٍ اجطای صحیح هحیط ٍیطایف ٍ هحیط تاظی 50 :اهتیاظ شذیطُ ٍ تاظیاتی اطالػات ًمكِ 30اهتیاظ ؾیؿتن هسیطیت ذطا 20 :اهتیاظ ظیثایی گطافیىی تطًاهِ +10 :اهتیاظ پطٍغُ ؾطی زٍم زضؼ تطًاهِ ًَیؿی قیءگطا +40 :powerupاهتیاظ 5
© Copyright 2024 Paperzz