کد بازی شطرنج ساده با زبان سی پلاس پلاس

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

برای شروع پرسش جدید از این لینک اقدام کنید.

سوال: کد بازی شطرنج ساده با زبان سی پلاس پلاس با کمک توابع، آرایه و شرط

به عنوان یک مثال ساده، می‌توانید با استفاده از زبان C++ و با کمک آرایه‌ها، توابع و شرط‌ها، یک بازی شطرنج ساده بنویسید. برای شروع، کد زیر را بررسی کنید:

#include <iostream>
using namespace std;

// تعریف تابع چاپ صفحه شطرنج
void printBoard(char board[8][8]) {
    cout << "  0 1 2 3 4 5 6 7" << endl;
    for (int i = 0; i < 8; i++) {
        cout << i << " ";
        for (int j = 0; j < 8; j++) {
            cout << board[i][j] << " ";
        }
        cout << endl;
    }
}

int main() {
    // تعریف صفحه شطرنج و مقداردهی اولیه آن
    char board[8][8] = {
        {'R', 'N', 'B', 'Q', 'K', 'ای', 'N', 'R'},
        {'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P'},
        {' ', '.', ' ', '.', ' ', '.', ' ', '.'},
        {'.', ' ', '.', ' ', '.', ' ', '.', ' '},
        {' ', '.', ' ', '.', ' ', '.', ' ', '.'},
        {'.', ' ', '.', ' ', '.', ' ', '.', ' '},
        {'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p'},
        {'r', 'n', 'b', 'q', 'k', 'b', 'n', 'r'}
    };

    // چاپ صفحه شطرنج اولیه
    printBoard(board);

    // شروع بازی
    int x1, y1, x2, y2;
    while (true) {
        // دریافت موقعیت شروع حرکت
        cout << "Enter the starting position (x, y): ";
        cin >> x1 >> y1;

        // دریافت موقعیت پایانی حرکت
        cout << "Enter the ending position (x, y): ";
        cin >> x2 >> y2;

        // بررسی صحت حرکتر با توجه به شرایط شطرنج
        if (x1 < 0 || x1 > 7 || y1 < 0 || y1 > 7 || x2 < 0 || x2 > 7 || y2 < 0 || y2 > 7) {
            cout << "Invalid move! Try again." << endl;
            continue;
        }
        if (board[x1][y1] == ' ') {
            cout << "No piece selected! Try again." << endl;
            continue;
        }
        if (board[x2][y2] != ' ') {
            cout << "Invalid move! Try again." << endl;
            continue;
        }

        // انجام حرکت و به‌روزرسانی صفحه شطرنج
        board[x2][y2] = board[x1][y1];
        board[x1][y1] = ' ';

        // چاپ صفحه شطرنج پس از حرکت
        printBoard(board);
    }

    return 0;
}

در این کد، یک صفحه شطرنج به صورت یک آرایه دو بعدی از کاراکترها تعریف شده است که مقداردهی اولیه آن به عنوان حالت شروع بازی قرار گرفته است. سپس یک تابع چاپ صفحه شطرنج تعریف شده است که با استفاده از دو حلقه for، صفحه شطرنج را چاپ می‌کند.

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

با این حال، این کد فقط یک مثال ساده از بازی شطرنج است و اصولاً یک بازی شطرنج کامل شامل امکاناتی مانند حرکت‌های ویژه، شاه گرفته شدن، تحریک وغیره است.

هرچه بیشتر بدانید بهتر است🔸⚡❔❕

tendaiwo

تِندایو، پرسش از دنیای آی تی

خیلی سوالات زیادی داریم که باید به همه آنها پاسخ داده شود.سوالاتی بسیاری در زمینه نرم افزار، سخت افزار،سایت، سئو، برنامه نویسی و ... که تِندایو جوابشان را میداند.

"تندایو" (Tendaiwo) که به معنی "حرکت به سوی پیشرفت" در زبان شونا، یکی از زبان‌های محلی زیمبابوه است، یکی از اسامی آفریقایی با معنی بسیار جالب است. این نام، نشان دهنده روحیه‌ی پیشرفت، بهبود و تلاش در زندگی است.با بیشتر دانستن، تلاش کنید و به خواسته هایتان برسید.

شما هم میتوانید سوالتان را بپرسید تا پس از پاسخ دهی توسط تندایو در دسته موردنظر ثبت شود.برای ورود به بخش اصلی میتوانید بر روی دکمه زیر کلیک کنید.

تِندایو، پرسش از دنیای آی تی

سوالاتی که به تازگی کاربران بازدید کرده اند

تِندایو پرسش آی تی پرسش ارز دیجیتال

ماینینگ چیست؟ درباره ماینینگ بیت کوین

تِندایو پرسش ارز دیجیتال

نقشه راه همستر کامبت چگونه است؟

تِندایو پرسش آی تی پرسش وردپرس

آیا برای هر وردپرس باید یک دامنه مجزا داشت؟

تِندایو پرسش آی تی پرسش سیستم عامل

مقدمه کدنویسی سیستم عامل با زبان C

تِندایو پرسش سیستم عامل

دستور lvextend و gvextend چیست؟

تِندایو پرسش تلفن همراه

چطوری شارژ ایرانسل را انتقال بدیم؟

تِندایو پرسش شبکه اجتماعی

روش نصب مجدد واتساپ با شماره قبلی

تِندایو پرسش آی تی پرسش سخت افزار

اگر روی سی دی بازی خط افتاده باشد ممکن است کار کند؟

تِندایو پرسش آی تی پرسش عمومی پرسش فناوری

پروژه AVR چیست؟

تِندایو پرسش آی تی پرسش ابزار

چگونه عکس هایم را به فضای ابری انتقال دهم؟

تِندایو پرسش برنامه نویسی

درباره زبان برنامه نویسی Kotlin

تِندایو پرسش آی تی پرسش سئو پرسش سایت پرسش فناوری

آیا انتقال هاست می‌تواند باعث کاهش ترافیک سایت شود؟

تِندایو پرسش ارز دیجیتال

نایت کوین چیست؟

تِندایو پرسش نرم افزار

نرم افزار yumi چیست؟

تِندایو پرسش آی تی پرسش عمومی پرسش فناوری

انواع فناوری های تبدیل به زیست توده انرژی

آیا این مطلب برای شما مفید بود؟

بله
نه اصلا
از اینکه بازخورد خود را در اختیار ما گذاشته اید متشکریم. تا بعد 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *