TeachCraft: آموزش برنامه‌نویسی پایتون از طریق بازی ماینکرفت

TeachCraft: آموزش برنامه‌نویسی پایتون از طریق بازی ماینکرفت

TeachCraft وب‌سایتی است که به ارائهٔ دروسی برای آموزش مبانی برنامه‌نویسی به نوجوانان پرداخته که این مجموعه دروس بر پایهٔ برنامه‌نویسی به زبان پایتون هستند و در آن‌ها به آموزش مفاهیم و الگوریتم‌های مختلف پرداخته‌ شده و گفتنی است که استراتژی این وب‌سایت آموزش اصول کدنویسی در محیط بازی ماینکرفت می‌باشد.

پیش از ادامهٔ این مطلب، نیاز به توضیح است که پیش از این هم ماینکرفت در حوزهٔ آموزش برنامه‌نویسی سروصداهایی به‌ پا کرده بود. به‌ طور مثال، ماینکرفت برنامه‌ای تحت‌ عنوان Code Builder for Minecraft را عرضه کرده که به‌ منزلهٔ ماژول جدیدی است که محیط گیمینگ ماینکرفت را برای آموزش ساخت نرم‌افزار به کودکان آماده می‌کند. علاوه‌ بر این، در مقاله‌ای تحت‌ عنوان آموزش برنامه‌نويسى به كودكان از طريق Minecraft به توضیح این مسئله پرداختیم که ماینکرفت یکی از بهترین پلتفرم‌ها برای آموزش مسائل مختلف مانند آموزش منطق، حل مسئله و هندسه و از همه مهم‌تر برنامه‌نویسی به کودکان است.

پروسهٔ آموزش از طریق TeachCraft فعالیتی بر پایهٔ همکاری است چرا که دانش‌آموزان در فضایی به اصطلاح Multiplayer هستند و می‌توانند میزان پیشرفت یکدیگر را در زمینهٔ کدنویسی مشاهده کنند. همچنین با کدنویسی در این بازی می‌توانید خود را به یک اَبَرقدرت تبدیل کنید، برای ساختن شهرها و ساختمان‌های بزرگ الگوریتم‌های مختلف را به‌ کار بگیرید و می‌توانید یک محیط بازی دو یا چندنفره ایجاد کنید و مهارت‌های خود را به رخ دوستانتان بکشید به طوری که این وب‌سایت کدنویسی را به کاری سرگرم‌کننده تبدیل کرده‌ است. به عنوان نمونه سورس‌کد پایتون در این سرویس آموزشی داریم:

import mcpi.minecraft as minecraft
import time
 
mc = minecraft.Minecraft.create(address="127.0.0.1", name="stevetest")
 
active_spell = "teleport"
 
while True:
 
    for blockhit in mc.player.pollProjectileHits():
        if active_spell == "teleport":
            mc.player.setPos(blockhit.pos.x, blockhit.pos.y, blockhit.pos.z)
        elif active_spell == "lavapool":
            lava_block_id = 10
            mc.setBlocks(blockhit.pos.x+4, blockhit.pos.y-1, blockhit.pos.z+4,
                         blockhit.pos.x-4, blockhit.pos.y-1, blockhit.pos.z-4,
                         lava_block_id)
 
    for chatpost in mc.player.pollChatPosts():
        if chatpost.message.lower() == "lavapool":
            active_spell = "lavapool"
        elif chatpost.message.lower() == "teleport":
            active_spell = "teleport"
 
    time.sleep(.1)

این وب‌سایت همچنین به ارائهٔ یکسری پروژهٔ اپن‌سورس هم پرداخته که می‌تواند الهام‌بخش شما در طراحی و کدنویسی این بازی باشد. حال به‌ نظر شما استفاده از آموزش برنامه‌نویسی از طریق بازی به دانش‌آموزان چه‌قدر می‌تواند مؤثرتر و کارآمدتر باشد؟ نظرات خود را در این‌ باره با دیگر کاربران سکان آکادمی به اشتراک بگذارید.