بازی و برنامه نویسی!
چندین دهه ی پیش، برای یادگیری برنامه نویسی، گزینه های بسیار کمی وجود داشت – تعداد بسیار زیادی کتاب(که حتی کتاب های الکترونیکی هم موجود نبود)، بعضی موارد بسیار پایه ای که به صورت آموزش آنلاین بودند و باقی جنبه های آموزشی که تنها با تجربه کردن بدست می آمدند.
آموزش آنلاین چند وقتیست که بسیار رایج شده و در این چند سال اخیر راه بسیاری را پیموده تا به این مرحله رسیده است. درس های تعاملی به وجود آمده، ده ها آموزش آنلاین و یکی از راه های جذاب امروزی که همه از آن استقبال میکنند، یادگیری برنامه نویسی با استفاده از بازی کردن است!
وقتی که بازی میکنید، صرفا در حال بازی کردن هستید بدون هیچ هدف خاصی، بدون اینکه بازی به شما مورد خاصی را آموزش دهد(خصوصا در مورد برنامه نویسی). اما یادگیری برنامه نویسی با استفاده از بازی (بازی و برنامه نویسی) راه بسیار شگفت انگیزیست که کمک میکند تا آموزش مهارت های برنامه نویسی را به سادگی هرچه تمام تر پشت سر بگذارید. اینکار تمرینات را سرگرم کننده کرده و اگر ناگهانی در این مسیر افتاده باشید، ممکن است متوجه شوید که چهارساعتی سرگرم به بازی کردن و تقویت مهارت کدنویسی خود بوده اید بدون آنکه حتی متوجه شده باشید!
در اینجا سعی کرده ایم که سرگرم کننده ترین و مورد استفاده ترین بازی هایی که طی انجام آنها برنامه نویسی را یاد میگیرید معرفی کنیم، پس اگر به بازی و برنامه نویسی علاقه مند هستید، ادامه ی مطلب را از دست ندهید!
-
CodeMonkey
CodeMonkey برنامه نویسی را با استفاده از CoffeeScript آموزش میدهد، یک زبان برنامه نویسی حقیقی! که بتوانید بازی های خود را در قالب HTML5 بسازید. این پلتفرم مخصوص کودکان طراحی شده اما بطور قطع برای بزرگسالان نیز سرگرم کننده و مفرح است!
-
CodinGame
CodinGame بازی هایی را پیشنهاد میدهد که با استفاده از آنها بتوانید تا ۲۵ زبان برنامه نویسی را یاد بگیرید، که شامل مواردی چون JavaScript، Ruby و PHP است. یکی از نقاط قوت CodinGame این است که شما میتوانید با دوستان خود یا دانشجویان همبازی شوید و همچنین به رقابت های بین المللی برنامه نویسی دعوت شوید.
-
CSS Diner
CSS Diner یک راه ساده اما لذت بخش برای آموزش CSS است. ۳۲ مرحله وجود دارند که به شما یاد میدهند CSS Selector ها چطور کار میکنند. هر مرحله به ترتیب دشوارتر شده که باعث میشود با استفاده از آموزش های قبلی ترکیب های پیچیده تری ساخته و از آن استفاده کنید.
-
Flexbox Froggy
دوست دارید بدانید که flexboxهای CSS چطور کار میکنند؟ Flexbox Froggy را حتما چک کنید. طراحی ساده ای که به شما پایه های اینکه چطور اجزا در flexbox باهم ترکیب میشوند را با کمک به Froggy و دوستانش آموزش میدهد.
-
Flexbox Defence
Flexbox Defense راه بسیار خوب دیگری برای تقویت مهارت های شما در زمینه ی flexboxهاست. این بار شما برج های دفاعی را در مسیرهایی میذارید که با استفاده از آنها بتوانید موج های در راه دشمن را از بین ببرید، با استفاده از همان دستورهایی که در Flexbox Froggy استفاده کرده اید.
-
CodeCombat
CodeCombat برای استفاده ی دانش آموزان و معلمان طراحی شده، اما هرکسی میتواند با آن بازی کند. در این پلتفورم میتوانید Python، JavaScript، CoffeeScript یا زبان Lua را یاد بگیرید. در مراحل ابتدایی شما قهرمان خود را با استفاده از دستورات پایه ای که حین آموزش در کناره ی بازی یاد میگیرید به حرکت در می آورید. همچنین در موارد پیشرفته تر بایستی ثبت نام کرده و عضو کاربران خاص باشید!
-
Ruby Warrior
اگر میخواهید زبان Ruby یاد بگیرید، پس Ruby Warrior منتظر شماست! دراین سایت موارد پایه ای و پیشرفته برای پوشاندن لباس مهارت به تن مهارت شما درهر مرحله استفاده میشود. درس ها از مراحل ساده شروع شده و کم کم دشوارتر میشوند. همچنین باید برای اینکه پیشرفت خود را ذخیره کنید از اکانت Facebook خود استفاده نمائید.
-
Untrusted
Untrusted یک بازی ماجراجویی برپایه ی زبان برنامه نویسی JavaScript است که مهارت های شما در این زبان را بررسی کرده تا به کمک آن مسائل و مشکلات را حل نماید. شما از JavaScript استفاده میکنید تا دکتر اوا را که در ماشین خود نشسته و در حال تغییر واقعیت است بین مراحل به حرکت درآورید. یک بازی بسیار عالی برای تمرین مهارت های پیشرفته ی JavaScript.
-
Code Hunt
Code Hunt کدنویسی را به شما به شکل منحصربفردی آموزش میدهد. برای بازی کردن، شما تکه های کدنویسی را تشخیص داده، آنهارا آنالیز کرده، کدها را برای شکل دادن قطعه های پازل ویرایش کرده و سپس در نهایت قطعه ی نهایی و پازل نهایی را تشکیل میدهید. میتوانید از این سایت برای آموزش زبان های #C و Java استفاده نمایید.
-
Robocode
اگر پیگیر برنامه ی تلویزیونی BattleBots باشید، پس Robocode برای شما طراحی شده است. میتوانید زبان های برنامه نویسی Java یا NET. را با استفاده از ساخت تانک های مجازی رباتیک یاد بگیرید. در نهایت نیز جنگ ربات ها بصورت بلادرنگ در صفحه اجرا خواهند شد.
-
CheckIO and Empire of Code
CheckIO and Empire of Code هر دو بازی های استراتژی هستند که میتوانند به شما به کمک شیوه های بازی و برنامه نویسی، زبان های Python یا JavaScript را آموزش دهند. بازی Empire of Codes از تنظیمات بازی های فضایی استفاده میکند که شما با دفاع کردن از پایگاه فضایی خود و حمله به دیگران، کدنویسی یاد میگیرید در حالیکه CheckIO به شما با حل مسائل دیگران کمک میکند تا مهارت های خود را ارتقا دهید.
-
VIM Adventures
VIM یک ویرایشگر متن قابل تنظیم است که توسط برنامه نویس ها به کار گرفته شده. اگر میخواهید یاد بگیرید که چطور با VIM کار کنید، پس VIM Adventures یک جای بسیار مناسب برای استارت کار است! از شورتکات های معمول کیبورد VIM برای راهنمایی طی یک بازی ماجراجویی به سبک بازی های Zelda استفاده کنید.
-
Cyber Dojo
Cyber Dojo دارای تمرینات و چالش های بسیار زیادی برای زبان های برنامه نویسی شامل Ruby، JavaScript، PHP، Python و غیره است. این پلتفرم با نشان دادن اینکه نتیجه ی نهایی باید به چه شکل باشد، یک چالش برای تکمیل آن ارائه میدهد. راهی بسیار عالی برای تمرین و بهبود دادن مهارت های برنامه نویسی شما.
-
Elevator Saga
Elevator Saga دانش زبان JavaScript شما را با استفاده از چالش های مربوط به حرکت یک آسانسور و انتقال مردم به بهترین نحو ممکن، امتحان میکند. اولین چالش آن با انتقال ۱۵ نفر در کمتر از یک دقیقه شروع می شود، که در نهایت این چالش ها از این نقطه ی شروع برای ادامه دشوار تر هم میشوند.
-
Codewars
Codewars به شما کمک میکند تا با تمرین با دیگران، مهارت های کدنویسی خود را بهبود دهید. آنها تنوعات بسیار زیادی از زبان های برنامه نویسی موجود را پیشنهاد میکنند که شما زبان هایی چون JavaScript، Swift، PHP، Python، Ruby و Haskell است. البته شما باید در ابتدا ثابت کنید که دانش پایه ای از این زبان ها دارید تا برای تقویت بیشتر آن، به تمرین بپردازید.
-
Screeps
با استفاده از Screeps، زبان JavaScript یاد بگیرید. این بازی به قصد اینکه اولین بازی استراتژی MMO ی دنیا از سری بازی های sandbox برای برنامه نویس ها باشد، طراحی شد. جالب است بدانید منظور از Screeps، کدهای خزندگان یا “Scripting Creeps” می باشد!
-
Ruby Quiz
Ruby Quiz یک چالش کدنویسی هفتگی برای برنامه نویس های زبان Ruby است که در روح و قالب Perl Quiz بصورت هفتگی اجرا میشود. درحال حاضر این سایت ۱۵۶ آرشیو امتحانات دارد.
-
Git Games
Git-games یک درگاه بر پایه ی بازی است که ویژگی های بسیار خوبی از سیستم git scm(source control management) را به شما آموزش میدهد. قالب و ژانر بازی یک بازی شکار تسخیر شده است. استفاده از دستورات git که شما حین بازی پیدا میکنید به حل کردن این پازل به شما کمک میکنند.
-
Hacker Org
چالش های Hacker Org یک سری از پازل ها، حقه ها، تست ها و سوالات پیچیده ایست که طراحی شده تا اعماق مهارت های هکینگ شما را امتحان کند! برای استاد شدن در این سری از تست ها شما باید رمزنگاری ها را بشکنید، کدهای هوشمندانه بنویسید و کدهای نفوذ ناپذیر را تشریح کنید.
-
TIS-100
” بازی زبان برنامه نویسی اسمبلی ای assembly که هیچوقت آن را درخواست نکرده بودید!” چیزیست که بسیار خوب درباره ی این سایت گفته شده است. TIS-100 یک بازی ویدوئی مانند است که متفاوت از بقیه، شما را مجبور میکند تا یک زبان برنامه نویسی سطح پایین اسمبلی را یاد گرفته و استفاده کنید تا به کمک آن پازل هایش را حل کنید. این بازی اصلا یک جوک نیست – دشوار بوده، دارای پایان باز است و جای دوباره کاری در آن بسیار زیاد است، البته به شرطی که از بازی کردن آن به ستوه نرسیده باشید و سردرگم نشده باشید تا اینکه بازی را پاک کنید!
-
Shenzhen I/O
این گیم از همان استودیویی میاید که TIS-100 آمده است. پازلی که به شما وظایفی میدهد تا با تشکیل حلقه ها و نوشتن حلقه های اسمبلی ساده سازی شده، آنها را تست و اجرا کنید. بین دو بازی از این استودیو، Shenzhen I/O قابل دسترس تر و راحت تر بوده و تجربه ی لذت بخش تری برای حل مسائل پیچیده، برای شما به ارمغان می آورد.
-
Human Resource Machine
در Human Resource Machine، شما به عنوان یک کارمند اداره ای که با تلفیق دستورالعمل های متنوع مسائل را حل میکند بازی میکنید. در کل، این گیم درباره ی حل کردن پازل طی کدنویسی در قالبی گرافیکیست، که حتی تا جایی عمیق میشود که میتوانید مفاهیم منطق حلقه های برنامه نویسی و مدیریت حافظه را نیز یاد بگیرید، اما در قالب یک گیم ساده و کارمند یک اداره! این بازی مثال بسیار خوبی برای تمرین ذهن برنامه نویس شماست!
خب، امیدواریم که از این لیست نهایت استفاده رو برده باشید و به کمک بازی و برنامه نویسی، بتوانید ذهن خود را آماده کرده و منطق آن را براحتی در ذهن خود پیاده سازی کنید تا از پیشرفت خود در کدنویسی به همراه بازی کردن و با استفاده از راهکارهای بازیوار، نهایت لذت را ببرید!
همچنین در صورت داشتن پیشنهادات بیشتری از این نوع سایت ها، می توانید در بخش نظرات مطرح کرده و به ما و دیگر دوستانتان اطلاع دهید! 😉