//Generate game overview protected Grid generateGameOverview(GameState gs) { Grid game = new Grid(); for (int i = 0; i < 3; i++) { ColumnDefinition gridCol1 = new ColumnDefinition(); gridCol1.Width = new GridLength(listOfGamesPanel.Width / 3); game.ColumnDefinitions.Add(gridCol1); } //create the join button Button joinButton = new Button(); joinButton.Content = "Join"; joinButton.Height = 20; joinButton.Width = 50; joinButton.Style = Application.Current.Resources["buttonTemplate"] as Style; joinButton.Tag = gs; joinButton.Click += (s, e) => { joinGame((GameState)((Button)s).Tag); }; joinButton.SetValue(Grid.ColumnProperty, 0); //gnerate the overview of the board Border mygame = CheckerBoardWindow.generateCheckerBoardUI(70, gs, false); mygame.SetValue(Grid.ColumnProperty, 1); TextBlock player = new TextBlock(); //Add the player's name who's currently in that game player.Text = string.IsNullOrEmpty(gs.player1Name) ? gs.player2Name : gs.player1Name; player.Width = 70; player.Height = 20; player.Style = Application.Current.Resources["textBlockTemplate"] as Style; player.SetValue(Grid.ColumnProperty, 2); //Add all elements to the stack panel game.Children.Add(joinButton); game.Children.Add(mygame); game.Children.Add(player); return(game); }
public CheckerBoardWindow() { InitializeComponent(); Instance = this; //Set gradiant for the checker pieces SetGradient(redGradient, System.Windows.Media.Color.FromRgb(220, 141, 124), System.Windows.Media.Color.FromRgb(177, 8, 1), System.Windows.Media.Color.FromRgb(131, 22, 2)); SetGradient(blackGradient, System.Windows.Media.Color.FromRgb(139, 141, 136), System.Windows.Media.Color.FromRgb(43, 43, 45), System.Windows.Media.Color.FromRgb(68, 67, 63)); //name for local if (gc.testLocal) { gc.GetGameState().player2Name = "testLocalPlayer"; } //Generate the game board refreshBoard(generateCheckerBoardUI(boardSize, gc.GetGameState(), false)); //Set up the backend timer to run the game client recvTimer = new System.Windows.Threading.DispatcherTimer(); recvTimer.Tick += new EventHandler(GetMove); recvTimer.Interval = TimeSpan.FromMilliseconds(166); recvTimer.Start(); }