Создание электронного варианта игры Домино

Автор работы: Пользователь скрыл имя, 16 Октября 2013 в 13:16, курсовая работа

Краткое описание

Разрабатываемая игра “Домино” является компьютерным вариантом настольной игры, которая предназначена для парной игры за одним компьютером, имеет удобный и понятный пользовательский интерфейс с возможность перемещения костяшек по полю.
Каждый игрок получает по семь костяшек, остальные размещаются в закрытом резерве. Начинает тот игрок, у которого наибольшее значение (например 6-6). Далее игроки выставляют костяшки с соответствующими очками. Если подходящих костяшек нет, то приходится добирать из резерва. Игра заканчивается, когда один из игроков выложит последнюю костяшку.

Содержание

ВВЕДЕНИЕ 4
1 ПОСТАНОВКА ЗАДАЧИ 5
2 ПРАКТИЧЕСКАЯ ЧАСТЬ 6
2.1 Выбор технических и программных средств 6
2.2 Описание классов, объектов, свойств и методов разрабатываемого программного средства 8
2.3 Блок-схема алгоритма работы программы 11
2.4 Описание функционирования программы 13
3 ТЕСТИРОВАНИЕ ПРОГРАММНОГО СРЕДСТВА 15
3.1 Тестирование программного средства на различные входные данные и его реакция на них 15
3.2 Тестирование программного средства в различных аппаратных средах 15
4 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 16
4.1 Требования к установке программного обеспечения: 16
4.2 Руководство пользователя по работе с программным средством 16
ЗАКЛЮЧЕНИЕ 19
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 20

Вложенные файлы: 1 файл

3. Пояснительная.docx

