advertise laitec sharif univercity
دانلود مقاله ای در مورد الگوریتم  کرم شب تاب FireFly در هوش مصنوعی

دانلود مقاله ای در مورد الگوریتم کرم شب تاب FireFly در هوش مصنوعی

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

دانلود مجموعه 70 پروژه مفید و کاربردی سی شارپ #C

28000 تومان
دانلود آپلود سنتر پیشرفته با PHP و Ajax

دانلود آپلود سنتر پیشرفته با PHP و Ajax

10000 تومان
پروژه کامل مدیریت شرکت نرم افزاری با سی شارپ و SQL

پروژه کامل مدیریت شرکت نرم افزاری با سی شارپ و SQL

38000 تومان
دانلود پروژه مدیریت کتابخانه با سی شارپ و SQL سرور

دانلود پروژه مدیریت کتابخانه با سی شارپ و SQL سرور

10000 تومان

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

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

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

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

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

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

 

برنامه اصلی بازی هشت با سی شارپ را میتوانید در پایین صفحه دانلود کنید.

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

 

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

namespace eight_eight
{
    public partial class Form1 : Form
    {
        Node newNode;
        priorityQueue pQueue; 
        ArrayList path = new ArrayList();
        firstModel fm;

        bool crtTree = false;

        public Form1()
        {
            newNode = new Node();
            InitializeComponent();
            fm = new firstModel(); 
            pQueue = new priorityQueue(true);
            pQueue.FirstM = fm;
        }

        public void showMatrix()
        {
            int[,] digit = new int[3, 3];
            digit = newNode.Matrix;
            if (digit[0, 0] != 0)
                label1.Text = digit[0, 0].ToString();
            else
                label1.Text = "";
            if (digit[0, 1] != 0)
                label2.Text = digit[0, 1].ToString();
            else
                label2.Text = "";
            if (digit[0, 2] != 0)
                label3.Text = digit[0, 2].ToString();
            else
                label3.Text = "";
            if (digit[1, 0] != 0)
                label4.Text = digit[1, 0].ToString();
            else
                label4.Text = "";
            if (digit[1, 1] != 0)
                label5.Text = digit[1, 1].ToString();
            else
                label5.Text = "";
            if (digit[1, 2] != 0)
                label6.Text = digit[1, 2].ToString();
            else
                label6.Text = "";
            if (digit[2, 0] != 0)
                label7.Text = digit[2, 0].ToString();
            else
                label7.Text = "";
            if (digit[2, 1] != 0)
                label8.Text = digit[2, 1].ToString();
            else
                label8.Text = "";
            if (digit[2, 2] != 0)
                label9.Text = digit[2, 2].ToString();
            else
                label9.Text = "";
        }

