advertise laitec sharif univercity تبلیغات در سایت سورس کد تبلیغات در سایت سورس کد
سورس پروژه پایانی آزمون گیری با زبان سی شارپ و SQL

سورس پروژه پایانی آزمون گیری با زبان سی شارپ و SQL

7000 تومان
دانلود پروژه مهندسی نرم افزار ، نمایندگی ایران خودرو

دانلود پروژه مهندسی نرم افزار ، نمایندگی ایران خودرو

3000 تومان
دانلود پروژه مهندسی نرم افزار ، سیستم داروخانه

دانلود پروژه مهندسی نرم افزار ، سیستم داروخانه

3000 تومان
دانلود پروژه فروشنده دوره گرد با الگوریتم ازدحام ذرات PSO در #C

دانلود پروژه فروشنده دوره گرد با الگوریتم ازدحام ذرات PSO در #C

4800 تومان
پکیج ویژه پروژه پایانی و پایان نامه رشته کامپیوتر

پکیج ویژه پروژه پایانی و پایان نامه رشته کامپیوتر

45000 تومان

دانلود سورس کد برجهای هانوی در سی شارپ #C

در این قسمت سورس برنامه برجهای هانوی را که با زبان برنامه نویسی سی شارپ نوشته شده است و مطمئنا با آن آشنایی دارید جهت استفاده شما قرار داده ایم.
دانلود سورس کد برجهای هانوی در سی شارپ #C

دانلود سورس کد برجهای هانوی در سی شارپ #C

در این قسمت سورس برنامه برجهای هانوی را که با زبان برنامه نویسی سی شارپ نوشته شده است و مطمئنا با آن آشنایی دارید جهت استفاده شما قرار داده ایم. 

برنامه برجهای هانوی به این صورت است که : سه میله داریم که صفحات با اندازه های مختلف بصورت پراکنده روی آنها قرار گرفته اند. باید صفحات را طوری روی میله ها جابه جا کنیم که در پایان همه صفحات به ترتیب اندازه از کوچک به بزرگ (صعودی) روی هم در برج مقصد قرار گیرند. توجه داشته باشید که در طول مسیر جابه جایی، نباید هیچ صفحه بزرگتری روی صفحه کوچکتر قرار گیرد. 

این برنامه با توابع ساده و قابل فهمی طراحی شده است دارای یک فرم است که با ورود به آن میتوان تعداد صفحات برای برنامه را تعیین کرد. در فرم سه میله ی منبع، میله ی کمکی و میله مقصد نیز وجود دارد. با کلیک روی دکمه Start برنامه شروع میشود با کلیک روی دکمه Next صفحه بصورت تکی در جهت رسیدن به هدف (قرار گرفتن بصورت صودی روی میله مقصد) حرکت میکنند. در برنامه تعداد حرکتها نیز محاسبه میشود. همچنین برای خروج از برنامه نیز دکمه Exit قرار داده شده است.

 

برنامه اصلی #C برجهای هانوی را میتوانید در پایین صفحه دانلود کنید.

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

 

sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace HanoiTowers
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
          
 allStands = new List[] { Stand1plates, Stand2plates, Stand3plates };
            
            //   Stand2plates.Add(3);
        }

        List[] allStands;
        List Stand1plates = new List();
        List Stand2plates = new List(); 
        List Stand3plates = new List();

        int plates = 4;
        int mySource=1,  myInter=2,myDest=3;
            
        int standWidth = 30;
        int plateHeight = 20;
        int TotalMoves;

        frmNext fnext = new frmNext();

        void solveTowers(int count, int source, int dest, int inter)
        {
            if (count == 1)
            {
                try
                {
                    MoveFromTo(source, dest);
                    TotalMoves++;
                    {
                        fnext.lblMove.Text = "Move from stand " + source.ToString() + " to stand " + dest.ToString();
                        fnext.lblMoves.Text = TotalMoves.ToString();
                        fnext.Location = new Point(this.Width / 2 - fnext.Width / 2, this.Height - 25);
                        fnext.ShowDialog();
                    }
                    label2.Text = "total moves: " + TotalMoves.ToString();

                }
                catch { }
            }

            else
            {
                solveTowers(count - 1, source, inter, dest);
                solveTowers(1, source, dest, inter);
                solveTowers(count - 1, inter, dest, source);
            }
        }

        private void MoveFromTo(int source, int dest)
        {
            int top = allStands[source-1][allStands[source-1].Count - 1];
            allStands[source - 1].Remove(top);
            allStands[dest-1].Add(top);

            RedrawPanels();

        } 
        void start()
        {
            TotalMoves = 0;

            for (int i = plates; i > 0; i--)
            {
                Stand1plates.Add(i);
            }
            RedrawPanels();
            solveTowers(plates, mySource, myDest, myInter);
        }
        private void RedrawPanels()
        {
            pnlDestination.Invalidate();
            pnlSource.Invalidate();
            pnlIntermediate.Invalidate();

        }


        private void button1_Click(object sender, EventArgs e)
        {
            start();
        }

        private void pnl_Paint(object sender, PaintEventArgs e)
        {
            Panel p = (Panel)sender;
            Graphics pnlGraphix = e.Graphics;
            pnlGraphix.Clear(Color.White);
            DrawTheStand(pnlGraphix, p);
            DrawPlates(pnlGraphix, p, p.TabIndex);
        }

        private void DrawTheStand(Graphics graphics, Panel p)
        {
            graphics.FillRectangle(new SolidBrush(Color.Gray), new Rectangle(p.Width / 2 - standWidth / 2, p.Width / 2 - standWidth / 2, standWidth, p.Height - 20));
        }
        private void DrawPlates(Graphics graphics, Panel p, int StandNo)
        {
            if (Stand1plates == null) return;
            Stand1plates.Sort();
            Stand1plates.Reverse();

            switch (StandNo)
            {
                case 1:
                    DrawStandPlates(graphics, Stand1plates, p); break;
                case 2:
                    DrawStandPlates(graphics, Stand2plates, p); break;
                case 3:
                    DrawStandPlates(graphics, Stand3plates, p); break;
            }


        }
        private void DrawStandPlates(Graphics graphics, List plates, Panel p)
        {
            int i = 0;
            foreach (int plateNo in plates)
            {
                i++;
                graphics.FillEllipse(new SolidBrush(Color.Red), new Rectangle(p.Width / 2 - (plateNo * 30) / 2, p.Height - i * plateHeight, plateNo * 30, plateHeight));
                graphics.DrawString(plateNo.ToString(), new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold), Brushes.Black, new Rectangle(p.Width / 2-8 , p.Height - i * plateHeight, plateNo * 30, plateHeight));
            }
        }


        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            plates = Convert.ToInt32(numericUpDown1.Value);
            RedrawPanels();
        }

        private void frmMain_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("http://WWw.SourceCodes.ir");
        }


    } //ends Hanoi class

}

 

 

سورس کد برنامه برجهای هانوی با زبان سی شارپ #c را به صورت رایگان دانلود کنید

حجم فایل :  91.3 KB

 

 



لینک های دانلود

دانلود با لینک مستقیم رمز فایل : www.SourceCodes.ir












0
نظرات

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
سورس رایگان HanoiTawers برنامه برجهای هانوی در سی شارپسورس کد برجهای هانوی در سی شارپ #Cدانلود سورس کد برجهای هانوی در سی شارپ #Cدانلود رایگان سورس برجهای هانوی با زبان #Cسورس کد برجهای هانویسورس رایگان برجهای هانوی در سی شارپدانلود برنامه HanoiTawers با سی شارپتبلیغات ارزان سایت آموزش برنامه نویسیتبلیغات مخصوص طراحان وب سایتتبلیغات در سایت برنامه نویسیتبلیغات اینترنتی برای برنامه نویساندر آغوش مینیمالیسممنوی همبرگر با سه خط افقی که روی یکدیگر قرار گرفته اند نشانه چیست؟ سوئیچ به یک ستون واحدتبدیل متن ساده به وبلاگ و سایت های پویا با React.jsکتابخانه sass برای استفاده آسان تر از آنکتابخانه سطح بالا برای اتوماتیک سازی اعمال مرورگر لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

سفارش پروژه در سورس کد

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php