0 امتیاز

با سلام خدمت اساتید محترم:

من یک سوال خیلی سخت و مهمی داشتم ممنون میشم کمکم کنید:

این عکس فرم من است، من 5 عدد دکمه روی صفحه گذاشتم که به هر کدام عدد های متفاوتی داده ام و یک lable که به من امتیازم را نشان دهد و  یک TextBox که درجه مورد نظر را تایپ کنم.

مراحل:

من می خواهم اول کار در TextBox درجه مورد نظر را تایپ کنم مثلا 120 درجه، بعد بیام روی توپ که کلیک چپ کردم و کلیک چپ را رها کردم این توپ به این Button ها برخورد کند و عدد هایی که روی این button ها است کم شود ووقتی که شماره Button ها کم شد از بین بروند و امتیاز را در lable بالا نمایش دهد.

بزایند واضح تر توضیح دهم:

من وقتی درجه را در textBox وارد کردم و با کلید چپ موس روی توپم کلیک کردم و آن را رها کردم توپم برخورد کند به این Button ها و شماره هایی که روی این ها است کم شود یعنی هر ضربه ای که به این Button ها میخورد شماره های این Button  ها کم شود و وقتی شماره هاشون تمام شد هر چند تعدادی که توپ من به این Button ها برخورد کرد امتیاز به من بدهد و این امتیازدر lable نمایش دهد.

نکته: حالا حتما نباید توپ من به همه ی Button ها بخورد تا زمانی امتیاز بدهد که توپ من دارد به این Buttonها خورد میکند و تا زمانی امتیاز بدهد که توپ من سرجای اولش نیامده ووقتی سرجای اولش آمد متوقف شود و فقط امتیاز من را در lable بالا نمایش دهد

نکنه2: وقتی توپ من به این Button ها برخورد میکند ، حالا حتما هم نباید به همش بخورد ممکن است اون درجه که به توپ میدهیم به همه ی Button ها نخورد ممکن است به 3تاش بخورد ووقتی که توپ به این Button ها برخورد کرد عدد هایی که روی این Button ها است کم شود، و به من امتیاز دهد و وقتی امتیاز من زیاد شد عدد هایی که روی این Button ها هست هم آپدیت شود.

نکته3:من می خواهم اینکار با ویندوز فرم انجام شود نه با wpf

امیدوارم مفهوم و منظور را رسانده باشم.

میدانم که اساتید وقت خالی ندارند  ولی ممنون میشم کمک کنید

با تشکر

3 پاسخ

+1 امتیاز

سلام دوست عزیز؛

همونطور که در مثال قبل و سوال شما پاسخ داده شد

اینجــــــــــــــــا

 میتونید از همون روش برای این برنامه استفاده کنید 

مثلا برای باتن1==> عدد 5 رو در نظر بگیرید بعنوان تکست پس از هر برخورد یک مقدار کم بشه 

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

ببنید مقادیر لازم و اختیاری رو داخل رندوم قرار بدید

  Random rnd = new Random();
            BallVx = rnd.Next(1, 4);
            BallVy = rnd.Next(1, 4);
            BallX = rnd.Next(0, ClientSize.Width - BallWidth);
            BallY = rnd.Next(0, ClientSize.Height - BallHeight);

برای درک بهتر این مثال رو ببینید

 

دانلود سمپل

دوست عزیز

من یکی براتون نوشتم امیدوارم بدردتون بخوره

یه اجرا هم ازش گرفتم==>اینجــــا

دانلود

ویرایش شده توسط
توسط (7,164 امتیاز) 4 7 141
خیلی ممنون زخمت کشیدید.

بعد یک سوال دیگر.

عذرمی خوام خیلی سوال میپرسم

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

حالا اگر من بخوام با خراب شدن این Button ها امتیازم را هم بهم تو lable نشان دهد باید چی کارکنم؟
توسط (136 امتیاز) 1 7
0 امتیاز

دوست عزیز 

راهش اینه تو همون متدی که اعداد باتن کسر میشن یه متغییر تعریف کنید مثل همونbtnname و وقتی برخورد صورت گرفت 

امتیاز رو ثبت کنی

مثلا
یه متغیر
int score=0;


داخل متد

score=score+5;


label1.text=score.tostring();

 

 

البته من 5 نوشتم نحوه امتیاز دهی با شما میتونی 10 تا انتخاب کنی یا یکی

برای اضافه کردن چندتا Button دیگه کلا من کیج شدم.

هر کاری میکنم نمیشه.

کلا برنامم ریخ به هم.

میشه بی زحمت این قسنتش هم برام انجام بدیند؟

دیگه مزاحم وقتتون هم نشم
توسط (136 امتیاز) 1 7
بی زحمت برام انجام میدیند؟
توسط (136 امتیاز) 1 7
0 امتیاز

دوست عزیز 

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

2 تا پروژه میفرستم نحوه امتیاز دهی یعنی کسر اون مقادیر از باتن متفاوته

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

MyBaaaall.Bottom >= button2.Top 


یعنی برخورد قسمت بالایی باتن به قسمت پایینی توپ شبیه سازی شده اینو بردارید اون عمل انجام نمیشه

 

 

 

دانلود اولی

 

 

دانلود دومی

وقتی توپ به بالا پرتاپ میشود بعضی اوقات توپ از Button ها رد میشود و عدد باتون ها کم نمیشود و بار دوم که توپ دوباره به بالا می رود  تازه بعد به Button ها میخورد

 

این مربوط به تایمره  کمی تغییرش دهید

من حس کردم که توپ به غیر از Button به چیز دیگری هم میخورد، تو صفحه دکمه مخفی است؟

پس باید یک Button مخفی تو فرم باشد که توپ بهش برخورد میکند؟

 

بنظرم چون باتن روی پنل هست اینطوری میشه نمیدونم اصولش اینه یا نه یبار بجای پنل روی فرم تست کنید

 

وظیفه score این است که وقتی توپ به Button ها خورد امتیاز به من بدهد و همین کار هم میکند، شما تو کدتون گفتیند که اگر score=11 شد پیغام پایان به من بدهد، توی Button ها اعداد 3 است که وقتی توپ به این ها میخورد باید امتیاز 9 به من بدهد. پس پطوریه که score تا 11 میرود؟

 

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

 

توسط (7,164 امتیاز) 4 7 141
راستیتش این بازی نوشتنش خیلی سخته برا همین نوشتنش پا شما افتاد

این کد هایی که نوشتید یخته کیج کننده است یجاشو می خوام تغییر بدم کل برنامه ارور میگره و برنامه میریزه به هم.

میشه لطف کنید این مواردی که گفتم انجام بدید؟ که دیگه مزاحم وقتتون هم نشم
توسط (136 امتیاز) 1 7
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...