C پروژه شطرنج براي

شروع موضوع توسط MSN_Golden ‏21 نوامبر 2005 در انجمن خانواده C++ , C

  1. MSN_Golden

    MSN_Golden کاربر تازه وارد

    تاریخ عضویت:
    ‏7 سپتامبر 2004
    نوشته ها:
    257
    تشکر شده:
    3
    با سلام خدمت شما دوستان
    كسي پروژه آماده شطرنج تحت C داره ؟ ( البته سورسش )
    ضمنا ميخواستم بدونم كه چطوري مثلا ميتونم يك آرايه دو بعدي از نوع رشته رو توليد كنم
    ممنون از شما
     
  2. mostafa_gm

    mostafa_gm Registered User

    تاریخ عضویت:
    ‏4 آپریل 2005
    نوشته ها:
    1,718
    تشکر شده:
    231
    محل سکونت:
    My House
    طراحی بازی شطرنج که فکر نمیکنم کار هر کسی باشه.
    آرایه رشته رو هم میشه اینطوری تعریف کرد:
    PHP:
    char str[10];
     
  3. Persianit

    Persianit Registered User

    تاریخ عضویت:
    ‏19 ژوئن 2005
    نوشته ها:
    910
    تشکر شده:
    16
    محل سکونت:
    پای کامپیوتر
    دو بعدی توی c اینجوری بید :
    char s[2][3] f دو بعدی

    سورس شطرنج خفنه. ولی میشه روش کارکرد و یک چیز باحال درست کرد
     
  4. setareh2

    setareh2 Registered User

    تاریخ عضویت:
    ‏24 ژانویه 2005
    نوشته ها:
    647
    تشکر شده:
    2
    محل سکونت:
    OC
  5. setareh2

    setareh2 Registered User

    تاریخ عضویت:
    ‏24 ژانویه 2005
    نوشته ها:
    647
    تشکر شده:
    2
    محل سکونت:
    OC
  6. Arash75

    Arash75 Registered User

    تاریخ عضویت:
    ‏20 دسامبر 2002
    نوشته ها:
    123
    تشکر شده:
    0
    تو Sample Code های Borland C++ 3.1 هم یک Chess هست اگه بخوای میشه گشت دنبالش . ولی اگه الگوریتم کسی سراغ داره فکر کنم مفید تر باشه تا کد. خواندن کد کار راحتی نیست معمولا!

    راجع به آرایه هم واسه حجم کوچیک همین که دوستان گفتن واسه حافظه زیاد Pointer

    // get mem for 100 * 100 char array
    char ** array;
    int status ;
    if( (array= new char * [100]) != NULL ){
    for( i = 0; i < 100 ; i++ ){
    array = NULL;
    if( !status ){
    if( (array = new char [100]) == NULL )
    status = 1;
    else
    memset( array, 0x0, sizeof(char) * 100 );
    }
    }
    }
    else{
    status = 1;
    }

    status واسه بررسی خطا است فکر کنم کلیت داستان و نشون بده این نمونه کد گر چه تو این ادیتور خیلی بد قیافه ست!!
     
  7. programmer

    programmer کاربر تازه وارد

    تاریخ عضویت:
    ‏1 نوامبر 2005
    نوشته ها:
    84
    تشکر شده:
    0
    سلام
    از
    کد:
    char *str[100];
    میشه برای ایجاد آرایه ای از رشته ها در ++C استفاده کرد.
    اگه طول رشته ها قابل پیش بینی باشه میشه از
    کد:
    char str[100][Max_Length]; 
    استفاده کرد که Max_Length ماکسیمم طول رشته ها همراه با NULL است .
    این هم کدی که جناب Arash نوشته بودند:
    کد:
    // get mem for 100 * 100 char array
    char ** array;
    int status ;
    if( (array= new char * [100]) != NULL ){
    for( i = 0; i < 100 ; i++ ){
    array[i] = NULL;
    if( !status ){
    if( (array[i] = new char [100]) == NULL )
    status = 1;
    else
    memset( array[i], 0x0, sizeof(char) * 100 );
    }
    }
    }
    else{
    status = 1;
    } 
    
    فقط اگه یه توضیح در مورد این کد می دادید خیلی بهتر بود، چون افراد تازه کاری مثل من باید وقت زیادی برای فهمیدن جزئیات این کد بگذارند.
    کد:
    char ** array;
    در واقع اشاره گری به یک اشاره گر است(اشاره گری به یک رشته).
    بعد یک آرایه رو با استفاده از تخصیص حافظه پویا به array نسبت دادید و چک کردین خطایی رخ داده یا نه.
    تابع memset هم که با شروع از ابتدای پارامتر اولش که یک اشاره گرهست، به اندازهای که پارامتر سوم که از نوع Size_t پارامتر دوم رو در اون اشاره گر قرار میده.
    مثلآ
    کد:
    memset(str,'A' ,sizeof(char)*10)
    
    اگه اندازه char یک بایت باشه ،10 بایت اول از str رو با کاراکتر A پر می کنه.
    در مورد محتویات آدرس OxO (خانه صفر حافظه) میشه توضیح بدین؟
    فکر کنم بهتره خودتون توضیح کامل رو بدین.
     
  8. Persianit

    Persianit Registered User

    تاریخ عضویت:
    ‏19 ژوئن 2005
    نوشته ها:
    910
    تشکر شده:
    16
    محل سکونت:
    پای کامپیوتر
    میشه روی الگوریتمش کار کرد. باید درخت را بدونی
     
  9. programmer

    programmer کاربر تازه وارد

    تاریخ عضویت:
    ‏1 نوامبر 2005
    نوشته ها:
    84
    تشکر شده:
    0
    در واقع باید کل وقتت رو بزاری واسه این کار چون واقعآ جدیه و خیلی هم مشکل !
    میشه بگین این پروژه رو برای چه درسی دارید میدید؟
     
  10. Arash75

    Arash75 Registered User

    تاریخ عضویت:
    ‏20 دسامبر 2002
    نوشته ها:
    123
    تشکر شده:
    0
    ببخشید کد خیلی روشن نیست. یک تیکه رو کپی کردم از یکی از سورس های خودم اینه که واضح نیست. در واقع این کار memset و متغییر status موقع delete کمک میکنه که من نیاوردم فقط قسمت new رو کپی کردم اجازه بده یک نمونه کد و attach کنم به یک پست دیگه چون ادیتور اینجا واسه کد منو اذیت میکنه!!!!
     
  11. Arash75

    Arash75 Registered User

    تاریخ عضویت:
    ‏20 دسامبر 2002
    نوشته ها:
    123
    تشکر شده:
    0
    SampleCode رو نگاه کنید فکر کنم دیگه همه چیش روشنه ;)
     

    فایل های ضمیمه:

  12. لیلی

    لیلی کاربر تازه وارد

    تاریخ عضویت:
    ‏7 نوامبر 2005
    نوشته ها:
    15
    تشکر شده:
    0
    محل سکونت:
    Esf
  13. avajang.com .leftjee.ir.right
  14. mostafa_gm

    mostafa_gm Registered User

    تاریخ عضویت:
    ‏4 آپریل 2005
    نوشته ها:
    1,718
    تشکر شده:
    231
    محل سکونت:
    My House
    این برنامه های شطرنج فقط حرکات رو انجام میدن یا واقعا AI هم دارن؟
     
  15. Persianit

    Persianit Registered User

    تاریخ عضویت:
    ‏19 ژوئن 2005
    نوشته ها:
    910
    تشکر شده:
    16
    محل سکونت:
    پای کامپیوتر
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal