public bool Move(IntPoint from, IntPoint to) { c = new bool[9, 9]; getAFields(to.X, to.Y); if (!c[from.X, from.Y]) return false; var clr = Field[from.X, from.Y]; Destroy(from.X, from.Y); ConjureAt(to.X, to.Y, clr); if (!AdjustPoints(to.X, to.Y)) for (int i = 0; i < 3; i++) Conjure(); return true; }
void logic_Disappeared(object sender, IntPoint e) { GameField.Children.Remove(Balls[e.X, e.Y]); Field[e.X, e.Y].Visibility = Visibility.Visible; }
void logic_Appeared(object sender, IntPoint e) { var b = new Button(); b.BorderBrush = new SolidColorBrush(Color.FromArgb(255, 127, 127, 146)); b.Background = Colors[e.Data-1]; b.Style = Application.Current.Resources["RoundButton"] as Style; b.Margin = new Thickness(1); b.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Stretch; b.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Stretch; b.Tag = new Tuple<int, int>(e.X, e.Y); b.SetValue(Grid.RowProperty, e.X); b.SetValue(Grid.ColumnProperty, e.Y); b.Click += (s, u) => SelectBall((s as Button).Tag as Tuple<int, int>); GameField.Children.Add(b); Balls[e.X, e.Y] = b; Field[e.X, e.Y].Visibility = Visibility.Collapsed; if (GameOn) ApplicationData.Current.RoamingSettings.Values["savedata"] = logic.Save(); }
void logic_PointsChanged(object sender, IntPoint e) { this.pointsTitle.Text = e.Data.ToString(); }