نمودار آبشاری دعوت های نوشتن درباره شب یلدا

احتمالا اکثریت وبلاگ نویسان / خوانان با بازی یلدایی که سلمان به وبلاگستان فارسی وارد کرد آشنا هستند. هر کس پنج نکته که کسی درباره اش نمی دونه رو می نویسه و بعد پنج نفر رو دعوت به بازی می کنه.

البته بازی مشکلاتی داشت. بعضی ها کسانی که قبلا نوشته بودند رو دعوت می کردند. بعضی ها بیشتر از پنج نفر رو دعوت می کردند و تعدادی هم فکر می کردند کلا باید از خاطرات بچگی شون بنویسند (: هرچند که بعضی از خاطرات بچگی بامزه است.

حالا کار جالبی که می شه کرد اینه که ببینیم کی کی رو دعوت کرده و
درخت
گراف بازی یلدا (یا به عبارتی آبشار بازی یلدا) چجوری رشد کرده. برای اینکار باید از وبلاگ سلمان شروع کرد و دید کی رو دعوت کرده. بعد باید هر کدوم از اونها رو بررسی کرد و دید اونها کی رو دعوت کرده اند و کار رو به ترتیب ادامه داد. نتیجه ‌؟ یک فایل تصویری با حجم حدود ۱۹۰ کیلو ولی با عرض ۸۰۰۰ پیکسل که نشان می دهد چه کسی به چه کسی رو دعوت کرده. یک بخش کوچیک فایل به این شکل است:

PNG - 5 kb
بخشی از نمودار گراف یلدابازی / کوچک شده

و فایل اصلی هم برای داونلود اینجاست.

فایل تصویری یلدا بازی تا کمی بیش از یک مرحله

البته دقت کنید که من فقط تا اول های روند سوم پیش رفته ام. ماجرا می تونه همینجور ادامه پیدا کنه و یک پوستر خیلی قشنگ بشه برای یک مرکز تحقیقاتی ! اگر کسی اهل چاپ پوسترش بود (حتی یک دونه) به من خبر بده تا کاملش کنم چون خودم هم می خوام.

دو نکته: چون بعضی ها بیشتر از پنج نفر رو دعوت کرده اند، نمودار یکنواخت و خوشگل نیست. در عین حال چون می خواستم نمودار کمی جمع و جورتر بشه اسم وبلاگ ها رو خلاصه کرده ام.

پ.ن. حین این بررسی از این نوشته ابطحی هیچ خوشم نیومد که نوشته بود : « باور كنيد دو سه ساعت فكر كردم كه كدام ۵ تا وبلاگ را در ادامه يلدا بازی بنويسم. با حساسيت وبلاگم و ملاحظات مختلف و اين همه عزيز و نازنينی كه وبلاگ می‌نويسند، نتوانستم انتخاب كنم. اگر می‌شد يواشكی اعلام كرد، می‌كردم ولی حيف كه نمی‌شه. كاش می‌شد مثل شماها هر وبلاگی را كه دوست داشتم می‌نوشتم.» از اون مثل شماهاش هیچ خوشم نیومد (: خب اگر فکر می کنه مثل ماها نیست چرا با ماها بازی می کنه؟ (:

برنامه برای تولید اتوماتیک افتخارات وبلاگی

این صفحه در صفحه اول وبلاگ نیست چون اگر نوشته بشه بهتره سورپریز باشه !

فقط یک طرح است که به خاطر نوشته های بامزه دوستان در مورد افتخارات وبلاگی شون و وقتی که داشتمافتخارات وبلاگی خودم رو مینوشتم به ذهنم رسید. اگر دو سه نفر علاقمند بشوند اجراش می کنیم برای تفریح و خنده و سرگرمی که بخش مهمی از زندگی است.

طرح اینه که یک صفحه باشه که هر کس خواست بهش وصل بشه و انتخاب کنه که چند تا افتخار می خواد. مثلا ۱۰ تا. بعد برنامه می یاد به شکل اتوماتیک یک فهرست افتخارات ده تایی می سازه. شیوه کار اینه که ما یک عالمه کلمه در طبقه بندی های مختلف به برنامه می دیم و یکسری ساختار. مثلا مجموعه کلمات اینها هستند:

طبقه بندی محل: روزنامه شرق – سازمان ملل – عفو بین الملل – صلح سبز – انجمن قلم سوئد – جامعه مجازی اطلاعاتی – مرکز مطالعات خاورمیانه
طبقه بندی عنوان شغلی: نویسنده – سر دبیر – مدیر – مسوول – عکاس – خبرنگار – محقق – عضو
طبقه بندی نوع شعل: افتخاری – دائم – موقت – پیوسته – همیشگی
طبقه بندی زمان: برای سال های طولانی – برای دوسال – از پارسال
طبقه بندی چیز: مقاله – کتاب – ترجمه – ایده – شعر چاپ شده – شعر چاپ نشده – وبلاگ سانسور شده – جزوه درسی – لوح تقدیر
طبقه بندی تعداد: پنجاه، پنج، تعداد زیادی، چند، یک

و یکسری قاعده داریم:

طبقه بندی شغل + طبقه بندی محل + طبقه بندی زمان (مثلا می شه سردبیر انجمن قلم سوئد از پارسال)

دارای + طبقه بندی تعداد + طبقه بندی چیز (مثلا می شه دارای تعداد زیادی شعر چاپ نشده )

با اضافه کردن به طبقه بندی ها و قاعده ها می تونیم یک موتور تولید افتخارات وبلاگی بامزه درست کنیم. برنامه اش بسیار ساده است و چیزی که خوب اش می کنه تعداد خوبی طبقه بندی با محتویات بامزه و زیاد است و قواعد خوب. هرجور ایده بامزه ای رو هم می شه توش گنجوند.

مطمئنا هر کسی که همکاری کنه یا ایده جالبی بده جزو فهرست نویسندگان موتور نهایی خواهد بود با لینک و این چیزها (: ممکنه بشه یک برنامه بامزه و جذاب در آورد. اگر علاقمند بودید ایده ها و قواعد و لینک ها و طبقه بندی ها رو کامنت بگذارید و دائما صفحه و به روز می کنم با اید هها و قواعد جدید تا برنامه نوشته بشه (:

برنامه پیتون برای حل سودوکو

دوستی این جدول سودوکو را برام فرستاده بود تا اگر فرصت کردم براش حل کنم. احتمالا به خاطر اینکه قبلا مقاله ای نوشته بودم با عنوان «سودوکو را بدون لحظه ای فکر حل کنید». چون این دوست عزیز بود، و چون مدتی بود که می خواستم یک سورس حل سودوکو هم اینجا بذارم گفتم این یکی رو حل کنم و جواب رو بذارم اینجا.

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


1 _ 8 _ _ _ _ _
_ 7 _ 1 4 5 _ _ 3 _ _ _ _ _ _ 9 6
_ _ _ _ 2 _ _ 9
_ 2 _ _ _ 8 _ _ 5 _ _ 7 _ _ _ _ _ 7 6 _ _ _ _ _ _ 8
_ 3 6 2 _ 7 _ _
_ _ _ _ 9 _ 6 _

و خروجی چیزی شبیه شکل زیر:

سورس برنامه حل کننده سودوکو را از اینجا برداشتم.

برنامه XO به زبان سی پلاس پلاس

این برنامه بازی ایکس او یا همان تیک تا تو یا همان XO خودمان است که به خاطر درخواست های مکرر دوستان به شکل کاملا ساده و ابتدایی با CPP نوشته شده تا اگر کسی برای پروژه کلاسی دنبالش گشت پیدایش کند.

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

نکات مهم:

  • حتما کامنت های برنامه رو بخونین! یکبار یک نفر یک ضرب پروژه را داد به استاد و چون اسم من توی کامنت ها بود صفر گرفت
  • خوب و بد برنامه پای خودتان. مثلا تابع HasWinner به راحتی قابل ارتقاء به یک الگوریتم بسیار منطقی تر است
  • اگر حرفه ای تر هستین و برنامه رو مفیدتر (از دید یک دانش آموز) کردین و خواستین کامیت کنین، خوشحال می شم. حتی می تونین فایل دیگه ای کنارش بسازین که مثلا ریکرسیو چک کنه،‌ یا بازی کنه،‌ یا تحت شبکه باشه و ..