خیلی وقت بود می خواستم این تاپیک رو بیارم بالا و به اونایی که فکر می کردند این کارا تو ایران نمیشه بگم که اشتباه می کنند! بگم که ایراد از طرز فکر و همت خودمونه.
تقریبا 4 ماه پیش بود که تاپیکی با این موضوع رو ایجاد کردم و از دوستان برای عضویت در یک گروه دعوت کردم. خیلی ها مثل همیشه می گفتند "امکان نداره!". بعضی ها که با تجربه بودند راهکار نشان می دادند و خطرات این کار را گوشزد می کردند. خیلی ها هم بی تفاوت از کنار آن می گذشتند.
جناب MIDOSEفکر می کنم اون معجزه ای که گفته بودید اتفاق افتاده و گروه الان تقریبا 4 ماهه که سرپاست و پیشرفت های زیادی هم داشته و با انگیزه ای که در بچه ها برای یادگیری می بینم بقیه تا آخر ماندنی هستند.
از جناب MIDOSE تشکر ویژه ای هم دارم چون توصیه های ایشون بسیار کارامد و عملی بودند. در طول این راه بعضی از این نکات رو از نزدیک لمس کردم. امیدوارم در ادامه باز هم ما رو راهنمایی کنند.
از ایده kochol خان هم استفاده کردم و برای غیبت ها جریمه ای در نظر گرفتم که چند نفری تا حالا پرداخت کردند.
اسامی اعضای گروه رو همینجا می نویسم بعدا با چهره های این دوستان هم آشنا می شوید:
جلال آقازاده- سامان وزیری- محمدعلی قدس- سیاوش عابدی- امیرحسین جوان آملی ( خودم ). البته اولش 7 نفر بودیم که به دلایلی 2 نفر نتونستند ادامه بدهند
در ضمن قراره که با آموزش های مکرر این تاپیک رو بالا نگه داریم تا پرچم اولین گروه موفق این بخش ( تا اونجا که من اطلاع دارم ) بالا بماند و دوستان جدید هم که مایل به همکاری هستند بتوانند اعلام کنند.
فکر کنم زیادی تعریف کردم! حالا بگم از مشکلات که کم هم نیستند:
اولین مشکل اینه که بلد نیستیم کار گروهی به معنای واقعی آن انجام دهیم. این به معنای ناتوانی نیست بلکه به نظرم این مشکل پایه ای است که نظام آموزشی کشور ما دچار آن است و برای همین است که می گن ما ایرانی ها نمی تونیم کار گروهی را درست انجام دهیم. یه جورایی هم از اول به گروه های معلم شاگردی عادت کردیم و ترک این عادت مشکل است. اما تشکیل گروه و پایداری اون به خیلی چیزهای دیگه مثل اخلاق اعضا، شخصیت و انگیزه کافی افراد، تکیه گاه علمی مناسب و ... بستگی دارد.
در مورد گروه خودمون بگم که به نظرم مهمترین عامل پایداری گروه اخلاق و شخصیت اعضای آن بوده طوری که تقریبا همه با هم جور بودیم و می تونستیم با هم کنار بیایم.
مشکل بعدی اینه که باز هم اکثر ما ایرانی ها تا زور بالا سرمان نباشه کاری انجام نمیدیم. تا امتحانی نباشه درس نمی خونیم؛ تا فشاری نباشه تمرین انجام نمیدیم. خیلی وقت ها شده مجبور شدم از گزوه امتحان بگیرم بلکه برنامه داده شده رو به طور کامل انجام دهند و اکثر مواقع هم مجبورم خودم اون بخش رو توضیح بدم. البته برای رفع این مشکلات برنامه هایی دارم که امیدوارم بتونم اجرایی کنم.
برای بیان مشکلات حرف زیاده اما همین مشکلات بعدا میشه تجربه و حداقل به من خیلی چیزها رو آموزش داده.
به هر حال با همه این دردسرها گروه پابرجاست و بچه ها هم انگیزه قوی دارند فقط باید عادت ها کمی تغییر کنه که زمان می بره.
وبلاگی هم برای گروه درست کردیم که گزارشات هر هفته رو توش می نویسیم. مسئول این وبلاگ جلال هست که ذوق هنری خیلی خوبی هم داره.
directxgroup.blogfa.com
در اولین جلسات از جزوه فراهی بخش کلاس ها رو مطالعه کردیم و چند تا تمرین هم انجام دادیم تا C++ دوره شود و اشکالات مشخص بشه. در کنار C++، یادگیری API های ویندوز را نیز شروع کردیم که تقریبا در حد نیاز کارمون یاد گرفتیم. البته C++ وسعت زیادی داره و مهارت در آن نیازمند تمرین مستمر و زیاده. برای همین تصمیم گرفتیم با دعوت از استادی برجسته در این زمینه یک دوره آموزشی برای بچه های گروه بگذاریم.
بعد از دوره اجمالی C++ کتابی که به عنوان منبع اصلی معرفی کرده بودم رو شروع به خوندن کردیم و مباحث پایه که شامل 3 فصل اول می شد رو به طور کامل خوندیم.
تا الان که این مطلب رو می نویسم مباحث initialize کردن DirectX و چندتا کار ساده مثل نوشتن روی صفحه و رسم خط و اشکال هندسی دوبعدی و حرکت آن ها رو یاد گرفتیم. عکس نمونه کارهای گروه به همراه لینک برنامه ها رو در زیر مشاهده می کنید:
اولین برنامه ای که اجرا کردیم متصل کردن پنجره به DirectX بود که فکر نمی کنم لازم باشه عکسی ازش بگذارم چون چیز خاصی نداره
دومین کار نوشتن یک متن ساده بر روس صفحه بود که چیزهای زیادی تو این قسمت یاد گرفتیم.
لینک کد برنامه
سومین کارمون کشیدن خط روی صفحه بود که هر چند کار خاصی نبود اما برای ما که اولین بار بود این کار را انجام میدادیم کلی ذوق داشت. با استفاده از همین خط ها یک مربع کشیدیم و اون رو حرکتش دادیم:
لینک کد برنامه
برنامه بعدی این بود که وقتی مربع حرکت می کنه هنگام برخوردش با دیوار، کاری کنیم که برگرده و از اون رد نشه. کار جالبی بود و کلی هم وقتمون رو گرفت اما نتیجه بدی نشد.
کار بعدی کشیدن یک چند ضلعی با استفاده از موس بود. این کار مستلزم این بود که طریقه ارتباط با موس رو یاد می گرفتیم که تقریبا تا حد کمی یاد گرفته بودیم و تونستیم برنامه رو بنویسیم. البته این برنامه یه جور برنامه نقاشی هم بود چون اگه کلید چپ موس رو نگه دارید و حرکتش دهید به طور پیوسته خط می کشه.
آخرین کاری که انجام دادیم به پیشنهاد سامان بود. سامان در مورد پروژه گرافیک دانشگاهش صحبت کرد و گفت که یه برنامه ای باید می نوشتند که چندضلعی رو روی صفحه رسم کرده و بعد بتوان اون رو چرخش داد. این پروژه در آخرین جلسه قبل امتحان ها مطرح شد و وقت نکردیم تو جلسه کاملش کنیم. بعدا خودم کاملش کردم و قرار شد اولین جلسه بعد از امتحانات بقیه اعضای گروه هم این برنامه رو بنویسند:
لینک کد برنامه
در این برنامه با فشردن کلید چپ در نقاط مختلف می توانید چندضلعی را رسم کنید. با استفاده از کلید وسط موس می توانید چند ضلعی را حرکت دهید و با فشردن کلید راست موس و حرکت دادن به سمت چپ و راست می توانید چندضلعی را بچرخانید. البته با تغییر متغیر عمومی angle می توانید درجه دلخواه را قبل از اجرا کردن برنامه وارد کرده و هنگام اجرا با فشردن کلید R عمل چرخش را انجام دهید. چرخش بر اساس مبدا مختصات که گوشه بالا سمت چپ پنجره می باشد انجام می شود.
البته ما در جلسات اول روی مقدمات خیلی کند کار کردیم تا همه به طور کامل این بخش رو که پایه همه بخشهای دیگر است، به خوبی یاد بگیرند.
به علت شروع شدن امتحانات چند هفته ای به گروه استراحت داده شد.
قراره مطالب آموزشی از کارهایی که انجام می دهیم را به کمک اعضای گروه تهیه کرده و در همین تاپیک قرار بدهم تا بقیه دوستان هم استفاده کنند.
خوشحال میشم از نظرات همه دوستان در ادامه کار استفاده کنم.