حل شده جستجو در بین لایوت ها
#11
نقل قول: مثلا تو 20 تا لایوت نوشته شده هویج خوب هست
بعد طرف سرج کرد هویج
اون 20 تا لایوت بیاد بالا
عکس  نمیخوام
فقط متن
با تشکر
بزارید واضح تر بگم
من میخوام یک اپ بسازم
مثلا یک فرد بزنع من واسه ناهار : هویج ، کلم و سس دارم
بعد کانستراکت هر چی غذا که با این 3 چیز درست میشه بیاره بالا
با  تشکر از دوستان
خُب اولاً بهتره مقادیر رو توی یک تکست قرار ندین چون دریافت کردنشون دشوار میشه. میتونین مقادیر موردنظرتون رو در یک دیکشنری یا آرایه یا حتی یک فایل XML ذخیره کنین که هم روش استاندارد کار هست و هم اینکه کار راحت تر انجام میشه.
برای ساخت یک اپ اولاً بهتره از کانستراکت استفاده نکنین چون ذاتاً یک انجین بازیسازیه. چنین چیزی که شما میخواین پیاده کنین نیاز به یکسری لیست های از پیش تعیین شده داره که اطلاعات از توشون دریافت بشه. در حالت پیشرفته ترش هم نیاز دارین از الگوریتم های یادگیری ماشین (ماشین لرنینگ) استفاده کنین. 
یا هم میتونین توی یک دیتابیس اطلاعات ترکیبات هر غذا رو در سمت سرور ذخیره کنین و بعد به کمک یک زبان سمت سرور مثل PHP با توجه به ترکیبات اولیه ورودی غذای نهایی (خروجی) رو به دست بیارین. 
اگر بخواین از دید حرفه ای تر و فنی تری به مسئله نگاه کنین در اصل شما دارین یک موتور جستجو جمع و جور میسازین. بدون شک الگوریتم هایی مثل الگوریتم نیدلمن - وانچ، فاصله لون اشتاین، Jaro Winkler و سایر الگوریتم هایی از این قبیل میتونن تعداد مناسبی از رکوردهایی که باید بینشون جستجو کنین رو کمتر کنن و یا در اکثر مواقع مستقیم به هدف بزنن.
به هر حال من نمیدونم شما چه میزان دقتی از سیستمتون میخواین. به نظرم چیزی که شما میخواین مشابه این باشه و احتمالاً من خیلی کاری که شما میخواین رو دست بالا فرض کردم. فرض کنین همچین غذاهایی رو در یک دیکشنری به این شکل ذخیره کردیم: (هر غذا در واقع یک کلید دیکشنری هست)
کد:
قورمه سبزی = لوبیا + گوشت + برنج + سبزی
قیمه = لپه + برنج + گوشت
جوجه کباب = گوشت + آبلیمو
حالا فرض کنیم کاربر کلمه «گوشت» رو سرچ کرده. هر سه غذا در ترکیباتشون گوشت وجود داره. پس برنامه باید نام هر سه غذا رو در خروجی به ما برگردونه. اما چطور چنین چیزی رو پیاده کنیم؟
خُب اول میایم این سه غذا رو به عنوان سه کلید به دیکشنری به شکل زیر تعریف می کنیم:
[تصویر:  249d942b4e65e3579c6e9ba67280ec19.png?trs...1c0c0b58ef]
حالا یک تکست باکس و یک تکست و دکمه در لایوت قرار میدیم و ایونت های زیر رو مینویسیم:
[تصویر:  8eec9a6471fd228af42635a9de9f6e12.png?trs...1c0c0b58ef]
در ایونت شماره دو مشخص کردم که مقداری که تکست نمایش میده با هر بار کلیک بر روی دکمه تُهی (خالی) بشه. بعد در ایونت شماره سه یک حلقه ایجاد کردم که میاد تک تک کلیدهای دیکشنری رو بررسی میکنه. از اکشن Append Text استفاده کردم چون ممکنه یک نتیجه مرتبط نداشته باشیم و چندین نتیجه برای نمایش داشته باشیم. توی این اکشن یه سری شرط تعریف کردم. به شرط های زیر دقت کن:
کد:
RegexMatchCount(Dictionary.CurrentValue,Textbox.Text,"g") = 1 ?  Dictionary.CurrentKey & newline  : TextBox.Text = Dictionary.CurrentKey ? "You have entered the food name" : ""
قبل از هر چیز بهتره ساختار شرط در کانستراکت رو بدونیم که به شکل زیره:
کد:
در غیر اینصورت : اتفاقی که با صحیح بودن شرط میفتد ? شرط
حالا به اولین جمله شرطی دقت کنیم. من به کمک عبارات با قاعده گفتم اگر یک مقدار منطبقی وجود داشت یعنی اون کلید دیکشنری ترکیب موردنظر ما رو توش داره و نام کلیدش که نام غذا هست رو در خروجی برگردون و البته به خط بعدم برو. در قسمت در غیر اینصورت یه شرط دیگه تعریف کردم و گفتم اگر مقداری که کاربر در تکست باکس وارد کرده برابر با نام یکی از کلیدهای دیکشنری (نام یکی از غذاها) باشه پیغام  "You have entered the food name" رو چاپ کن و غیر از اینا هیچ مقداری توی تکست نمایش نده. در واقع در آخرین قسمت وقتی میگیم اگر هیچ کدوم از شرایطی که گفتیم صادق نبود مقدار تکست تُهی (خالی) بمونه در اصل معنیش اینه که مقداری که کاربر وارد کرده کلاً وجود نداره! نه چنین نام غذایی داریم نه چنین ترکیباتی!
حالا برای اینکه بتونم از پیغام های فارسی در خروجی استفاده کنم (اگر مستقیم توی شروط پیغام فارسی درج میکردم توی ساختار شرط مشکل ایجاد میشد) گفتم در صورتی که مقدار تکست تُهی (خالی) موند یعنی اینکه هیچ موردی وجود نداشته پس پیغام بده که مورد موردنظر شما یافت نشد.
علاوه بر اون گفتم وقتی مقدار تکست برابر با "You have entered the food name" شد یک پیغام فارسی چاپ کن که شما نام غذا را وارد کردید.
سورس چیزایی که توضیح دادم رو میتونی از این لینک دانلود کنی.
موفق باشی.
غایب
  پاسخ


 سپاس شده توسط: ARKEYA ، Amirhesam.KH ، amin hosseini ، ᔕinaᗪehghani
