اخبار و اطلاعات مربوط به دروس

در این وبلاگ مباحث مرتبط با دروس تدریسی توسط اینجانب پیگیری می شود.

اخبار و اطلاعات مربوط به دروس

در این وبلاگ مباحث مرتبط با دروس تدریسی توسط اینجانب پیگیری می شود.

هدیه ای از طرف دانشجویان
Mbt925.ir

۳ مطلب در فروردين ۱۳۹۳ ثبت شده است

۲۷
فروردين

صورت مسئله پروژه پایانی رو می تونید در ادامه دریافت بفرمائید.

 پروژه پایانی

  • بیگلری
۲۶
فروردين

تمرین نهم: بازی جدید

یک بازی جدید اختراع شده است. این بازی از تعدادی خانه بر روی یک مستطیل n در m تشکیل شده است.
قوانین بازی:
  • بازی 4 نفره است
  • خانه مربوط به هر بازیکن با یک رنگ مشخص شده است
  • در ابتدای بازی بازیکن سبز، روی خانه قرمز قرار دارد، بازیکن قرمز، روی خانه زرد، بازیکن زرد، روی خانه آبی و بازیکن آبی روی سبز.
  • هر بازیکنی که روی خانه همرنگ خود بایستد، برنده شده و از بازی کنار می رود.
  • رتبه بازیکن ها به ترتیب برنده شدنشان بستگی دارد
  • هر بازیکن یک تاس می اندازد
  • بازیکن سبز، به اندازه مقداری که روی تاس بیاید، به جلو حرکت می کند
  • بازیکن قرمز، اگر مقدار تاس بین 1 تا 3 باشد، به همان اندازه و اگر بین 4 تا 6 باشد، به اندازه نصف آن حرکت می کند
  • بازیکن زرد: می تواند هم به جلو و هم به عقب حرکت کند (هر کدام که به خانه زرد نزدیک تر است)
  • بازیکن آبی: مقدار تاس را از عدد 6 کم کرده و به مقدار باقیمانده حرکت می کند.
برنامه ای بنویسید که این بازی را به صورت زیر پیاده سازی کند کلاس player دارای فیلدها/توابع زیر است
  • فیلد خانه: اندیس خانه ای که روی آن قرار دارد
  • فیلد هدف: اندیس خانه ی هدف
  • فیلد w و h: ابعاد صفحه بازی
  • تابع move(int dice): مقدار تاس را گرفته و حرکت می کند
  • تابع isWinner: اگر اندیس خانه ای که روی آن قرار دارد و اندیس خانه هدف برابر باشند، true برمی گرداند
نکات:
  • کلاس player تابع move را خالی رها می کند
  • هر کلاس این تابع را برای خود دوباره نویسی می کند
کلاس Board وظیفه اجرای بازی را بر عهده دارد و دارای فیلدها و توابع زیر است:
  • سازنده این کلاس (m  و n ) را دریافت می کند.
  • یک آرایه چهارتایی از نوع Player که در خانه اول آن، یک بازیکن سبز، در خانه دوم، بازیکن قرمز، خانه سوم، بازیکن زرد و در خانه چهارم بازیکن آبی قرار می دهد
  • وظیفه انداختن تاس (تولید یک عدد تصادفی بین 1 تا 6) به عهده این کلاس است
  • تابع play: بازی می کند. با شروع از بازیکن سبز، تاس انداخته و از او می خواهد که حرکت کند (تابع move او را صدا می زند)
  • این تابع بعد از هر حرکت، تابع isWinner را فراخوانی می کند. در صورتی که بازیکن مربوطه برنده شده باشد، او را از بازی کنار می گذارد.
  • تابع printWinners: چهار بازیکن را به ترتیب برنده شدن در خروجی چاپ می کند

مهلت ارسال تمرینشنبه، 6 اردیبهشت 93، ساعت 24

تولید یک عدد تصادفی بین 0 و 10:

Random rnd= new Random();

int aRandomNumber= rnd.nextInt(10);

System.out.println(aRandomNumber);

۲۰
فروردين

تمرین هشتم: ارتقا کلاس دانشگاه

به کلاس دانشگاه پیاده سازی شده در تمرین ششم موارد زیر را بیفزایید.

  • شماره ترم هر دانشجو از نوع یک متغیر شمارشی باشد که فقط مقادیر TERM1 تا TERM9 را بپذیرد
  • در کلاس دانشگاه، یک کلاس داخلی بنویسید که دارای دو تابع زیر باشد:
  1. تابع filter: این تابع یکی ورودی دارد که دارای یکی از سه مقدار GOOD، AVERAGE و BAD است. در صورتی که مقدار GOOD را دریافت کرد، پنج دانشجویی که دارای بالاترین معدل هستند، در خروجی چاپ می شوند. با دریافت مقدار BAD، پنج دانشجویی که دارای کمترین معدل هستند و برای AVERAGE، پنج دانشجویی که دقیقا در میانه کلاس قرار دارند، چاپ می شوند.
  2. تابع print: این تابع نیز یک ورودی می گیرد که ترم دانشجو است (از نوع شمارشی) و همه دانشجویانی که در آن ترم قرار دارند را چاپ می کند
  • نکات:
  • منظور از چاپ مشخصات دانشجو، نام، نام خانوادگی، شماره دانشجویی، شماره ترم جاری و معدل است.
  • این پروژه دارای دو نوع شمارشی (enum) است.
  • کلاس دانشگاه دارای یک کلاس داخلی public به نام Printer است.
  • از کلاس Printer در تابع main یک نمونه ایجاد کنید و دو تابع filter و print را برای مقادیر مختلف، فراخوانی کنید.

مهلت ارسال تمرینشنبه، 23 فروردین 93، ساعت 24