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; }
private void LightOn(MyNewButton bt) { if ((bt.Checked != true)) { bt.BackColor = Color.BlanchedAlmond; } }
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; //} }
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]); } } } }
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; } } }
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; } } }