کمک در بازی کلماتی
#1


سلام یه بازی کلماتی دارم درست میکنم 
2 تا سوال داشتم نمیدونم شدنیه اصلا یا نه از حرفه ای های کانس میخوام بررسی کنن لطفا
1. یه دکمه هلپ دارم میخوام وقتی کاربر روش کلیک کرد کلمه اول جواب داخل کادر مشخص بشه وقتی دوباره زد کلمه دوم جواب داخل کادر مشخص بشه همینجوری پیش بره رو به جلو مثل امیرزا
2. میخوام وقتی کاربر جواب رو پیدا کرد جواب بره داخل کادر قرار بگیره

اینم سورس چیزی ک روش کار کردم
تست
بقیه سورس هارو دیدم حتی سورس کامل امیرزا هم دارم ولی بازی من چون فرق داره میخوام روی سورس خودم کار بشه 

پیش پیش از شما حرفه ای ها سپاس گذارم
 
غایب
  پاسخ


 سپاس شده توسط:
#2
سلام محمد جان.
توی تاپیک زیر بطور مفصل درباره بازی کلماتی و جزییاتش بحث شده. 
مشکلات معمول بازی کلماتی
تو این تاپیک سعی کردم هر سورسی که میزارم توضیحاتش هم بگم که دوستان گیج نشن.
  پاسخ


 سپاس شده توسط: mohammadslt ، ghasem
#3
(1399/2/4، 01:35 عصر)mhp' نوشته است: سلام محمد جان.
توی تاپیک زیر بطور مفصل درباره بازی کلماتی و جزییاتش بحث شده. 
مشکلات معمول بازی کلماتی
تو این تاپیک سعی کردم هر سورسی که میزارم توضیحاتش هم بگم که دوستان گیج نشن.

 
سلام خیلی خوشحال شدم که هنوز تو انجمن هستین 
راستش من نصف سورسم رو از روی سورس شما زدم و نصف دیگش از یه سورس دیگه
ولی قسمت راهنماشو نتوستم پیاده سازی کنم 
یعنی دیگه مخم نکشید 21))))))))



 
غایب
  پاسخ


 سپاس شده توسط:
#4
(1399/2/4، 02:07 عصر)mohammadslt نوشته است:
(1399/2/4، 01:35 عصر)mhp نوشته است: سلام محمد جان.
توی تاپیک زیر بطور مفصل درباره بازی کلماتی و جزییاتش بحث شده. 
مشکلات معمول بازی کلماتی
تو این تاپیک سعی کردم هر سورسی که میزارم توضیحاتش هم بگم که دوستان گیج نشن.
سلام خیلی خوشحال شدم که هنوز تو انجمن هستین 
راستش من نصف سورسم رو از روی سورس شما زدم و نصف دیگش از یه سورس دیگه
ولی قسمت راهنماشو نتوستم پیاده سازی کنم 
یعنی دیگه مخم نکشید 21))))))))



 
کار سختی نیست. شما باید از توابع بازگشتی (حلقه) در کانستراکت استفاده کنین. میتونین یک فانکشن (تابع) کلی تعریف کنین که در هر حالتی و هر جا که لازم شد کارش رو انجام بده. 
برای مثال میتونین بگین تعداد کاراکترهای کلمه (تعداد حروف کلمه) به یک متغیر تغییر کنه و بعد با کاندیشن Repeat و تعیین میزان تکرار به میزان تعداد کاراکترهای کلمه و استفاده از اکسپرشن left یا right مقدار یک تکست رو Append کنین به چیزی که میخواین.
غایب
  پاسخ


 سپاس شده توسط: mohammadslt
#5
(1399/2/4، 02:21 عصر)Master Badfar' نوشته است:
(1399/2/4، 02:07 عصر)'mohammadslt' نوشته است:
(1399/2/4، 01:35 عصر)'mhp' نوشته است: سلام محمد جان.
توی تاپیک زیر بطور مفصل درباره بازی کلماتی و جزییاتش بحث شده. 
مشکلات معمول بازی کلماتی
تو این تاپیک سعی کردم هر سورسی که میزارم توضیحاتش هم بگم که دوستان گیج نشن.


 
سلام خیلی خوشحال شدم که هنوز تو انجمن هستین 
راستش من نصف سورسم رو از روی سورس شما زدم و نصف دیگش از یه سورس دیگه
ولی قسمت راهنماشو نتوستم پیاده سازی کنم 
یعنی دیگه مخم نکشید 21))))))))



 

 
کار سختی نیست. شما باید از توابع بازگشتی (حلقه) در کانستراکت استفاده کنین. میتونین یک فانکشن (تابع) کلی تعریف کنین که در هر حالتی و هر جا که لازم شد کارش رو انجام بده. 
برای مثال میتونین بگین تعداد کاراکترهای کلمه (تعداد حروف کلمه) به یک متغیر تغییر کنه و بعد با کاندیشن Repeat و تعیین میزان تکرار به میزان تعداد کاراکترهای کلمه و استفاده از اکسپرشن left یا right مقدار یک تکست رو Append کنین به چیزی که میخواین.

 


سلام خیلی ممنون از وقتی که گذاشتین برای بنده من تازه یک هفتس با برنامه اشنا شدم از صحبت های شما چیزی متوجه نشدم 
فقط میخوام هلپ به بازی اضافه بشه 
اقای mhp گفتن هرچی تو یونتی بشه انجام داد تو کانسم میشه 
نمیدونم این شدنی هست یا نه 
 
غایب
  پاسخ


 سپاس شده توسط:
#6
(1399/2/4، 02:27 عصر)mohammadslt نوشته است:
(1399/2/4، 02:21 عصر)Master Badfar نوشته است:
(1399/2/4، 02:07 عصر)mohammadslt نوشته است: سلام خیلی خوشحال شدم که هنوز تو انجمن هستین 
راستش من نصف سورسم رو از روی سورس شما زدم و نصف دیگش از یه سورس دیگه
ولی قسمت راهنماشو نتوستم پیاده سازی کنم 
یعنی دیگه مخم نکشید 21))))))))



 
کار سختی نیست. شما باید از توابع بازگشتی (حلقه) در کانستراکت استفاده کنین. میتونین یک فانکشن (تابع) کلی تعریف کنین که در هر حالتی و هر جا که لازم شد کارش رو انجام بده. 
برای مثال میتونین بگین تعداد کاراکترهای کلمه (تعداد حروف کلمه) به یک متغیر تغییر کنه و بعد با کاندیشن Repeat و تعیین میزان تکرار به میزان تعداد کاراکترهای کلمه و استفاده از اکسپرشن left یا right مقدار یک تکست رو Append کنین به چیزی که میخواین.


سلام خیلی ممنون از وقتی که گذاشتین برای بنده من تازه یک هفتس با برنامه اشنا شدم از صحبت های شما چیزی متوجه نشدم 
فقط میخوام هلپ به بازی اضافه بشه 
اقای mhp گفتن هرچی تو یونتی بشه انجام داد تو کانسم میشه 
نمیدونم این شدنی هست یا نه 
 
بله شدنیه؛
سعی میکنم یه سورس براتون تهیه کنم.
غایب
  پاسخ


 سپاس شده توسط: mohammadslt
#7
(1399/2/4، 02:50 عصر)Master Badfar' نوشته است:
(1399/2/4، 02:27 عصر)'mohammadslt' نوشته است:
(1399/2/4، 02:21 عصر)'Master Badfar' نوشته است: کار سختی نیست. شما باید از توابع بازگشتی (حلقه) در کانستراکت استفاده کنین. میتونین یک فانکشن (تابع) کلی تعریف کنین که در هر حالتی و هر جا که لازم شد کارش رو انجام بده. 
برای مثال میتونین بگین تعداد کاراکترهای کلمه (تعداد حروف کلمه) به یک متغیر تغییر کنه و بعد با کاندیشن Repeat و تعیین میزان تکرار به میزان تعداد کاراکترهای کلمه و استفاده از اکسپرشن left یا right مقدار یک تکست رو Append کنین به چیزی که میخواین.



 


سلام خیلی ممنون از وقتی که گذاشتین برای بنده من تازه یک هفتس با برنامه اشنا شدم از صحبت های شما چیزی متوجه نشدم 
فقط میخوام هلپ به بازی اضافه بشه 
اقای mhp گفتن هرچی تو یونتی بشه انجام داد تو کانسم میشه 
نمیدونم این شدنی هست یا نه 
 


 
بله شدنیه؛
سعی میکنم یه سورس براتون تهیه کنم.


 
دمت گرم 
سورس خودم گذاشتما هلپ برای اون میخوام با نمایش جواب تو کادر 
دس به خاک بزنی طلا بشه 


 

 
غایب
  پاسخ


 سپاس شده توسط:
#8
(1399/2/4، 02:59 عصر)mohammadslt نوشته است:
(1399/2/4، 02:50 عصر)Master Badfar نوشته است:
(1399/2/4، 02:27 عصر)mohammadslt نوشته است: سلام خیلی ممنون از وقتی که گذاشتین برای بنده من تازه یک هفتس با برنامه اشنا شدم از صحبت های شما چیزی متوجه نشدم 
فقط میخوام هلپ به بازی اضافه بشه 
اقای mhp گفتن هرچی تو یونتی بشه انجام داد تو کانسم میشه 
نمیدونم این شدنی هست یا نه 
 
بله شدنیه؛
سعی میکنم یه سورس براتون تهیه کنم.
دمت گرم 
سورس خودم گذاشتما هلپ برای اون میخوام با نمایش جواب تو کادر 
دس به خاک بزنی طلا بشه 


 

 
سلام دوباره؛
ببخشید که دیر شد. لازم میدونم یه سری نکات رو بهت بگم:
  1. 1- پروژه ای که ساختی اونقدرا بهینه نیست و روی موبایل کاربر بدون لگ نخواهد بود. 
  2. 2- تو میتونی به جای تعریف متغیر گلوبال برای کلمات از آرایه و دیکشنری که آموزش هاشون رو میتونی از اینجا و اینجا مطالعه کنی استفاده کنی. من از دیکشنری توی ادیت سورست استفاده کردم. البته اگر من جای تو بودم ساز و کاری طراحی میکردم تا کلمات از یک فایل جیسون یا از یک دیتابیس استخراج بشه و توی بازی لحاظ بشه تا اینطوری بتونم هر روز کلی کلمه به بازی اضافه کنم. اینطوری وقتی یه فرمت مشخصی از کلمه تعریف میکنی بازی انتها داره. ولی وقتی کلمات از یک دیتابیس یا فایل جیسون که مرتب آپدیت میشن گرفته بشه و یک روال کلی برای نمایش کلمه ها باشه بازیت تمومی نخواهد داشت.
  3. 3-  این سبک بازی واقعاً اشباع شده و دیگه جذابیت نداره مگر اینکه واقعاً ایده نو داشته باشی که من توی این سورس ایده جدیدی ندیدم.
  4. 4- همونطور که گفتم سعی کن قالب جیسون رو یاد بگیری که خیلی به کارت میاد و پروژه ات رو تا حد مناسبی بهینه میکنه. (آقای ثنایی عزیز راجع به جیسون توضیح دادن که با یک سرچ توی بخش جستجو انجمن به دست میاد.)
  5. 5-  سعی کن از توابع (فانکشن ها) توی ایونت نویسی هات استفاده کنی تا مجبور نباشی ایونت ها رو کپی پیست کنی. در ضمن اینطوری برنامه بهینه تر میشه. (آموزش تابع رو از اینجا مطالعه کن.)
پ.ن: بهت توصیه میکنم که در اسرع وقت آموزش هایی که معرفی کردم رو مطالعه کنی چون باعث میشه به عنوان یک تازه کار با راه های استاندارد و اصولی آشنا بشی و از همین اول کاری درست و بهینه ایونت بزنی. این مواردی که بهت گفتم میتونه کمک بسیار شایانی بهت بکنه پس بهتره هر چه زودتر راجع بهشون اطلاعات کسب کنی و آموزش هاشون رو مطالعه کنی.
اما من کار خاصی نکردم و فقط سه تا ایونت و یک متغیر و شیء دیکشنری رو به پروژه ات اضافه کردم. در ضمن من این مکانیزم راهنما رو فقط روی کلمه اول اعمال کردم اما خودت میتونی توسعه اش بدی.
یه حلقه For به نام alaphba_get تشکیل دادم که تک تک حروف کلمه اولت «موز» رو دریافت میکنه و در دیکشنری ذخیره میکنه. این حلقه به تعداد کاراکترها (حروف) کلمه اولت مرحله یا فاز داره. یعنی در هر فاز یا مرحله این حلقه یک حرف از حروف کلمه رو دریافت میکنه و به عنوان یک کلید در دیکشنری ذخیره میکنه. قبلش یه متغیر به نام index تعریف کردم که بعد از انتخاب یک حرف الفبا یک عدد به مقدارش اضافه میشه. بعدش هم اومدم گفتم وقتی حلقه تموم شد و البته کاربر دکمه help رو زد حرف بعدی که انتخاب کرده با توجه به متغیر index نمایش داده بشه. شمای ایونت بخش حلقه این شکلیه:
[تصویر:  evento.png]
(اگر تصویر لود نشده از اینجا تصویر رو ببین)
شاید بپرسی اکسپرشن len و trim و loopindex کارشون چیه. اکسپرشن len تعداد کاراکترهای یک رشته رو میشماره و برمیگردونه و اکسپرشن trim فاصله های (Space) یک رشته رو حذف میکنه. مثلاً وقتی اکسپرشن trim رو روی رشته "Hello World!" اعمال کنی خروجی که بهت میده میشه "HelloWorld!". به این دلیل از trim استفاده کردم که فضاهای خالی تکست رو حذف کنه و بعد تعداد کاراکترها رو بشماره و حلقه به تعداد کاراکترهای اصلی انجام بشه. چون هر فاصله هم یک کاراکتر تلقی میشه. اکسپرشن loopindex هم کارش اینه که مشخص کنه در کدوم مرحله (فاز) از حلقه قرار داریم.  
اگر دقت کرده باشی یک کلید اضافی در آخرین فاز حلقه تشکیل میشه که مقداری نداره و اون رو توی ایونت دوم مربوط به حلقه حذفش کردم. توی این ایونت از ساختار شرطی استفاده کردم. ساختار شرطی به صورت اکسپرشن در کانستراکت به این شکله:
کد:
در غیر اینصورت : اگر شرط برقرار بود انجام شود ? شرط
قبل از علامت سوال شرط خودم رو لحاظ کردم و گفتم اگر حلقه در فاز آخر خودش بود آخرین کلیدی که توسط شیء دیکشنری ساخته شده حذف بشه و چون در غیر اینصورتی در کار نیست (نقیض شرط در کار نیست) یک دابل کوتیشن خالی قرار دادم.
در ایونت شماره 39 هم گفتم که وقتی حلقه تمام شد با توجه به متغیر index حرف بعدی رو که در دیکشنری ذخیره شده رو به کاربر نمایش بده.
دانلود سورس
غایب
  پاسخ


 سپاس شده توسط: mhp ، ghasem
#9
(1399/2/4، 05:10 عصر)Master Badfar' نوشته است:
(1399/2/4، 02:59 عصر)'mohammadslt' نوشته است:
(1399/2/4، 02:50 عصر)'Master Badfar' نوشته است: بله شدنیه؛
سعی میکنم یه سورس براتون تهیه کنم.



 
دمت گرم 
سورس خودم گذاشتما هلپ برای اون میخوام با نمایش جواب تو کادر 
دس به خاک بزنی طلا بشه 


 

 

 
سلام دوباره؛
ببخشید که دیر شد. لازم میدونم یه سری نکات رو بهت بگم:
  1. 1- پروژه ای که ساختی اونقدرا بهینه نیست و روی موبایل کاربر بدون لگ نخواهد بود. 
  2. 2- تو میتونی به جای تعریف متغیر گلوبال برای کلمات از آرایه و دیکشنری که آموزش هاشون رو میتونی از اینجا و اینجا مطالعه کنی استفاده کنی. من از دیکشنری توی ادیت سورست استفاده کردم. البته اگر من جای تو بودم ساز و کاری طراحی میکردم تا کلمات از یک فایل جیسون یا از یک دیتابیس استخراج بشه و توی بازی لحاظ بشه تا اینطوری بتونم هر روز کلی کلمه به بازی اضافه کنم. اینطوری وقتی یه فرمت مشخصی از کلمه تعریف میکنی بازی انتها داره. ولی وقتی کلمات از یک دیتابیس یا فایل جیسون که مرتب آپدیت میشن گرفته بشه و یک روال کلی برای نمایش کلمه ها باشه بازیت تمومی نخواهد داشت.
  3. 3-  این سبک بازی واقعاً اشباع شده و دیگه جذابیت نداره مگر اینکه واقعاً ایده نو داشته باشی که من توی این سورس ایده جدیدی ندیدم.
  4. 4- همونطور که گفتم سعی کن قالب جیسون رو یاد بگیری که خیلی به کارت میاد و پروژه ات رو تا حد مناسبی بهینه میکنه. (آقای ثنایی عزیز راجع به جیسون توضیح دادن که با یک سرچ توی بخش جستجو انجمن به دست میاد.)
  5. 5-  سعی کن از توابع (فانکشن ها) توی ایونت نویسی هات استفاده کنی تا مجبور نباشی ایونت ها رو کپی پیست کنی. در ضمن اینطوری برنامه بهینه تر میشه. (آموزش تابع رو از اینجا مطالعه کن.)
پ.ن: بهت توصیه میکنم که در اسرع وقت آموزش هایی که معرفی کردم رو مطالعه کنی چون باعث میشه به عنوان یک تازه کار با راه های استاندارد و اصولی آشنا بشی و از همین اول کاری درست و بهینه ایونت بزنی. این مواردی که بهت گفتم میتونه کمک بسیار شایانی بهت بکنه پس بهتره هر چه زودتر راجع بهشون اطلاعات کسب کنی و آموزش هاشون رو مطالعه کنی.
اما من کار خاصی نکردم و فقط سه تا ایونت و یک متغیر و شیء دیکشنری رو به پروژه ات اضافه کردم. در ضمن من این مکانیزم راهنما رو فقط روی کلمه اول اعمال کردم اما خودت میتونی توسعه اش بدی.
یه حلقه For به نام alaphba_get تشکیل دادم که تک تک حروف کلمه اولت «موز» رو دریافت میکنه و در دیکشنری ذخیره میکنه. این حلقه به تعداد کاراکترها (حروف) کلمه اولت مرحله یا فاز داره. یعنی در هر فاز یا مرحله این حلقه یک حرف از حروف کلمه رو دریافت میکنه و به عنوان یک کلید در دیکشنری ذخیره میکنه. قبلش یه متغیر به نام index تعریف کردم که بعد از انتخاب یک حرف الفبا یک عدد به مقدارش اضافه میشه. بعدش هم اومدم گفتم وقتی حلقه تموم شد و البته کاربر دکمه help رو زد حرف بعدی که انتخاب کرده با توجه به متغیر index نمایش داده بشه. شمای ایونت بخش حلقه این شکلیه:
[تصویر:  evento.png]
(اگر تصویر لود نشده از اینجا تصویر رو ببین)
شاید بپرسی اکسپرشن len و trim و loopindex کارشون چیه. اکسپرشن len تعداد کاراکترهای یک رشته رو میشماره و برمیگردونه و اکسپرشن trim فاصله های (Space) یک رشته رو حذف میکنه. مثلاً وقتی اکسپرشن trim رو روی رشته "Hello World!" اعمال کنی خروجی که بهت میده میشه "HelloWorld!". به این دلیل از trim استفاده کردم که فضاهای خالی تکست رو حذف کنه و بعد تعداد کاراکترها رو بشماره و حلقه به تعداد کاراکترهای اصلی انجام بشه. چون هر فاصله هم یک کاراکتر تلقی میشه. اکسپرشن loopindex هم کارش اینه که مشخص کنه در کدوم مرحله (فاز) از حلقه قرار داریم.  
اگر دقت کرده باشی یک کلید اضافی در آخرین فاز حلقه تشکیل میشه که مقداری نداره و اون رو توی ایونت دوم مربوط به حلقه حذفش کردم. توی این ایونت از ساختار شرطی استفاده کردم. ساختار شرطی به صورت اکسپرشن در کانستراکت به این شکله:
کد:
در غیر اینصورت : اگر شرط برقرار بود انجام شود ? شرط
قبل از علامت سوال شرط خودم رو لحاظ کردم و گفتم اگر حلقه در فاز آخر خودش بود آخرین کلیدی که توسط شیء دیکشنری ساخته شده حذف بشه و چون در غیر اینصورتی در کار نیست (نقیض شرط در کار نیست) یک دابل کوتیشن خالی قرار دادم.
در ایونت شماره 39 هم گفتم که وقتی حلقه تمام شد با توجه به متغیر index حرف بعدی رو که در دیکشنری ذخیره شده رو به کاربر نمایش بده.
دانلود سورس

 


بازم مرسی از وقتی که گذاشتین 
اموزش هارو حتما نگاه میکنم 
ولی سورس اون چیزی که مدنظرم نبود و خیلی فرق داشت 
خودم روش کار میکنم 
اگه کسی هم تونست راحلی پیدا کنه ممنون میشم به اشتراک بزاره 
 
غایب
  پاسخ


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


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 180 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,597 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

پرش به انجمن: