Exemple #1
0
        public Game(string id)
        {
            this.ID = id;
            this.QRCodeImage = string.Format("http://chart.apis.google.com/chart?cht=qr&chs=300x300&chl={0}&chld=H|0",
                                 Uri.EscapeDataString(
                                     "http://buildhackathon.cloudapp.net/client.html?id=" +
                                     this.ID));
            BlueTeam = new Team() { Name = "Blue" };
            RedTeam = new Team() { Name = "Red" };

            Celebrities = new List<Player>
                {
                    new Player { Name = "DrunkHulk" },
                    new Player { Name = "DepressedDarth" },
                    new Player { Name = "ShitMyDadSays" },
                    new Player { Name = "shanselman" },
                    new Player { Name = "scottgu" },
                    new Player { Name = "codinghorror" }
                };
        }
		private void RefreshAllData()
		{
			// Allow people to join the game.
			imgQrCode.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri(GameData.Game.QRCodeImage, UriKind.Absolute));

			Team blueTeam = new Team();
			Team redTeam = new Team();

			blueTeam.Name = GameData.Game.BlueTeam.Name;
			blueTeam.Score = GameData.Game.BlueTeam.Score;
			foreach (var player in GameData.Game.BlueTeam.Players)
			{
				blueTeam.AddPlayer(player);
			}

			redTeam.Name = GameData.Game.RedTeam.Name;
			redTeam.Score = GameData.Game.RedTeam.Score;
			foreach (var player in GameData.Game.RedTeam.Players)
			{
				redTeam.AddPlayer(player);
			}

			UpdateTeams(new Team[] { blueTeam, redTeam });

			if (!string.IsNullOrWhiteSpace(GameData.Tweet))
				txtTweet.Text = GameData.Tweet;
		}
		private async void UpdateTeams(Team[] teams)
		{
			int totalNumberOfPlayers = 0;
			foreach (var team in teams)
			{
				if (team.Name.Equals("Blue", StringComparison.CurrentCultureIgnoreCase))
				{
					GameData.Game.BlueTeam.Players.Clear();
					GameData.Game.BlueTeam.Players = team.Players;
					txtBlueTeamScore.Text = team.Score.ToString();
				}
				else if (team.Name.Equals("Red", StringComparison.CurrentCultureIgnoreCase))
				{
					GameData.Game.RedTeam.Players.Clear();
					GameData.Game.RedTeam.Players = team.Players;
					txtRedTeamScore.Text = team.Score.ToString();
				}

				totalNumberOfPlayers += team.Players.Count;
			}

			// Avoid divide by zero errors.
			int goalScore = 0;
			if (totalNumberOfPlayers > 0)
				goalScore = (int)((float)(totalNumberOfPlayers / 2f) * 500);
			txtGoalScore.Text = goalScore.ToString();
            
			// If we are testing offline, enter some seed data.
			if (GameData.IsTestingOffline)
				InsertTestData();

			SendPropertyChanged("BlueTeamPlayers");
			SendPropertyChanged("RedTeamPlayers");
		}