fun_code 216 ارسال شده در 9 مرداد، ۱۴۰۱ اشتراک گذاری ارسال شده در 9 مرداد، ۱۴۰۱ سلام دوستان دارم روی ربات شطرنج کار میکنم. یک آرایه 8 در 8 دارم و نیازه بارها این آرایه در یک آرایه موقت کپی بشه. اینکار رو با دو حلقه for انجام دادم اما کند هست. آیا کد سریعی برای کپی شدن یک آرایه چند بعدی در یک آرایه چند بعدی دیگر وجود داره ؟ ممنون از شما لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
fun_code 216 ارسال شده در 15 مرداد، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 15 مرداد، ۱۴۰۱ درود به شکل دیگری حلش کردم. با طراحی بازگشت یک حرکت انجام شده... ممنون از همراهی شما عزیزان لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
fun_code 216 ارسال شده در 12 مرداد، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 12 مرداد، ۱۴۰۱ در ۱۴۰۱/۵/۱۱ در 09:03، DexterFstone گفته است: عزیز از آرایع یک بعدی استففاده کنید کلا شطرنج و رباتش هر کاری که کنید طول میکشه تا پردازش کنه برای مثال بازی شطرنج ویندوز 7 را اجرا کنید و سطح بازی ببرید روی 10 وقتی شما یک حرکت کنید ربات بعد 10 الی 15 ثانیه میره حرکت را ولی میتونین برای بهبود سرعت از آرایه یک بعدی و فرمول زیر برای تبدیل به دوبعدی استفاده کنید array[width * row + col] با فرمول بالا میتونین از آرایه یک بعدی به عنوان دوبعدی استفاده کنید برای مثال خونه شماره 4 3 را میخوام (8*3+4) = 28 ایندکس شماره 28 درواقع باید تغییر کنه و همون معادل سطر 3 ستون 4 در یک آرایه 2 بعدی هست موفق باشید سلام در ابتدا تشکر میکنم بابت راهنماییتون اگر کپی کردن از طریق متغیر لیست با استفاده از آرایه یک بعدی اوکی بود تغییرش به آرایه 1 بعدی ارزش داشت. اما الان تست کردم و وقتی تغییری در آرایه اعمال میشه ، در آرایه اضافه شده به لیست هم تاثیر داره... برای همین تغییرش به آرایه 1 بعدی تاثیری در سرعت نداره و در هر حال باید 64 خانه را پیمایش کرد. دستوراتی هم برای کپی کردن آرایه در سایت رسمی دیدم و درست عمل نمیکردن. اکثرا هم با حلقه کپی رو انجام میدادن ! در رابطه با سرعت ، بنده روی depth یا بعبارتی همان سطح 4 قرار میدم و گاهی حرکت ربات 50 ثانیه طول میکشد. وار به حال اینکه برای حرکات قوی تر روی 5 و بالاتر قرارش بدم. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
fun_code 216 ارسال شده در 10 مرداد، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 10 مرداد، ۱۴۰۱ در ۱۴۰۱/۵/۹ در 10:46، DexterFstone گفته است: فکنم اگه داخل لیست بریزید سریع تر باشه اول یک آرایه چند بعدی خالی بسازید و بعد به تعداد که نیاز دارید به لیست اضافه کنید Dim arr() as int list.add(arr) و به همین ترتیب سلام ممنونم ✋ تست میکنم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
fun_code 216 ارسال شده در 10 مرداد، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 10 مرداد، ۱۴۰۱ در ۱۴۰۱/۵/۹ در 10:46، DexterFstone گفته است: فکنم اگه داخل لیست بریزید سریع تر باشه اول یک آرایه چند بعدی خالی بسازید و بعد به تعداد که نیاز دارید به لیست اضافه کنید Dim arr() as int list.add(arr) و به همین ترتیب متغیر های لیست و آبجکت و آرایه چند بعدی مشابه تست کردم و نشد. گویا حتما باید خونه خونه کپی بشه ! لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ali mo 263 ارسال شده در 10 مرداد، ۱۴۰۱ اشتراک گذاری ارسال شده در 10 مرداد، ۱۴۰۱ سلام وقت بخیر با یک ارایه پیش ببرید کار رو اگر امکانش هست به صورتی که که مثلا اندیس چند بعدی شو شماره دهی کنید مثلا : یک لیست تعریف کنید بعد داخل یک لیست شماره گزاری کنید list(1) = "iteme1,item2,item3,item4" بعد هنگام خواندن از ریجکس استفاده کنید و جدا کنید و بخونید فکر کنم این روش بهتر باشه چون مقدار فور ها یدونه میشه و سریع تر هم هست و اون جوری از انتصاب هم میتونم استفاده کنید که چون با ادرس دهی کار میکنه سریع تره مثلا : list1 = list2 (شاید غیر استاندارد باشه این روش ولی باید تست بشه و دیده بشه که سرعت بالاتر یا خیر) 2. از نخ استفاده کنید برای جابه جایی 3- داخل سایت مرجع هم جستجو کنید 4- از چند لیست هم میتونید استفاده کنید list1 , list2 موفق باشید و یاعلی لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
fun_code 216 ارسال شده در 11 مرداد، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 11 مرداد، ۱۴۰۱ در ۱۴۰۱/۵/۱۰ در 12:27، ali mo گفته است: سلام وقت بخیر با یک ارایه پیش ببرید کار رو اگر امکانش هست به صورتی که که مثلا اندیس چند بعدی شو شماره دهی کنید مثلا : یک لیست تعریف کنید بعد داخل یک لیست شماره گزاری کنید list(1) = "iteme1,item2,item3,item4" بعد هنگام خواندن از ریجکس استفاده کنید و جدا کنید و بخونید فکر کنم این روش بهتر باشه چون مقدار فور ها یدونه میشه و سریع تر هم هست و اون جوری از انتصاب هم میتونم استفاده کنید که چون با ادرس دهی کار میکنه سریع تره مثلا : list1 = list2 (شاید غیر استاندارد باشه این روش ولی باید تست بشه و دیده بشه که سرعت بالاتر یا خیر) 2. از نخ استفاده کنید برای جابه جایی 3- داخل سایت مرجع هم جستجو کنید 4- از چند لیست هم میتونید استفاده کنید list1 , list2 موفق باشید و یاعلی سلام و وقت بخیر ممنون کلا وقتی آرایه چند بعدی رو در متغیر از نوع لیست ریختم و برگردوندم خراب شد. حتی متغیر آبجکت هم تست کردم. فکر میکنم اگر این کپی شدنه سریع بشه هر حرکت ربات در ماکزیمم حالت (پیچیده ترین حرکت) به جای 50 ثانیه به 20 ثانیه برسه. یا در حدودا مینیمم ترین حالت به جای 3 ثانیه به 1 ثانیه برسه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
fun_code 216 ارسال شده در 11 مرداد، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 11 مرداد، ۱۴۰۱ در ۱۴۰۱/۵/۱۱ در 06:02، fun_code گفته است: سلام و وقت بخیر ممنون کلا وقتی آرایه چند بعدی رو در متغیر از نوع لیست ریختم و برگردوندم خراب شد. حتی متغیر آبجکت هم تست کردم. فکر میکنم اگر این کپی شدنه سریع بشه هر حرکت ربات در ماکزیمم حالت (پیچیده ترین حرکت) به جای 50 ثانیه به 20 ثانیه برسه. یا در مینیمم ترین حالت به جای 7 ثانیه به 3 ثانیه برسه. فراموش کردم عرض کنم که کلا عملیات در thread انجام میشن. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
DexterFstone 395 ارسال شده در 11 مرداد، ۱۴۰۱ اشتراک گذاری ارسال شده در 11 مرداد، ۱۴۰۱ در ۱۴۰۱/۵/۱۱ در 06:02، fun_code گفته است: سلام و وقت بخیر ممنون کلا وقتی آرایه چند بعدی رو در متغیر از نوع لیست ریختم و برگردوندم خراب شد. حتی متغیر آبجکت هم تست کردم. فکر میکنم اگر این کپی شدنه سریع بشه هر حرکت ربات در ماکزیمم حالت (پیچیده ترین حرکت) به جای 50 ثانیه به 20 ثانیه برسه. یا در حدودا مینیمم ترین حالت به جای 3 ثانیه به 1 ثانیه برسه. عزیز از آرایع یک بعدی استففاده کنید کلا شطرنج و رباتش هر کاری که کنید طول میکشه تا پردازش کنه برای مثال بازی شطرنج ویندوز 7 را اجرا کنید و سطح بازی ببرید روی 10 وقتی شما یک حرکت کنید ربات بعد 10 الی 15 ثانیه میره حرکت را ولی میتونین برای بهبود سرعت از آرایه یک بعدی و فرمول زیر برای تبدیل به دوبعدی استفاده کنید array[width * row + col] با فرمول بالا میتونین از آرایه یک بعدی به عنوان دوبعدی استفاده کنید برای مثال خونه شماره 4 3 را میخوام (8*3+4) = 28 ایندکس شماره 28 درواقع باید تغییر کنه و همون معادل سطر 3 ستون 4 در یک آرایه 2 بعدی هست موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
DexterFstone 395 ارسال شده در 9 مرداد، ۱۴۰۱ اشتراک گذاری ارسال شده در 9 مرداد، ۱۴۰۱ فکنم اگه داخل لیست بریزید سریع تر باشه اول یک آرایه چند بعدی خالی بسازید و بعد به تعداد که نیاز دارید به لیست اضافه کنید Dim arr() as int list.add(arr) و به همین ترتیب لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
fun_code 216
سلام دوستان
دارم روی ربات شطرنج کار میکنم.
یک آرایه 8 در 8 دارم و نیازه بارها این آرایه در یک آرایه موقت کپی بشه.
اینکار رو با دو حلقه for انجام دادم اما کند هست.
آیا کد سریعی برای کپی شدن یک آرایه چند بعدی در یک آرایه چند بعدی دیگر وجود داره ؟
ممنون از شما
لینک ارسال
به اشتراک گذاری در سایت های دیگر
9 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.