PDA

View Full Version : ایجاد آرایه‌ای از دکمه‌ها



EhsanMond
چهارشنبه 21 آذر 1386, 18:56 عصر
با سلام و تشکر از پاسخ آقایان ساسان و امید به تاپیک قبلی
امروز یک ebook خریدم تحت عنوان C++ Builder in 14 Days که 500 صفحه است (حدود 4.5 مگابایت حجم دارد) و نسبتا جامع است و پاسخ سوال قبلی را در آن یافتم که مشابه پاسخ آقا ساسان بود.

ولی این سوال که آرایه‌ای از دکمه‌ها چطور ایجاد می‌شود هنوز حل نشده.:متفکر: شاید با ادامه مطالعه حل شود.
می‌خواهم یک پازل جورچین بنویسم (از آنها که اعداد 1 تا 19 در یک قاب است و تنها یک خانه خالی برای جابجایی و مانور برای مرتب کردن دکمه‌ها دارد). به نظرم لازم است آرایه‌ای از دکمه‌ها داشته باشم که به صورت ایندکس شده روی انها کنترل داشته باشم.

اگر راه بهتری هست راهنمایی بفرمایید.

ضمنا اگر کتاب فوق الذکر را می‌خواهید با کمال میل ارسال می‌شود. تماس بگیرید با:
e_mashmool@yahoo.com

sasan_vm
پنج شنبه 22 آذر 1386, 08:25 صبح
سلام
برای ایجاد ارایه ای از کنتراها راه حلهای متفاوتی موجود است:


// Using array
TButton * ArrayButton[100];
ArrayButton[0] = new TButton(this);
// Using list
TList * List = new TList;
List->Add(new TButton(this));


راه حل پیشنهادی:
- به جای Button از panel استفاده کنید.
- یک ماتریس NxN از کنترلها برای puzzle در نظر بگیرید.
- این ماتریس یک درایه خالی دارد که می تواند با یکی از درایه های پر جابجا شود، بسته به موقعیت درایه خالی حرکت در چهار جهت (Left, Up, Right, Down) .
- بعد از حرکت وضعیت برنده شدن چک شود.
- برای جابجا کردن هر کنترل به درایه خالی کافی است left , top ان را تغییر دهید و ماتریس را نیز update کنید.

موفق باشید.