مسیرها
/
MIPS Assembly
MIPS Assembly
/
تمرین‌ها
/
بازی زندگی کانوی
بازی زندگی کانوی

بازی زندگی کانوی

متوسط

مقدمه

بازی زندگی کانوی یک اتوماتای سلولی شگفت‌انگیز است که در سال ۱۹۷۰ جان هورتون کانوی، ریاضیدان بریتانیایی، آن را ابداع کرد.

این بازی از یک شبکه‌ی دوبعدی از سلول‌ها تشکیل شده است که هر سلول می‌تواند «زنده» یا «مرده» باشد.

پس از هر نسل، سلول‌ها بر اساس مجموعه‌ای از قواعد با هشت همسایه‌ی خود تعامل می‌کنند و همین قواعد نسل جدید را تعیین می‌کنند.

دستورالعمل‌ها

پس از هر نسل، سلول‌ها با هشت همسایه‌ی خود تعامل می‌کنند؛ همسایه‌ها سلول‌هایی هستند که به‌صورت افقی، عمودی یا مورب مجاور یکدیگر قرار دارند.

قواعد زیر برای هر سلول اعمال می‌شود:

  • هر سلول زنده‌ای که دو یا سه همسایه‌ی زنده دارد، زنده می‌ماند.
  • هر سلول مرده‌ای که دقیقاً سه همسایه‌ی زنده دارد، به سلول زنده تبدیل می‌شود.
  • همه‌ی سلول‌های دیگر می‌میرند یا مرده می‌مانند.

ماتریسی از ۱ها و ۰ها (متناظر با سلول‌های زنده و مرده) در اختیار دارید؛ قواعد را روی هر سلول اعمال کنید و نسل بعدی را برگردانید.

هر سطر از شبکه به‌صورت یک کلمه نمایش داده می‌شود.

برای مثال،

    0 1 0
    1 0 0
    1 1 0

به‌صورت زیر نمایش داده می‌شود:

0x2
0x4
0x6

شبکه حداکثر ۳۲ ستون دارد.

ثبات

ثبات کاربرد نوع توضیحات
$a0 ورودی عدد صحیح تعداد سطرها
$a1 ورودی عدد صحیح تعداد ستون‌ها
$a2 ورودی آدرس شبکه برای نسل فعلی
$a3 ورودی/خروجی آدرس شبکه برای نسل بعدی
$t0-9 موقت هر برای ذخیره‌سازی موقت استفاده می‌شود

منبع

Wikipediaاین لینک در پنجره یا تب جدیدی باز می‌شود.
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
MIPS Assembly Exercism

آماده‌اید بازی زندگی کانوی را شروع کنید؟

در Exercism ثبت‌نام کنید تا MIPS Assembly را همراه با 70 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.