#12
(1399/5/26، 10:54 عصر)Master Badfar نوشته است:
نقل قول: مثلا تو 20 تا لایوت نوشته شده هویج خوب هست
بعد طرف سرج کرد هویج
اون 20 تا لایوت بیاد بالا
عکس  نمیخوام
فقط متن
با تشکر
بزارید واضح تر بگم
من میخوام یک اپ بسازم
مثلا یک فرد بزنع من واسه ناهار : هویج ، کلم و سس دارم
بعد کانستراکت هر چی غذا که با این 3 چیز درست میشه بیاره بالا
با  تشکر از دوستان
خُب اولاً بهتره مقادیر رو توی یک تکست قرار ندین چون دریافت کردنشون دشوار میشه. میتونین مقادیر موردنظرتون رو در یک دیکشنری یا آرایه یا حتی یک فایل XML ذخیره کنین که هم روش استاندارد کار هست و هم اینکه کار راحت تر انجام میشه.
برای ساخت یک اپ اولاً بهتره از کانستراکت استفاده نکنین چون ذاتاً یک انجین بازیسازیه. چنین چیزی که شما میخواین پیاده کنین نیاز به یکسری لیست های از پیش تعیین شده داره که اطلاعات از توشون دریافت بشه. در حالت پیشرفته ترش هم نیاز دارین از الگوریتم های یادگیری ماشین (ماشین لرنینگ) استفاده کنین. 
یا هم میتونین توی یک دیتابیس اطلاعات ترکیبات هر غذا رو در سمت سرور ذخیره کنین و بعد به کمک یک زبان سمت سرور مثل PHP با توجه به ترکیبات اولیه ورودی غذای نهایی (خروجی) رو به دست بیارین. 
اگر بخواین از دید حرفه ای تر و فنی تری به مسئله نگاه کنین در اصل شما دارین یک موتور جستجو جمع و جور میسازین. بدون شک الگوریتم هایی مثل الگوریتم نیدلمن - وانچ، فاصله لون اشتاین، Jaro Winkler و سایر الگوریتم هایی از این قبیل میتونن تعداد مناسبی از رکوردهایی که باید بینشون جستجو کنین رو کمتر کنن و یا در اکثر مواقع مستقیم به هدف بزنن.
به هر حال من نمیدونم شما چه میزان دقتی از سیستمتون میخواین. به نظرم چیزی که شما میخواین مشابه این باشه و احتمالاً من خیلی کاری که شما میخواین رو دست بالا فرض کردم. فرض کنین همچین غذاهایی رو در یک دیکشنری به این شکل ذخیره کردیم: (هر غذا در واقع یک کلید دیکشنری هست)
کد:
قورمه سبزی = لوبیا + گوشت + برنج + سبزی
قیمه = لپه + برنج + گوشت
جوجه کباب = گوشت + آبلیمو
حالا فرض کنیم کاربر کلمه «گوشت» رو سرچ کرده. هر سه غذا در ترکیباتشون گوشت وجود داره. پس برنامه باید نام هر سه غذا رو در خروجی به ما برگردونه. اما چطور چنین چیزی رو پیاده کنیم؟
خُب اول میایم این سه غذا رو به عنوان سه کلید به دیکشنری به شکل زیر تعریف می کنیم:
[تصویر:  249d942b4e65e3579c6e9ba67280ec19.png?trs...1c0c0b58ef]
حالا یک تکست باکس و یک تکست و دکمه در لایوت قرار میدیم و ایونت های زیر رو مینویسیم:
[تصویر:  8eec9a6471fd228af42635a9de9f6e12.png?trs...1c0c0b58ef]
در ایونت شماره دو مشخص کردم که مقداری که تکست نمایش میده با هر بار کلیک بر روی دکمه تُهی (خالی) بشه. بعد در ایونت شماره سه یک حلقه ایجاد کردم که میاد تک تک کلیدهای دیکشنری رو بررسی میکنه. از اکشن Append Text استفاده کردم چون ممکنه یک نتیجه مرتبط نداشته باشیم و چندین نتیجه برای نمایش داشته باشیم. توی این اکشن یه سری شرط تعریف کردم. به شرط های زیر دقت کن:
کد:
RegexMatchCount(Dictionary.CurrentValue,Textbox.Text,"g") = 1 ?  Dictionary.CurrentKey & newline  : TextBox.Text = Dictionary.CurrentKey ? "You have entered the food name" : ""
قبل از هر چیز بهتره ساختار شرط در کانستراکت رو بدونیم که به شکل زیره:
کد:
در غیر اینصورت : اتفاقی که با صحیح بودن شرط میفتد ? شرط
حالا به اولین جمله شرطی دقت کنیم. من به کمک عبارات با قاعده گفتم اگر یک مقدار منطبقی وجود داشت یعنی اون کلید دیکشنری ترکیب موردنظر ما رو توش داره و نام کلیدش که نام غذا هست رو در خروجی برگردون و البته به خط بعدم برو. در قسمت در غیر اینصورت یه شرط دیگه تعریف کردم و گفتم اگر مقداری که کاربر در تکست باکس وارد کرده برابر با نام یکی از کلیدهای دیکشنری (نام یکی از غذاها) باشه پیغام  "You have entered the food name" رو چاپ کن و غیر از اینا هیچ مقداری توی تکست نمایش نده. در واقع در آخرین قسمت وقتی میگیم اگر هیچ کدوم از شرایطی که گفتیم صادق نبود مقدار تکست تُهی (خالی) بمونه در اصل معنیش اینه که مقداری که کاربر وارد کرده کلاً وجود نداره! نه چنین نام غذایی داریم نه چنین ترکیباتی!
حالا برای اینکه بتونم از پیغام های فارسی در خروجی استفاده کنم (اگر مستقیم توی شروط پیغام فارسی درج میکردم توی ساختار شرط مشکل ایجاد میشد) گفتم در صورتی که مقدار تکست تُهی (خالی) موند یعنی اینکه هیچ موردی وجود نداشته پس پیغام بده که مورد موردنظر شما یافت نشد.
علاوه بر اون گفتم وقتی مقدار تکست برابر با "You have entered the food name" شد یک پیغام فارسی چاپ کن که شما نام غذا را وارد کردید.
سورس چیزایی که توضیح دادم رو میتونی از این لینک دانلود کنی.
موفق باشی.

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


 سپاس شده توسط:
#13
خُب اگر دیگه مشکلی نیست و مسئله برطرف شده لطفاً تاپیک رو حل شده اعلام کن.
غایب
  پاسخ


 سپاس شده توسط: ARKEYA
#14
(1399/5/26، 11:10 عصر)Master Badfar نوشته است: خُب اگر دیگه مشکلی نیست و مسئله برطرف شده لطفاً تاپیک رو حل شده اعلام کن.

‌با تشکر از شما
تایپیک حل شده اعلام شد
از دانش خود ، همیشه بهینه استفاده کنید !
  پاسخ


 سپاس شده توسط: Master Badfar
#15
هیچ وقت نتونستم از آموزشهای جناب مستر بادفر استفاده کنم. دلیلش خیلی مشخصه. ایشون در مقطع دکتری دارن در انجمن تدریس بازیسازی بر مبنای منطق ریاضیاتی میکنن اما من دانش آموز مقطع ابتدایی هستم. سواد بالای بازیسازی, برنامه نویسی و منطق ریاضیاتیتون تحسین برانگیزه جناب مستر بادفر. من افتخار اینرو نداشتم که اسم واقعیتون رو بدونم اما هر وقت که شما پست میگذارین به دلیل سواد بالای بازیسازی و برنامه نویسیتون حس میکنم آقا مجتبی در پشت شخصیت آواتاری مستربادفر برای راهنمایی بچه های انجمن تشریف آوردن.
ممنونم از وقتی که میگذارید...
  پاسخ


 سپاس شده توسط: Master Badfar ، M.gh ، ARKEYA ، FARZAD BLACK ، ᔕinaᗪehghani
#16
نقل قول:
کد:
RegexMatchCount(Dictionary.CurrentValue,Textbox.Text,"g") = 1 ?  Dictionary.CurrentKey & newline  : TextBox.Text = Dictionary.CurrentKey ? "You have entered the food name" : ""
ببخشید میشه بفرمایید اون "g" که تو خط اول بعد textbox.text نوشتین چیه ؟؟؟؟
کد:
public void myLifeStyle (var life)
{
      var createGame;
      var anime;

      if ( anime == false && createGame == false )
       {
             Destroy(life);
       }
}
^_^
مثل بعضیا خودمو دست بالا نمی گیرم که پند بدم
مث بعضیا هم بچه نیستم که شعر و حدیث بنویسم
مثل بعضیا هم خیره نیستم هنو یه بازی رو نساختم عکسشو بزارم امضا
فقط حال و روز دلمو گفتم
  پاسخ


 سپاس شده توسط:
#17
(1399/5/27، 06:20 صبح)nariman نوشته است: هیچ وقت نتونستم از آموزشهای جناب مستر بادفر استفاده کنم. دلیلش خیلی مشخصه. ایشون در مقطع دکتری دارن در انجمن تدریس بازیسازی بر مبنای منطق ریاضیاتی میکنن اما من دانش آموز مقطع ابتدایی هستم. سواد بالای بازیسازی, برنامه نویسی و منطق ریاضیاتیتون تحسین برانگیزه جناب مستر بادفر. من افتخار اینرو نداشتم که اسم واقعیتون رو بدونم اما هر وقت که شما پست میگذارین به دلیل سواد بالای بازیسازی و برنامه نویسیتون حس میکنم آقا مجتبی در پشت شخصیت آواتاری مستربادفر برای راهنمایی بچه های انجمن تشریف آوردن.
ممنونم از وقتی که میگذارید...
ببخشید آقا نریمان.یعنی شما یک بچه ابتدایی هستید؟ تصویر: images/smilies/yahoo/13.gifتصویر: images/smilies/yahoo/13.gif
من منظورتون رو نمی فهمم.
از اون وقتی که پست رو دیدم آروم و قرار ندارم. تصویر: images/smilies/yahoo/17.gif
بله من هم شباهت بسیاری بین آقا مجتبی و Master Badfar میبینم.چون هر وقت یک تاپیک جدید ایجاد میشه ایشون خودشون رو موظف می دونن که تا ته مشکل کاربران رو حل کنند.و انگار ایشون روی انجمن تعصب دارند.
واقعا دانش بالا و تلاش ایشون برای حل مشکلات کاربران تحسین برانگیزه.
فرزاد شریفی هستم بنیانگذار مجموعه موسسه های FG Studio
و گروه بازی سازی farzadgame سابق