        private void createTree()
        {
            int depth = 0;
            bool state = false;
            bool[] availToMove = new bool[4];
            int nodeCount = 0;
            int expandedNode = 0;
            //*********** create initial state ***********
            queueObject queueObj = new queueObject();
            queueObj.Matrix = newNode.Matrix;
            queueObj.Manhatan = newNode.showManhatanInt();
            queueObj.EmptyX = newNode.getEmptyX();
            queueObj.EmptyY = newNode.getEmptyY();
            queueObj.path.Add(-1);

            if (queueObj.Manhatan != 0)
            {
                //************ add to queue ******************
                int[,] mtrx = new int[3, 3];

                pQueue.enqueue(queueObj);
                nodeCount++;

                while ((pQueue.getCount() != 0) && (!state))
                {
                    queueObject queueTemp = pQueue.dequeue(); expandedNode++;
                    Node myNode = new Node();
                    myNode.importQueueObject(queueTemp);
                    availToMove = myNode.availableMove();
                    depth++;

                    for (int i = 0; i < 4; i++)
                    {
                        if (availToMove[i])
                        {
                            Node nodeTemp = new Node();
                            nodeTemp.Matrix = queueTemp.Matrix;
                            nodeTemp.EmptyX = queueTemp.EmptyX;
                            nodeTemp.EmptyY = queueTemp.EmptyY;
                            nodeTemp.move(i); 
                            nodeTemp.showManhatanInt();

                            //******
                            queueObject qobj = new queueObject();
                            qobj.Matrix = nodeTemp.Matrix;
                            qobj.Manhatan = nodeTemp.showManhatanInt();
                            qobj.EmptyX = nodeTemp.getEmptyX();
                            qobj.EmptyY = nodeTemp.getEmptyY();
                            qobj.Gx = nodeTemp.Gx + 1;
                            for (int p = 0; p < queueTemp.path.Count; p++)
                            { qobj.path.Add(queueTemp.path[p]); }
                            qobj.path.Add(i);
                            pQueue.enqueue(qobj); nodeCount++;
                            if (qobj.Manhatan == 0)
                            {
                                for (int x = 0; x < qobj.path.Count; x++)
                                {
                                    path.Add(qobj.path[x]);
                                }
                                state = true;
                                break;
                            }

                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("جدول مرتب است");
            }

            nodeCountL.Text = "";
            expandedNodeL.Text = "";
            treeDepthL.Text = "";
            nodeCountL.Text = nodeCount.ToString();
            expandedNodeL.Text = expandedNode.ToString();
            treeDepthL.Text = (path.Count-1 ).ToString();
            pathCountL.Text = (path.Count - 2).ToString();
        }

        private void label3_Click(object sender, EventArgs e)
        {
            int cellNum;
            bool[] temp = new bool[4];
            string cell = sender.ToString().Substring(sender.ToString().IndexOf("Text:") + 6);
            if (cell.Length > 0)
            {
                cellNum = Convert.ToInt16(cell);
                temp = newNode.availableMoveCell(cellNum);

                if (temp[0] || temp[1] || temp[2] || temp[3])
                {
                    newNode.changeMatrixCell(cellNum);
                    showMatrix();
                }
            }
        }

        private void showPathB_Click(object sender, EventArgs e)
        {
            int pathCount = path.Count - 2;
            pathCountL.Text = pathCount.ToString();
            for (int i = 1; i < path.Count; i++)
            {
                newNode.move(((int)path[i]));
                pathCountL.Text = (pathCount--).ToString();
                Thread.Sleep(1000);
                showMatrix();
                this.Refresh();
            }
            path.Clear();
            Node nd = new Node();
            priorityQueue p = new priorityQueue(true);
            newNode = nd;
            pQueue = p;
        }

        #region ********* Buttons code ***************


        #region **** new ****

        private void newStartPB_MouseClick(object sender, MouseEventArgs e)
        {
            Node nd = new Node();
            newNode = nd;
            priorityQueue pq = new priorityQueue(true);
            pQueue = pq;
            path.Clear();
            showMatrix();
            nodeCountL.Text = "";
            expandedNodeL.Text = "";
            treeDepthL.Text = "";
        }

        private void newStartPB_MouseUp(object sender, MouseEventArgs e)
        {
            this.newStartPB.Image = global::eight_eight.Properties.Resources.start1;
        }

        private void newStartPB_MouseDown(object sender, MouseEventArgs e)
        {
            this.newStartPB.Image = global::eight_eight.Properties.Resources.start3;
        }

        #endregion

        #region **** refresh ****

        private void refreshPB_MouseClick(object sender, MouseEventArgs e)
        {
            int speed = 0, counter = 1000;
            try
            {
                if ((speedCB.Text == "") || (speedCB.Text == "سريع"))
                {
                    speed = 0;
                }
                else
                {
                    speed = Convert.ToInt16(speedCB.Text);
                }
                if (counterCB.Text == "")
                {
                    counter = 1000;
                }
                else
                {
                    counter = Convert.ToInt16(counterCB.Text);
                }
            }
            catch
            {
                MessageBox.Show("!مقادير انتخاب شده صحيح نمي باشند");
            }
            Random rnd = new Random();
            bool[] temp = new bool[4];
            int x = 0;
            for (int i = 0; i < counter; i++)
            {
                temp = newNode.availableMove();
                while (true)
                {
                    x = rnd.Next(0, 4);
                    if (temp[x] == true && x < 4)
                    {
                        newNode.move(x);
                        if (speed != 0)
                        {
                            Thread.Sleep(speed);
                            showMatrix();
                            this.Refresh();
                        }
                        break;
                    }
                }
            }
            showMatrix();
        }

        private void refreshPB_MouseDown(object sender, MouseEventArgs e)
        {
            this.refreshPB.Image = global::eight_eight.Properties.Resources.refresh2;
        }

        private void refreshPB_MouseUp(object sender, MouseEventArgs e)
        {
            this.refreshPB.Image = global::eight_eight.Properties.Resources.refresh1;
        }

        #endregion

        #region **** create tree ****

        private void createTreePB_MouseClick(object sender, MouseEventArgs e)
        {
            //if (crtTree)
            {
                createTree();
            }
            crtTree = true;
        }

        private void createTreePB_MouseDown(object sender, MouseEventArgs e)
        {
            this.createTreePB.Image = global::eight_eight.Properties.Resources.cteateTree2;
        }

        private void createTreePB_MouseUp(object sender, MouseEventArgs e)
        {
            this.createTreePB.Image = global::eight_eight.Properties.Resources.cteateTree1;
        }

        #endregion

        #region **** show path ****

        private void showPathPB_MouseUp(object sender, MouseEventArgs e)
        {
            this.showPathPB.Image = global::eight_eight.Properties.Resources.showPath1;
        }

        private void showPathPB_MouseDown(object sender, MouseEventArgs e)
        {
            this.showPathPB.Image = global::eight_eight.Properties.Resources.showPath2;
        }

        private void showPathPB_MouseClick(object sender, MouseEventArgs e)
        {
            if (crtTree)
            {
                int pathCount = path.Count - 2;
                for (int i = 1; i < path.Count; i++)
                {
                    newNode.move(((int)path[i]));
                    pathCountL.Text = (pathCount--).ToString();
                    Thread.Sleep(1000);
                    showMatrix();
                    this.Refresh();
                }
                path.Clear();
                Node nd = new Node();
                priorityQueue p = new priorityQueue(true);
                newNode = nd;
                pQueue = p;
                crtTree = false;
            }
        }

        #endregion

        #region **** exit button ****

        private void exitPB_MouseUp(object sender, MouseEventArgs e)
        {
            this.exitPB.Image = global::eight_eight.Properties.Resources.exit1;
        }

        private void exitPB_MouseDown(object sender, MouseEventArgs e)
        {
            this.exitPB.Image = global::eight_eight.Properties.Resources.exit2;
        }

        private void exitPB_MouseClick(object sender, MouseEventArgs e)
        {
            Application.Exit();
        }

        #endregion

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        #endregion
    }
}

 

 

 

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

حجم فایل :  1.20 MB

 



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

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












1
نظرات
  • user avatar علیرضا:
    ۱۹:۵۱:۰۸ __ ۱۳۹۷/۰۸/۲۲

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

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



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


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

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

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