نمایش نتایج 1 تا 2 از 2

نام تاپیک: سوال از نحوه ساختن چند شي از يك كلاس ونگه داري اطلاعات آنها

  1. #1

    Question سوال از نحوه ساختن چند شي از يك كلاس ونگه داري اطلاعات آنها

    سلام لطفا كمكم كنين
    من یه پروژه دارم که تا قسمتی انجام دادم اما به مشکل برخوردم
    سوال پروژه ام اینه که در#c یک کلید باتون در صفحه هست با هر بار کلیک یک شی از کلاس باتون ساخته شود در محدوه ای از فرم در 4 جهت اصلی رندم حرکت کند
    من این برنامه فقط با یک شی نوشتم نمی دونم برای ساختن چند شی از این کلاس چطور عمل کنم که اطلاعاتشون ذخیره شود تا درحین حرکت باتون ها اگر بهم برخورد کردند جهت حرکتشان برعکس کنم؟

    کلاس من به این صورت است:

    class car : System.Windows.Forms.Button
    {
    public int s;
    public void displybutn() این تابع نمایش است که موقعیت باتون را رندم مشخص می کند
    {
    int leftx, topy;
    Random l = new Random();
    leftx = l.Next(30, 305);
    this.Left = leftx;

    Random t = new Random();
    topy = t.Next(30, 205);
    this.Top = topy;

    Random m = new Random();
    s= m.Next(2); این برای رندم حرکت کردن در چپ یا پایین است
    }//end displybutn()
    //-------------------------------------------------------------
    public car()
    {

    this.Text =Convert.ToString("*");
    this.AutoSize = true;
    this.Width = 25;
    this.Height = 25;
    }
    //-------------------------------------------------------------
    public void move() تابع حرکت
    {
    if (s == 0)
    {
    if (this.Left < 305 || this.Left == 30)
    {
    while (this.Left <= 304)
    {
    this.Left += 1;
    }
    }
    //----------------------------------------------------------------------
    if (this.Left == 305 || this.Left >= 30)
    {
    while (this.Left >= 31)
    {
    this.Left -= 1;
    }
    }
    }//end if(s==0)
    //----------------------------------------------------------------------
    if (s == 1)
    {
    if (this.Top <= 204 || this.Top == 30)
    {
    while (this.Top <= 204)
    {
    this.Top += 1;
    }
    }
    //-------------------------------------------------------------------------
    if (this.Top >= 30 || this.Top == 205)
    {
    while (this.Top >= 31)
    {
    this.Top -= 1;
    }
    }
    }//end if(s==1)
    }//end move
    }//end class car

    //************************************************** ************************


    کد من در صفحه فرم اینه:

    private void button1_Click(object sender, EventArgs e)
    {
    timer1.Enabled = true;
    car c = new car();

    this.Controls.Add(c);
    c.displybutn();
    c.move();



    }
    private void timer1_Tick(object sender, EventArgs e)
    {
    c.move();
    this.Invalidate();

    }


    }
    نحوه استفاده از تايمر رو هم براي حركت باتونها لطفاتوضيح بدهيد
    با تشكر فراوان

  2. #2

    نقل قول: سوال از نحوه ساختن چند شي از يك كلاس ونگه داري اطلاعات آنها

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

    شما 2 راه دازین واسه انجام پروژتون
    راه اول اینکه تعداد اشیایی که ساخته میشه رو محدود کنید مثلا 100,200,500 و یک آرایه از اون کلاس بسازید با تعداد مشخص و سپس با همون آرایه کار کنید که این کار جالب نیست و برنامه شما ایستا میشه

    راه دوم اینکه شما باید یک لیست پیوندی پویا داشته باشید که در اون آدرس کلاس هایی که می سازید رو نگه دارید . اینطوری آدرس ها گم نمیشه و می تونید بهشون دسترسی داشته باشید ، اینطوری برنامتون پویا هم میشه

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •