چھوٹے سی پی یو کے گرڈ میں اسمبلی لکھیں جو اپنی قدریں اپنے پڑوسیوں کو دیتے ہیں، ان پٹ اسٹریم کو ہدف میں تبدیل کرتے ہیں، اور ڈیڈ لاک سے بچتے ہیں۔
کھیلنے کا طریقہ
آپ بہت چھوٹے کمپیوٹرز کے گرڈ کو پروگرام کرتے ہیں۔ ہر ناپ اپنے ہی مختصر ہدایات کی فہرست چلاتا ہے اور صرف اسی کے ساتھ بات چیت کر سکتا ہے جو اس کے بالکل ساتھ ہو، پورٹس کے ذریعے قدریں بھیجتا ہے — لہذا اگر کوئی نمبر گرڈ کو عبور کرنا چاہتا ہے، تو اسے ہر ناپ کے ذریعے ہاتھ سے آگے بھجوایا جانا پڑتا ہے۔
ہر ناپ میں ایک اکومولیٹر اور کچھ ہدایات ہوتی ہیں: قدر کو منتقل کریں، جمع کریں، تفریق کریں، جھپٹیں۔
ایک ناپ اوپر، نیچے، بائیں یا دائیں پڑوسی سے پڑھ سکتا ہے یا لکھ سکتا ہے، یا ان پٹ اور آؤٹ پٹ اسٹریمز میں۔
پورٹس بلاک ہوتے ہیں۔ ایک ناپ جو دائیں جانب لکھ رہا ہے، بس انتظار کرتا ہے جب تک کہ اس کے دائیں والے ناپ اس کے بائیں جانب سے پڑھنے نہ لگے۔
اس کا مطلب ہے کہ دو ناپس کو نہ صرف قدر میں بلکہ وقت میں بھی اتفاق کرنا ہوتا ہے۔
اگر پورا سائیکل گزر جائے اور کوئی بھی پیش رفت نہ کرے جبکہ کوئی ابھی بھی انتظار کر رہا ہو، تو گرڈ ڈیڈ لاک ہو جاتا ہے۔
پازل اس وقت حل ہو جاتا ہے جب آؤٹ پٹ اسٹریم اس ہدف سے میل کھاتی ہے جس کی سطح مانگتی ہے۔
کنٹرولز
ڈیسک ٹاپ: ہر ناپ کے ٹیکسٹ باکس میں کوڈ ٹائپ کریں، ڈراپ ڈاؤن سے کوئی سطح منتخب کریں، پھر Run دبائیں
فون اور ٹیبلٹ: کام کرتا ہے، لیکن کوڈ لکھنے کے لیے بیرونی کی بورڈ کا استعمال بہت زیادہ تجویز کیا جاتا ہے
گیم موڈز
روزانہ: آج کی تاریخ سے بنایا گیا ایک مشترکہ پازل
مشق: New بٹن کے ذریعے تازہ رینڈمائزڈ ان پٹس کے ذریعے گھومیں
ٹپس اور حکمت عملی
حساب کتاب سے پہلے راستے کا ڈیزائن بنائیں۔ زیادہ تر ناکامیاں اس لیے ہوتی ہیں کہ قدریں جہاں چاہیں وہاں نہیں پہنچ پاتیں، نہ ہی کہ جمع غلط آتی ہے۔
دو ناپس جو ایک دوسرے کا انتظار کر رہے ہوں، یہ کلاسیکی ڈیڈ لاک ہے۔ اگر دونوں پڑھنے سے پہلے ایک دوسرے کی طرف لکھیں، تو نہ ہی کوئی حرکت کرتا ہے۔
جہاں ممکن ہو، ٹریفک کو ایک ہی سمت میں بہنے دیں۔ ایک گرڈ جس میں مستقل سمت ہو، اس کے بارے میں سوچنا اس سے کہیں آسان ہے جہاں قدریں ایک دوسرے کو کراس کر رہی ہوں۔
جب ضرورت ہو تو کسی ناپ کو خالص ریلی کے طور پر استعمال کریں۔ صرف قدر کو آگے بھجوانا ایک جائز اور اکثر ضروری کام ہے۔
بلاک شدہ ناپ کو پڑھیں، غلط جواب کو نہیں۔ جب آؤٹ پٹ رک جائے، تو معلوماتی بات یہ ہے کہ کون سا ناپ انتظار کر رہا ہے اور کس کے لیے۔
آپ کیا سیکھیں گے
Node Network ایک پیرل پروگرامنگ پازل ہے جو پیغامات کی منتقلی اور پروسیسرز کے میش میں ڈیڈ لاک سے بچنے کے بارے میں ہے۔
مہارتیں: پیرل اور کنکرنٹ پروگرامنگ، پیغامات کی منتقلی، ڈیڈ لاک سے بچاؤ
بہترین کے لیے: تقریباً گریڈ 9–12 (عمر 14+)
والدین اور اساتذہ کے لیے: کنکرنسی اور ڈیڈ لاک، ہاتھ سے عملی طور پر۔
اصل
بہت چھوٹے کمپیوٹروں کا ایک گرڈ، جن میں سے ہر ایک اپنی مختصر ہدایات کی فہرست چلاتا ہے اور صرف اپنے بالکل ساتھ والے پڑوسیوں سے بات کر سکتا ہے، TIS-100 ہے — Zachtronics، جولائی 2015 — جس نے اپنی پہیلیاں 1970 کی دہائی کی ایک خیالی، خراب مشین پر رکھیں۔
جو پابندی سکھائی جا رہی ہے وہ حقیقی اور متوازی کمپیوٹنگ میں مرکزی ہے: مشترکہ یادداشت کے بغیر، جس قدر کو گرڈ پار کرنا ہو اسے ہاتھ سے، نوڈ بہ نوڈ، پیغام رسانی کے ذریعے آگے بڑھانا پڑتا ہے۔
اور ہاتھ سے آگے بڑھانا ہی وہ طریقہ ہے جس سے آپ تعطل سے ملتے ہیں — دو نوڈ ہر ایک دوسرے کا انتظار کرتے ہوئے، دونوں ہمیشہ کے لیے رکے ہوئے۔ یہ ایک ایسا بگ ہے جسے وائٹ بورڈ پر واقعی سمجھایا نہیں جا سکتا، کیونکہ پوری مشکل یہ ہے کہ ہر نوڈ انفرادی طور پر درست برتاؤ کر رہا ہے۔
Node Network کے بارے میں
Node Network ایک پیرل پروگرامنگ پازل ہے جو پیغامات کی منتقلی اور پروسیسرز کے میش میں ڈیڈ لاک سے بچنے کے بارے میں ہے۔ یہ PlayPendium کے لیے اندرونی طور پر تیار کردہ ایک اصل، مفت براؤزر گیم ہے۔