--------------------FG Studio--------------------
  پاسخ


 سپاس شده توسط: nariman ، ARKEYA
#18
(1399/5/27، 02:40 عصر)FARZAD BLACK نوشته است:
(1399/5/27، 06:20 صبح)nariman نوشته است: هیچ وقت نتونستم از آموزشهای جناب مستر بادفر استفاده کنم. دلیلش خیلی مشخصه. ایشون در مقطع دکتری دارن در انجمن تدریس بازیسازی بر مبنای منطق ریاضیاتی میکنن اما من دانش آموز مقطع ابتدایی هستم. سواد بالای بازیسازی, برنامه نویسی و منطق ریاضیاتیتون تحسین برانگیزه جناب مستر بادفر. من افتخار اینرو نداشتم که اسم واقعیتون رو بدونم اما هر وقت که شما پست میگذارین به دلیل سواد بالای بازیسازی و برنامه نویسیتون حس میکنم آقا مجتبی در پشت شخصیت آواتاری مستربادفر برای راهنمایی بچه های انجمن تشریف آوردن.
ممنونم از وقتی که میگذارید...
ببخشید آقا نریمان.یعنی شما یک بچه ابتدایی هستید؟ تصویر: images/smilies/yahoo/13.gifتصویر: images/smilies/yahoo/13.gif
من منظورتون رو نمی فهمم.
از اون وقتی که پست رو دیدم آروم و قرار ندارم. تصویر: images/smilies/yahoo/17.gif
بله من هم شباهت بسیاری بین آقا مجتبی و Master Badfar میبینم.چون هر وقت یک تاپیک جدید ایجاد میشه ایشون خودشون رو موظف می دونن که تا ته مشکل کاربران رو حل کنند.و انگار ایشون روی انجمن تعصب دارند.
واقعا دانش بالا و تلاش ایشون برای حل مشکلات کاربران تحسین برانگیزه.

‌خیر
منظورشون اینه که(البته جسارت نباشه آقا نریمان,شرمنده)در حد یک بچه ابتدایی بازیسازی بلدن و آقای Master Badfar در حد یک معلم
 
از دانش خود ، همیشه بهینه استفاده کنید !
  پاسخ


 سپاس شده توسط: nariman
#19
(1399/5/27، 02:42 عصر)ARKEYA.__.JAFARI نوشته است: ‌خیر
منظورشون اینه که(البته جسارت نباشه آقا نریمان,شرمنده)در حد یک بچه ابتدایی بازیسازی بلدن و آقای Master Badfar در حد یک معلم
آها.خیالم راحت شد.گفتم نکنه آقا نریمان بچه دبستانی باشند.
(البته اگر هم آقا نریمان دبستانی بودن،چیزی از ارزش های اییشون کم نمیشد.)
فرزاد شریفی هستم بنیانگذار مجموعه موسسه های FG Studio
و گروه بازی سازی farzadgame سابق

--------------------FG Studio--------------------
  پاسخ


 سپاس شده توسط: ARKEYA ، nariman
#20
(1399/5/27، 02:36 عصر)Kaneki نوشته است:
نقل قول:
کد:
RegexMatchCount(Dictionary.CurrentValue,Textbox.Text,"g") = 1 ?  Dictionary.CurrentKey & newline  : TextBox.Text = Dictionary.CurrentKey ? "You have entered the food name" : ""
ببخشید میشه بفرمایید اون "g" که تو خط اول بعد textbox.text نوشتین چیه ؟؟؟؟
درود دوست عزیز؛
اگر تاپیکی که راجع به عبارات با قاعده (Regex) هست رو مطالعه کرده باشید گفته شده که فلگ در واقع بیان میکنه که جستجو پس از یافتن اولین نتیجه منطبقی متوقف نشه و اصطلاحاً سراسری (گلوبال) باشه و همه نتایج منطبقی جستجو بشن.
غایب
  پاسخ


 سپاس شده توسط: oak


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 179 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,596 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: