Example #1
0
        private void Start_game()
        {
            view_all_words();

            int counter = 0;
            int i = 1;
            int j = 1;
            for (i = 1; i <= M; i++) {
                for (j = 1; j <= N; j++) {
                    MyNewButton myButton = new MyNewButton();
                    myButton.Name = "B " + i*j;
                    myButton.Text = _Laukums[j - 1][i - 1].ToString();//"B " + i * j;
                    myButton.Location = new Point(12+(i-1)*45,24+(j-1)*45);

                    myButton.MouseEnter += new System.EventHandler(this.button2_MouseEnter);
                    //myButton.MouseEnter += new System.EventHandler(this.button2_Click);

                    myButton.MouseLeave += new System.EventHandler(this.button2_MouseLeave);
                    myButton.Click += new System.EventHandler(this.button2_Click);
                    myButton.Height = 40;
                    myButton.Width = 40;
                    myButton.i = i;
                    myButton.j = j;
                    myButton.MyIndex = counter;
                    POLE.Add(myButton);
                    this.SC.Panel1.Controls.Add((MyNewButton)POLE[counter]);
                    //this.Controls.Add((MyNewButton)POLE[counter]);
                    counter++;
                    this.Show();
                }

            }
            SC.Visible = true;
        }
Example #2
0
        private void LightOn(MyNewButton bt)
        {
            if ((bt.Checked != true))
            {
                    bt.BackColor = Color.BlanchedAlmond;

            }
        }
Example #3
0
        private void LightOff(MyNewButton bt)
        {
            if ((bt.Checked != true)||(bt.MChecked))
            {
                if (bt.MChecked) {
                    if (bt.Checked) {
                        bt.BackColor = Color.DarkSlateBlue;
                    }
                    else
                    {
                        bt.BackColor = Color.IndianRed;
                    }
                }
                else
                {
                    bt.BackColor = Control.DefaultBackColor;
                }
            }
            //else if (bt.Checked) {
            //    bt.BackColor = Color.DarkSlateBlue;

            //}
        }
Example #4
0
        private void del_stack(MyNewButton bt)
        {
            if (bt == null)
            {
                int i = 0;
                for (i = stack.Count-1 ; i >= 0; i--) {
                    MyNewButton tmpz = (MyNewButton)stack[i];
                    tmpz.Checked = false;
                    LightOff(tmpz);
                    stack.Remove(stack[i]);
                }

            }
            else
            {
                int i = stack.Count - 1;
                while (bt.Equals(stack[i]) != true)
                {
                    --i;
                }
                if (i > 0)
                {
                    int j = stack.Count - 1;
                    while (j != i)
                    {
                        stack.Remove(stack[j]);
                    }

                }
            }
        }
Example #5
0
 private bool check(MyNewButton old_b, MyNewButton new_b)
 {
     int Last_1 = 0;
     int Last_2 = 0;
     make_dir(old_b.i, old_b.j, new_b.i, new_b.j, out Last_1, out Last_2);
     if ((Last_1 == -1) || (Last_2 == -1))
     {
         return false;
     }
     else
     {
         if ((old_b.dir2 == Last_1) || (old_b.dir2 == Last_2))
         {
             return true;
         }
         else
         {
             return false;
         }
     }
 }
Example #6
0
        private bool can_add(MyNewButton bt,out bool add)
        {
            if (stack.Count == 0)
            {
                stack.Add(bt);
                if (check_word())
                {
                    add = true;
                    return false;
                }
                else
                {

                    add = false;
                    return true;
                }
            }
            else if (stack.Count - 1 == 0)
                {
                    MyNewButton tmpz = (MyNewButton)stack[stack.Count - 1];
                    int av_i = 0;
                    int av_i1 = 0;
                    int av_j = 0;
                    int av_j1 = 0;
                    av_i = tmpz.i + 1;
                    av_i1 = tmpz.i - 1;
                    av_j = tmpz.j + 1;
                    av_j1 = tmpz.j - 1;
                    if ((((bt.i == av_i) || (bt.i == av_i1)) && ((bt.j == av_j) || (bt.j == av_j1))) || (((bt.i == tmpz.i) && ((bt.j == av_j) || (bt.j == av_j1))) || ((bt.j == tmpz.j) && ((bt.i == av_i) || (bt.i == av_i1)))))
                    {
                        int dir1 = 0;
                        int dir2 = 0;
                        make_dir(tmpz.i,tmpz.j,bt.i,bt.j,out dir1,out dir2);
                        bt.dir1 = dir1;
                        bt.dir2 = dir2;
                        tmpz.dir1 = dir1;
                        tmpz.dir2 = dir2;
                        stack.Add(bt);
                        if (check_word())
                        {
                            add = true;
                            return false;
                        }
                        else
                        {

                            add = false;
                            return true;
                        }
                    }else {
                        add = false;
                        return false;
                    }
                }
            else {
                MyNewButton tmpz = (MyNewButton)stack[stack.Count - 1];
                MyNewButton tmpy = (MyNewButton)stack[0];
                int Last_1 = 0;
                int First_1=0;
                int Last_2 = 0;
                int First_2 = 0;
                bool konec = false;
                bool na4 = false;
                make_dir(tmpz.i, tmpz.j, bt.i, bt.j, out Last_1, out Last_2);
                make_dir(tmpy.i, tmpy.j, bt.i, bt.j, out First_1, out First_2);
                konec=check(tmpz, bt);
                na4 = check(tmpy, bt);
                if (konec) {
                        bt.dir1 = tmpz.dir1;
                        bt.dir2 = tmpz.dir2;
                        stack.Add(bt);
                        if (check_word()) {
                            add = true; return false;
                        }
                        else
                        {
                            add = false;
                            return true;
                        }
                }else if (na4){
                    bt.dir1 = tmpz.dir1;
                    bt.dir2 = tmpz.dir2;
                    stack.Insert(0, bt);
                    if (check_word()) {
                        add = true; return false;
                    }
                    else
                    {
                        add = false;
                        return true;
                    }

                }
                //if (((First_1==-1)||(Last_1==-1))&&((First_2==-1)||(Last_2==-1))){
                //    return false;
                //}
                //if ((tmpz.dir1 == First_1) || (tmpz.dir1 == Last_1))
                //{
                //    bt.dir1 = tmpz.dir1;
                //    bt.dir2 = tmpz.dir2;
                //    stack.Add(bt);
                //    View_stack();
                //    return true;
                //}
                else
                {
                    add = false;
                    return false;
                }
                 }
        }