— 250.88 Кб (Скачать файл)

                {   // ПО НИЖНЕЙ ГОРИЗОНТАЛИ

                    if (form.povorot1 == 2)

                        pointPNT_211(point1);

                    else if (form.povorot1 == 3)

                        pointPNT_222(point1);

                }

            }

 

            this.pictureBox.BackColor = Color.Tomato;                      

            form.stop_ppl(this.arrayList);                                 

            form.listBox1.Items.Add("oneClick");                // log

        }

 

        // Событие нажатия выделения-1

        public void twoClick(object sender, EventArgs e)

        {

            if (compare1() == 1)

            {

                form.buf.pictureBox.Click -= new System.EventHandler(oneClick);        

                form.buf.pictureBox.BackColor = SystemColors.GradientInactiveCaption;  

                form.panel1.Controls.Remove(form.verh1.pictureBox);                    

                form.panel1.Controls.Remove(form.verh2.pictureBox);                    

                Point point1 = form.point1;

                if (point1.X < 1150 && form.povorot1 == 0)

                {   // ПО ВЕРХНЕЙ ГОРИЗОНТАЛИ

                    form.buf.size(form.buf.zn1 == form.buf.zn2, point1, form.panel1);       

                    form.point1.X += form.buf.pictureBox.Size.Width;                       

                    form.val1 = (form.buf.zn1 == form.buf.zn2);                            

                    form.listBox1.Items.Add("point1.X < 850 && form.povorot1 == 0");      

                }

                else

                {

                    point1 = form.verh1.pictureBox.Location;

                    if (point1.Y < 300 && form.povorot1 < 2)

                    {   // ПО ВЕРТИКАЛИ

                        if (form.povorot1 == 0)

                            pointPNT_10(point1);

                        else if (form.povorot1 == 1)

                            pointPNT_11(point1);

                        form.listBox1.Items.Add("point1.Y < 300 && form.povorot1 < 2");      

                    }

                    else

                    {   // ПО НИЖНЕЙ ГОРИЗОНТАЛИ

                        if (form.povorot1 == 2)

                            pointPNT_21(point1);

                        else if (form.povorot1 == 3)

                            pointPNT_22(point1);

                        form.listBox1.Items.Add("else");       // log

                    }

                }

                form.buf.arrayList.RemoveAt(form.buf.arrayList.IndexOf(form.buf));     

                form.buf.panel.BackColor = SystemColors.GradientInactiveCaption;       

                form.cleaner(form.buf.panel);                                          

                form.start_game(form.buf.panel, form.buf.arrayList);                   

                form.stop_ppl(form.buf.arrayList);                                     

                form.verh_stop(form.buf.arrayList);

                form.value1 = form.buf.zn2;                                            

                form.control();                                                        

                form.hoD++;

                form.label4.Text = form.hoD.ToString();

            }

            else

                form.panel1_Click(null, null);

 

            form.listBox1.Items.Add("click2/value1 " + form.value1);       // log

            form.listBox1.Items.Add("click2/value2 " + form.value2);       // log

            form.listBox1.Items.Add("povorot " + form.povorot1);       // log

            form.listBox1.Items.Add("---------------------------");

        }

 

        // Событие  нажатия выделения-2

        public void threeClick(object sender, EventArgs e)

        {

            form.listBox1.Items.Add("three");    // log

            if (compare2() == 1)

            {

                form.buf.noSob();                                                      

                form.buf.pictureBox.BackColor = SystemColors.GradientInactiveCaption; 

                form.panel1.Controls.Remove(form.verh1.pictureBox);                    

                form.panel1.Controls.Remove(form.verh2.pictureBox);                    

                Point point2 = form.verh2.pictureBox.Location;                         

                if (form.povorot2 == 0 && form.puf == false)

                {   // ПО ВЕРХНЕЙ ГОРИЗОНТАЛИ

                    if (form.buf.zn1 != form.buf.zn2)

                    {

                        point2.Y -= 20;

                        form.listBox1.Items.Add("twoClick Rotate");       // log

                    }

                    form.buf.size(form.buf.zn1 == form.buf.zn2, point2, form.panel1);       

                    form.point2 = point2;

                    form.val2 = (form.buf.zn1 == form.buf.zn2);                            

                }

                else

                {

                    point2 = form.verh2.pictureBox.Location;

                    if (point2.Y < 300 && form.povorot2 < 2)

                    {   // ПО ВЕРТИКАЛИ

                        if (form.povorot2 == 0)

                            pointPNT_30(point2);

                        else if (form.povorot2 == 1)

                            pointPNT_33(point2);

                        form.listBox1.Items.Add("point2.Y < 300 && form.povorot2 < 2");      

                    }

                    else

                    {   // ПО НИЖНЕЙ ГОРИЗОНТАЛИ

                        if (form.povorot2 == 2)

                            pointPNT_31(point2);

                        else if (form.povorot2 == 3)

                            pointPNT_32(point2);

                        form.listBox1.Items.Add("else");       // log

                    }

                }

 

                form.buf.arrayList.RemoveAt(form.buf.arrayList.IndexOf(form.buf));     

                form.cleaner(form.buf.panel);                                          

                form.start_game(form.buf.panel, form.buf.arrayList);                   

                form.buf.panel.BackColor = SystemColors.GradientInactiveCaption;       

                form.stop_ppl(form.buf.arrayList);                                     

                form.verh_stop(form.buf.arrayList);

                form.value2 = form.buf.zn1;

                form.control();                                                        

                form.hoD++;

                form.label4.Text = form.hoD.ToString();

            }

            else

               form.panel1_Click(null, null);

            form.listBox1.Items.Add("click3/value1 " + form.value1);       // log

            form.listBox1.Items.Add("click3/value2 " + form.value2);       // log

            form.listBox1.Items.Add("povorot " + form.povorot2);       // log

            form.listBox1.Items.Add("---------------------------");

        }

 

        // Сравнение  сторон (по правой)

        public int compare1()

        {

            if (form.value1 == form.buf.zn1)

            {

                if (form.povorot1 > 1)

                {

                    form.buf.pictureBox.Image.RotateFlip(RotateFlipType.Rotate180FlipNone);

                    form.listBox1.Items.Add("if =2и3 180 ");    // log

                }

                return 1;

            }

            if (form.value1 == form.buf.zn2)

            {

                if (form.povorot1 < 2)

                {

                    form.buf.pictureBox.Image.RotateFlip(RotateFlipType.Rotate180FlipNone);

                }

                int buf = form.buf.zn1;

                form.buf.zn1 = form.buf.zn2;

                form.buf.zn2 = buf;

                form.listBox1.Items.Add("if !=2 180 ");    // log

                return 1;

            }

            return -1;

        }

 

        // Сравнение  сторон (по левой)

        public int compare2()

        {

            if (form.value2 == form.buf.zn2)

            {

                return 1;

            }

            if (form.value2 == form.buf.zn1)

            {

                form.buf.pictureBox.Image.RotateFlip(RotateFlipType.Rotate180FlipNone);    

                int buf = form.buf.zn1;

                form.buf.zn1 = form.buf.zn2;

                form.buf.zn2 = buf;

                return 1;

            }

            return -1;

        }

 

// ПОВОРОТ: выделение по правой  стороне, поворот вниз

        void pointPNT_100(Point point1)    

        {

            form.listBox1.Items.Add("pointPNT_100");

            form.listBox1.Items.Add("point1.X: " + point1.X);

            form.listBox1.Items.Add("point1.Y: " + point1.Y);

            if (form.val1 && !(this.zn1 == this.zn2))

            {

                point1.X -= 48;

                point1.Y += 87;

                form.verh1.rotate = true;

                form.verh1.size(true, point1, form.panel1);  

            }

            if (!form.val1 && !(this.zn1 == this.zn2))

            {

                point1.X -= 48;

                point1.Y += 48 + 20;

                form.verh1.rotate = true;

                form.verh1.size(true, point1, form.panel1);  

            }

            if (!form.val1 && (this.zn1 == this.zn2))

            {

                point1.X -= 48 + 20;

                point1.Y += 48;

                form.verh1.rotate = false;

                form.verh1.size(false, point1, form.panel1); 

            }

        }

 

        // ПОВОРОТ:  выделение по правой стороне

        void pointPNT_111(Point point1)

        {

            form.listBox1.Items.Add("pointPNT_111");

            form.listBox1.Items.Add("point1.X: " + point1.X);

            form.listBox1.Items.Add("point1.Y: " + point1.Y);

            if (form.val1 && !(this.zn1 == this.zn2))

            {

                form.verh1.size(true, point1, form.panel1);  

                form.verh1.rotate = true;

            }

            if (form.val1 && (this.zn1 == this.zn2))    //****

            {

                point1.X -= 20;

                point1.Y -= 20;

                form.verh1.size(false, point1, form.panel1); 

                form.verh1.rotate = false;

            }

            if (!form.val1 && !(this.zn1 == this.zn2))

            {

                form.verh1.size(true, point1, form.panel1);

                form.verh1.rotate = true;

            }

        }

 

        // ПОВОРОТ:  выделение по правой стороне,  поворот ОБРАТНО

        void pointPNT_211(Point point1)

        {

            form.listBox1.Items.Add("pointPNT_211");

            if (form.val1 && !(form.buf.zn1 == form.buf.zn2))

            {

                point1.X -= 87;

                point1.Y -= 48 + 20;

                form.verh1.size(false, point1, form.panel1);

                form.verh1.rotate = false;

                point1.Y -= 20;

                form.listBox1.Items.Add("true-false");

            }

            else if (!form.val1 && !(form.buf.zn1 == form.buf.zn2))

            {

                point1.X -= 87 + 20;

                point1.Y -= 48 + 20;

                form.verh1.size(false, point1, form.panel1);

                form.verh1.rotate = false;

                form.listBox1.Items.Add("false-false");

            }

            else if (!form.val1 && (form.buf.zn1 == form.buf.zn2))

            {

                point1.X -= 48;

                point1.Y -= 48 - 20;

                form.verh1.size(true, point1, form.panel1); // Рисую выделенную область-1

                form.verh1.rotate = true;

                form.listBox1.Items.Add("false-true");

            }

            else if (form.val1 && (form.buf.zn1 == form.buf.zn2))

            {

                point1.X -= 48;

                point1.Y -= 48 + 20;

                form.verh1.size(true, point1, form.panel1); // Рисую выделенную область-1

                form.verh1.rotate = true;

                form.listBox1.Items.Add("true-true");

            }

        }

 

        // ПОВОРОТ:  выделение по правой стороне  ОБРАТНО

        void pointPNT_222(Point point1)

        {

            form.listBox1.Items.Add("pointPNT_222");

            if (form.val1 && !(form.buf.zn1 == form.buf.zn2))

            {

                point1.X -= 87;

                form.verh1.size(false, point1, form.panel1);

                form.verh1.rotate = false;

            }

            else if (!form.val1 && !(form.buf.zn1 == form.buf.zn2))

            {

                point1.X -= 87;

                point1.Y += 20;

                form.verh1.size(false, point1, form.panel1);

                form.verh1.rotate = false;

            }

            else if (!form.val1 && (form.buf.zn1 == form.buf.zn2))

            {

                point1.X -= 48;

                point1.Y += 20;

                form.verh1.size(true, point1, form.panel1); // Рисую выделенную область-1

                form.verh1.rotate = true;

            }

        }

       

// ПОВОРОТ: доминошка по правой  стороне, поворот вниз

        void pointPNT_10(Point point1)

        {

            form.listBox1.Items.Add("pointPNT_10");

            if (form.val1 && !(form.buf.zn1 == form.buf.zn2))

            {

                form.buf.size(true, point1, form.panel1); // Рисую выделенную область-1

                form.val1 = true;

                point1.Y += 87;

            }

            if (!form.val1 && !(form.buf.zn1 == form.buf.zn2))

            {

                form.buf.size(true, point1, form.panel1); // Рисую выделенную область-1

                form.val1 = true;

                point1.Y += 87;

            }

            if (!form.val1 && (form.buf.zn1 == form.buf.zn2))

            {

                point1.Y -= 20;

                form.buf.size(false, point1, form.panel1); // Рисую выделенную область-1

                form.val1 = false;

                point1.X += 20;

                point1.Y += 48 + 20;

            }

            form.point1 = point1;

            form.povorot1++;

        }

 

        // ПОВОРОТ:  доминошка по правой стороне

        void pointPNT_11(Point point1)

        {

            form.listBox1.Items.Add("pointPNT_11");

            if (form.val1 && !(form.buf.zn1 == form.buf.zn2))

            {

                form.buf.size(true, point1, form.panel1); // Рисую выделенную область-1

                form.val1 = true;

                point1.Y += 87;

                form.listBox1.Items.Add("true-false");

            }

            if (form.val1 && (form.buf.zn1 == form.buf.zn2))

            {

                point1.Y -= 20;

                form.buf.size(false, point1, form.panel1); // Рисую выделенную область-1

                form.val1 = false;

                point1.Y += 48 + 20;

                point1.X += 20;

                form.listBox1.Items.Add("true-true");

Информация о работе Создание электронного варианта игры Домино