コード例 #1
0
        public async Task PetMaster(string commandName = "", [Remainder] string args = null)
        {
            var command = typeof(MoreGamesModule).GetMethods()
                          .FirstOrDefault(x => x.GetCustomAttribute <PetCommandAttribute>()?.Names.Contains(commandName.ToLower()) ?? false);

            if (command == null)
            {
                await ReplyAsync($"Unknown pet command! Do `{Prefix}pet help` for help");
            }
            else
            {
                var pet = Games.GetForUser <PetGame>(Context.User.Id);
                if (pet == null)
                {
                    if (commandName == "")
                    {
                        pet = new PetGame("", Context.User.Id, Services);
                        Games.Add(pet);
                    }
                    else
                    {
                        await ReplyAsync($"You don't have a pet yet! Simply do `{Prefix}pet` to adopt one.");

                        return;
                    }
                }

                await(Task) command.Invoke(this, new object[] { pet, args });
            }
        }
コード例 #2
0
        //New game
        GameData CreateGameData()
        {
            var gd = Games.Find(g => g.gameId == "new");

            if (gd != null)
            {
                return(gd);
            }
            else
            {
                gd              = new GameData();
                gd.gameId       = "new";
                gd.GameType     = GameTypeEnum.MultyNew;
                gd.player1_Id   = _playerManager.PlayerId;
                gd.player1_name = _playerManager.PlayerDisplayName;

                if (_playerManager.selectedCar == null)
                {
                    if (_playerManager.playerCars[0] == null)
                    {
                        throw new Exception();
                    }

                    _playerManager.selectedCar = _playerManager.playerCars[0];
                }

                gd.player1_car = _playerManager.selectedCar;
                Games.Add(gd);

                return(gd);
            }
        }
コード例 #3
0
        public void SeedTestData()
        {
            Games.Add(new Game
            {
                Name    = "First Game",
                Players = new List <Player>
                {
                    new Player
                    {
                        IsWinner = true,
                        Name     = "Matthias"
                    },
                    new Player
                    {
                        IsWinner = false,
                        Name     = "Lukas"
                    }
                }
            });

            Games.Add(new Game {
                Name = "Second Game"
            });
            Games.Add(new Game {
                Name = "Third Game"
            });
            Games.Add(new Game {
                Name = "Fourth Game"
            });

            SaveChanges();
        }
コード例 #4
0
 /// <summary>
 /// Method for adding a game to the shopping cart list
 /// </summary>
 /// <param name="games">A game</param>
 public void AddGame(ObservableCollection <Game> games)
 {
     foreach (Game game in games)
     {
         Games.Add(game);
     }
 }
コード例 #5
0
 public GameData AddGame(string gameId, DateTime lastUpdate, int timeoutSec, string rowPW, long clientReqId, string addr, Dictionary <string, string> customValues)
 {
     lock (Locker)
     {
         GameData game = new GameData()
         {
             gameId      = gameId,
             lastUpdate  = lastUpdate,
             timeoutSec  = timeoutSec,
             rowPW       = rowPW,
             clientReqId = clientReqId,
             addr        = addr
         };
         Games.Add(game);
         //SaveChanges();
         //Entry(game).GetDatabaseValues();
         game.GameAttributes = customValues.ToList().Select(dr => new CustomGameDataField()
         {
             Key           = dr.Key,
             Value         = dr.Value,
             GameData      = game,
             GameDataRowId = game.rowId
         }).ToList();
         GameAttributes.AddRange(game.GameAttributes);
         SaveChanges();
         return(game);
     }
 }
コード例 #6
0
        public void ProcessExecutable(string filePath)
        {
            var fi = new FileInfo(filePath);

            if (!fi.Exists)
            {
                return;
            }
            // Check if item already exists.
            var game = Games.FirstOrDefault(x => x.FileName.ToLower() == fi.Name.ToLower());

            if (game == null)
            {
                game = x360ce.Engine.Data.Game.FromDisk(fi.FullName);
                // Load default settings.
                var program = Programs.FirstOrDefault(x => x.FileName.ToLower() == game.FileName.ToLower());
                game.LoadDefault(program);
                Games.Add(game);
            }
            else
            {
                game.FullPath = fi.FullName;
            }
            Save();
        }
コード例 #7
0
ファイル: Set.cs プロジェクト: KokiOishi/Volley
        /// <summary>
        /// Called when the <see cref="CurrentGame"/> is over.
        /// </summary>
        public void CurrentGameFinished()
        {
            Game <TTeam> endingGame = CurrentGame;

            Games.Add(endingGame);
            if (endingGame.WinnerTeam == TeamA)
            {
                GameCounter.IncrementA();
            }
            else if (endingGame.WinnerTeam == TeamB)
            {
                GameCounter.IncrementB();
            }
            (GameCountA, GameCountB) = (GameCounter.GameCountA, GameCounter.GameCountB);
            //ServiceRight.OnGameOver();
            if (GameCounter.IsSetOver)
            {
                _ = OnCurrentGameFinished(endingGame);
                if (GameCountA == GameCountB)
                {
                    throw new InvalidProgramException("Cannot win the set while in tie!");
                }
                Winner = GameCountA < 0 ? TeamA : TeamB;
                OnSetOver();
                Match.CurrentSetFinished();
            }
            else
            {
                CurrentGame = OnCurrentGameFinished(endingGame);
            }
        }
コード例 #8
0
ファイル: GamesTests.cs プロジェクト: sonederbr/EloRate
        public void Can_add_a_game_to_the_list()
        {
            Games.Initialise(new List <String>());

            Games.Add(new Game {
                Winner = "A", Loser = "B"
            });
            Games.Add(new Game {
                Winner = "A", Loser = "C"
            });
            Games.Add(new Game {
                Winner = "B", Loser = "C"
            });

            var expected = new List <Game>
            {
                new Game {
                    Winner = "A", Loser = "B"
                },
                new Game {
                    Winner = "A", Loser = "C"
                },
                new Game {
                    Winner = "B", Loser = "C"
                },
            };

            Assert.AreEqual(expected, Games.All());
        }
コード例 #9
0
        public void QueryGameList(string gameName, Action callback)
        {
            lock ( lockSearch )
            {
                Games.Clear();

                webClient.ContentType = ContentType.UrlEncodedUTF8;
                webClient.Headers["X-Requested-With"] = "XMLHttpRequest";

                this.With(x => GoodgameGet(String.Format("http://goodgame.ru/ajax/games/all/?q={0}&limit=10", HttpUtility.UrlEncode(gameName))))
                .With(x => String.IsNullOrWhiteSpace(x) ? null : x)
                .With(x => JArray.Parse(x))
                .With(x => x.Select(game => new Game()
                {
                    Id = game[2].ToString(), Name = game[0].ToString()
                }))
                .ToList()
                .ForEach(g => Games.Add(g));

                if (callback != null)
                {
                    UI.Dispatch(() => callback());
                }
            }
        }
コード例 #10
0
        private async Task OnGetDataCommand()
        {
            _logger.Info("Getting supported games");

            if (Games == null)
            {
                Games = new ObservableCollection <GameModule>();
            }

            var supportedGames = _gameModuleCatalog.GameModules;

            foreach (var game in supportedGames)
            {
                if (Games.Any(x => x.Module == game.Module))
                {
                    continue;
                }

                game.InstalledLocation = await GameLocator.Find(game.Title);

                game.PropertyChanged += Game_PropertyChanged;
                Games.Add(game);
            }

            RaisePropertyChanged(nameof(Games));
            ContinueCommand.RaiseCanExecuteChanged();
        }
コード例 #11
0
        public Game GetNewGame(LogonRequest request)
        {
            var game = new Game(request.MapGeneration);

            Games.Add(game.Id, game);
            return(game);
        }
コード例 #12
0
        //New game for FB

        GameData CreateGameDataForFB(string player2_id, string player2_name)
        {
            var gd = new GameData();

            gd.gameId       = "new";
            gd.GameType     = GameTypeEnum.MultyNewFB;
            gd.player1_Id   = _playerManager.PlayerId;
            gd.player1_name = _playerManager.PlayerDisplayName;

            gd.player2_id   = player2_id;
            gd.player2_name = player2_name;

            if (_playerManager.selectedCar == null)
            {
                if (_playerManager.playerCars[0] == null)
                {
                    throw new Exception();
                }

                _playerManager.selectedCar = _playerManager.playerCars[0];
            }

            gd.player1_car = _playerManager.selectedCar;
            Games.Add(gd);

            return(gd);
        }
コード例 #13
0
ファイル: ServerStatus.cs プロジェクト: Pecomare/TimesUp
        public Game CreateGame(string name)
        {
            Game game = new(name);

            Games.Add(game);
            return(game);
        }
コード例 #14
0
ファイル: PlayerTrainTests.cs プロジェクト: Niklasef/mtrain
        public void ToString_ThreeTilesAddes_AlignedTiles()
        {
            var engine = new DominoTileEntity(12, 12, true);
            var game   = new GameEntity(
                Guid.NewGuid(),
                Enumerable.Empty <PlayerEntity>(),
                MexicanTrain.Create(),
                engine,
                new Stack <DominoTileEntity>());

            Games.Add(game.Id, game);

            var playerId = Guid.NewGuid();
            var sut      = new PlayerTrain(engine, playerId);
            var tileOne  = new DominoTileEntity(11, 12);
            var tileTwo  = new DominoTileEntity(10, 11);

            sut.Open();
            sut.AddTile(tileOne, playerId);
            sut.AddTile(tileTwo, playerId);

            var result = sut.ToString();

            Assert.Equal("[12|12], [12|11], [11|10]", result);
        }
コード例 #15
0
        public void PopulateDropdown()
        {
            Games.Clear();
            var context = DataEntitiesProvider.Provide();

            Categories.Clear();
            Categories.Add(new GameCategoryVm()
            {
                Id = 0, Name = "(No category)"
            });
            foreach (var c in context.GameCategories.Select(x => new GameCategoryVm {
                Id = x.Id, Name = x.NAME
            }))
            {
                Categories.Add(c);
            }

            Games.Add(new GameVm {
                Text = "New Game", Value = 0
            });
            foreach (var game in context.Games.OrderBy(x => x.Code))
            {
                Games.Add(new GameVm {
                    Text = game.Code + " : " + game.Mind_Sport, Value = game.Id
                });
            }
        }
コード例 #16
0
ファイル: PlayerTrainTests.cs プロジェクト: Niklasef/mtrain
        public void AddTileNonMatchingTile_WhenOpen_ExceptionThrown()
        {
            var engine = new DominoTileEntity(12, 12, true);
            var game   = new GameEntity(
                Guid.NewGuid(),
                Enumerable.Empty <PlayerEntity>(),
                MexicanTrain.Create(),
                engine,
                new Stack <DominoTileEntity>());

            Games.Add(game.Id, game);

            var playerId  = Guid.NewGuid();
            var sut       = new PlayerTrain(engine, playerId);
            var tileOne   = new DominoTileEntity(12, 11);
            var tileTwo   = new DominoTileEntity(11, 10);
            var tileThree = new DominoTileEntity(11, 3);

            sut.AddTile(tileOne, playerId);
            sut.Open();
            sut.AddTile(tileTwo, playerId);
            Action addTile = () => sut.AddTile(tileThree, playerId);

            Assert.ThrowsAny <Exception>(addTile);
        }
コード例 #17
0
        public void JoinRandom(Object sender, EventArgs e)
        {
            if (Games.Count >= 10)
            {
                MessageBox.Show("You are not allowed to play in more than ten games simultaneously. Please finish some games before starting new ones.");
            }

            SystemTray.ProgressIndicator.IsVisible = true;
            Context.JoinGame(Player.Name, game =>
                             Dispatcher.BeginInvoke(() =>
            {
                var settings = IsolatedStorageSettings.ApplicationSettings;
                var gameVm   = new GameVM(game);
                Games.Add(gameVm);

                settings["games"] = Games.ToArray();
                SystemTray.ProgressIndicator.IsVisible = false;
                OpenGame(gameVm);
            })
                             , () =>
                             Dispatcher.BeginInvoke(() =>
            {
                SystemTray.ProgressIndicator.IsVisible = false;
                MessageBox.Show("Failed to join a challenge. Please try again.");
            })
                             );
        }
コード例 #18
0
        public Game GetNewGame()
        {
            var game = new Game();

            Games.Add(game.Id, game);
            return(game);
        }
コード例 #19
0
        /// <summary>
        /// 47 00
        /// </summary>
        /// <param name="game"></param>
        public void Create(Game game)
        {
            #region Gera ROOM_NUMBER
            ushort room_number = 2;
            while (Games.Any(g => g.GameId == room_number))
            {
                room_number += 1;
            }

            //Obtém um Room_Number ainda não utilizado
            game.GameId = room_number;

            //Atualiza room_number do player
            //game.Players.GetAll().First().GameID = room_number;

            #endregion

            //Adiciona GAME
            Games.Add(game);

            _lobby.Players.ToList().ForEach(player =>
            {
                player.SendResponse(GameAction(game, GameActionEnum.CREATE));
            });
        }
コード例 #20
0
        public void AddGame(CreateGameModel game)
        {
            var newlyCreatedGame = NewGameConvertedFromCreateGameModelToDbGame(game);

            Games.Add(newlyCreatedGame);
            SaveChanges();
        }
コード例 #21
0
ファイル: Player.cs プロジェクト: ltdansby86/DansbyRepos
 public void addGame(Game newGame)
 {
     if (!Games.Contains(newGame))
     {
         Games.Add(newGame);
     }
 }
コード例 #22
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id != null)
            {
                Match = await GetMatch(id);

                ResultsVM = new ResultsVM()
                {
                    MatchId = Match.MatchId
                };

                this.Games = new List <Game>();

                //Create 5 new games for result entry
                for (int i = 0; i < 5; i++)
                {
                    var game = new Game();
                    game.GameNo = i + 1;
                    Games.Add(game);
                }


                if (Match.Played == true)
                {
                    return(RedirectToPage("./Index"));
                }
            }
            else
            {
                return(RedirectToPage("./Index"));
            }

            return(Page());
        }
コード例 #23
0
        /// <summary>
        /// https://stackoverflow.com/questions/1293058/round-robin-tournamentTable-algorithm-in-c-sharp
        /// </summary>
        public void GenerateRounds()
        {
            int numDays  = (Teams.Count - 1);
            int halfSize = Teams.Count / 2;

            List <Team> teams = new List <Team>();

            teams.AddRange(Teams.Skip(halfSize).Take(halfSize));
            teams.AddRange(Teams.Skip(1).Take(halfSize - 1).ToArray().Reverse());

            int teamsSize = teams.Count;

            for (int day = 0; day < numDays; day++)
            {
                int teamIdx = day % teamsSize;
                int round   = day;
                round++;
                var Game = new Game(teams[teamIdx], Teams[0], round, Name);
                Games.Add(Game); for (int idx = 1; idx < halfSize; idx++)
                {
                    int  firstTeam  = (day + idx) % teamsSize;
                    int  secondTeam = (day + teamsSize - idx) % teamsSize;
                    Game game       = new Game(teams[firstTeam], teams[secondTeam], round, Name);

                    Games.Add(game);

                    //Console.WriteLine("{0} vs {1}", teams[firstTeam], teams[secondTeam]);
                }
            }
        }
コード例 #24
0
        public override void OnPanelVisible()
        {
            //This has to be done here as mainwindow will not be available until this is called
            Mod.MEGame[] gameEnum = new[] { Mod.MEGame.ME1, Mod.MEGame.ME2, Mod.MEGame.ME3 };
            int          index    = 0;

            foreach (var game in gameEnum)
            {
                var     targets = mainwindow.InstallationTargets.Where(x => x.Game == game).ToList();
                ASIGame asiGame = null;
                if (targets.Count > 0)
                {
                    asiGame = new ASIGame(game, targets);
                    Games.Add(asiGame);

                    if (preselectedTarget != null && preselectedTarget.Game == game)
                    {
                        asiGame.SelectedTarget = preselectedTarget;
                        SelectedTabIndex       = index;
                    }
                }

                index++;
            }
            //Technically this could load earlier, but it's not really worth the effort for the miniscule time saved
            LoadManifest(true, Games.ToList(), UpdateSelectionTexts);
            UpdateSelectionTexts(null);
        }
コード例 #25
0
ファイル: PlayerTrainTests.cs プロジェクト: Niklasef/mtrain
        public void GetTiles_ThreeTilesInTrain_CorrectTilesReceived()
        {
            var engine = new DominoTileEntity(12, 12, true);
            var game   = new GameEntity(
                Guid.NewGuid(),
                Enumerable.Empty <PlayerEntity>(),
                MexicanTrain.Create(),
                engine,
                new Stack <DominoTileEntity>());

            Games.Add(game.Id, game);

            var playerId = Guid.NewGuid();
            var sut      = new PlayerTrain(engine, playerId);
            var tileOne  = new DominoTileEntity(12, 11);
            var tileTwo  = new DominoTileEntity(11, 10);

            sut.Open();
            sut.AddTile(tileOne, playerId);
            sut.AddTile(tileTwo, playerId);

            var result = sut.GetTiles();

            Assert.Equal(tileTwo, result.First());
            Assert.Equal(tileOne, result.Skip(1).First());
            Assert.Equal(engine, result.Skip(2).First());
        }
コード例 #26
0
        public IGame CreateGame(string name)
        {
            IGame game = new Game(name);

            Games.Add(game);
            return(game);
        }
コード例 #27
0
 public bool Start()
 {
     if (Game != null && !Game.IsEnded)
     {
         return(false);
     }
     lock (_lock) {
         var isInitialGame = false;
         InstanceGameName = GameName;
         if (Status != TableStatus.Started)
         {
             var initialGameType = GameInfo.Registry.FirstOrDefault(gi => gi.Name == GameName)?.InitialGameType;
             if (initialGameType != null)
             {
                 InstanceGameName = GameInfo.Registry.First(gi => gi.GameType == initialGameType).Name;
                 isInitialGame    = true;
             }
         }
         if (Status == TableStatus.Ended)
         {
             ActivePlayer = null;
             Winners      = new List <Player>();
             Bag          = new Dictionary <string, object>();
         }
         Status             = TableStatus.Started;
         Game               = GameInfo.CreateGame(InstanceGameName, this);
         Game.IsInitialGame = isInitialGame;
         Games.Add(Game);
         _token++;
         return(true);
     }
 }
コード例 #28
0
ファイル: PlayerTrainTests.cs プロジェクト: Niklasef/mtrain
        public void AddTile_ThreeTiles_FourTilesIncludingEngineExists()
        {
            var engine = new DominoTileEntity(12, 12, true);
            var game   = new GameEntity(
                Guid.NewGuid(),
                Enumerable.Empty <PlayerEntity>(),
                MexicanTrain.Create(),
                engine,
                new Stack <DominoTileEntity>());

            Games.Add(game.Id, game);

            var playerId  = Guid.NewGuid();
            var sut       = new PlayerTrain(engine, playerId);
            var tileOne   = new DominoTileEntity(12, 11);
            var tileTwo   = new DominoTileEntity(11, 10);
            var tileThree = new DominoTileEntity(10, 9);

            sut.Open();
            sut.AddTile(tileOne, playerId);
            sut.AddTile(tileTwo, playerId);
            sut.AddTile(tileThree, playerId);

            Assert.Equal(tileThree, sut.GetTiles().First());
            Assert.True(sut.GetTiles().First().IsLinked(tileTwo));
            Assert.True(sut.GetTiles().Skip(1).First().IsLinked(tileOne));
            Assert.True(sut.GetTiles().Skip(2).First().IsLinked(engine));
            Assert.Equal(4, sut.GetTiles().Count());
        }
コード例 #29
0
 public MainViewModel()
 {
     Games.Add(new GameModel()
     {
         Title       = "CSGO",
         Description = "Tactical shooter with russians.",
         Developer   = "Valve",
         Path        = @"steam://rungameid/730",
         Rating      = 2,
         Genre       = "FPS",
         Arguments   = "-console -novid -high"
     });
     Games.Add(new GameModel()
     {
         Title       = "League of Legends",
         Description = "Startegic moba for kids.",
         Developer   = "RIOT Games",
         Path        = @"",
         Rating      = 3,
         Genre       = "MOBA"
     });
     Games.Add(new GameModel()
     {
         Title       = "Assassins Creed Odyssey",
         Description = "Greek parkour.",
         Developer   = "Ubisoft",
         Path        = @"D:\Games\Assassins Creed Odyssey\ACOdyssey.exe",
         Rating      = 4,
         Genre       = "RPG"
     });
 }
コード例 #30
0
 public void AddGamesToDay(List <Game> games)
 {
     games.ForEach(g =>
     {
         g.Day = Day;
         Games.Add(g);
     });
 }
コード例 #31
0
ファイル: Gamelist.cs プロジェクト: primaryobjects/IV-Play
        /// <summary>
        /// Loads our favorites from favorites.ini
        /// </summary>
        /// <returns>How many favorites have been added already to our internal list.</returns>
        private int LoadFavorites()
        {
            _gamesFavorites = new Games();
            _countFavorites = 0;
            if (File.Exists(Settings.Default.favorites_ini))
            {
                string[] favs = File.ReadAllLines(Settings.Default.favorites_ini);
                foreach (string s in favs) //Some of the lines are not favorites, just ignores them.
                {
                    try
                    {
                        Game game = XmlParser.Games.FindGame(s);
                        if (game != null)
                        {
                            Game g = game.Copy();
                            g.Name = "fav_" + g.Name;
                            g.IsFavorite = true;
                            _gamesFavorites.Add(g.Name, g);
                        }
                    }
                    catch (Exception)
                    {
                        //Not a game, do nothing.
                    }
                }

                //Sorts out the list by description alphabetically and filters it according to what the user set.
                var sortedDict = (from entry in _gamesFavorites
                                  where
                                      entry.Value.Name.Contains(_filter, StringComparison.InvariantCultureIgnoreCase) ||
                                      entry.Value.Manufacturer.Contains(_filter,
                                                                        StringComparison.InvariantCultureIgnoreCase) ||
                                      entry.Value.Year.Contains(_filter,
                                                                StringComparison.InvariantCultureIgnoreCase) ||
                                      entry.Value.SourceFile.Contains(_filter,
                                                                      StringComparison.InvariantCultureIgnoreCase) ||
                                      entry.Value.Description.Contains(_filter,
                                                                       StringComparison.InvariantCultureIgnoreCase)
                                  orderby entry.Value.Description.ToLower() ascending
                                  select entry);

                //Add the filtered favorites to our game list.
                Game prevGame = null;
                int i = 0;
                foreach (var fGame in sortedDict)
                {
                    fGame.Value.Index = i++;
                    Games.Add(fGame.Key, fGame.Value);
                    _countFavorites++;
                    if (prevGame != null)
                    {
                        prevGame.NextGame = fGame.Value;
                    }
                    fGame.Value.PreviousGame = prevGame;
                    prevGame = fGame.Value;
                }
                return i;
            }
            return 0;
        }
コード例 #32
0
ファイル: DataReader.cs プロジェクト: pudds/SportsStreamsBot
        public Games GetGames(DateTime scheduleDate)
        {
            var url = string.Format(scheduleUrlFormat, scheduleDate.Year, scheduleDate.Month, scheduleDate.Day);

            var games = new Games();

            var contents = GetContents(url);

            if (string.IsNullOrEmpty(contents))
            {
                Debug.WriteLine("No data found for " + url); // not necessarily an error, could be no games
                return games;
            }

            dynamic schedule = JsonConvert.DeserializeObject(contents);

            foreach (dynamic game in schedule.games)
            {
                var gameId = game.gameId;
                var startTimeEastern = DateTime.Parse(game.startTime.ToString());
                // will either have a preview or a recap
                var summary = game.gamePreview != null ? game.gamePreview : game.gameRecap;

                var home = new Team
                {
                    Abbreviation = game.h.ab,
                    Record = game.h.record,
                };

                var away = new Team
                {
                    Abbreviation = game.a.ab,
                    Record = game.a.record,
                };

                // fix the game time
                var startTimeLocal = startTimeEastern.AddHours(offsetFromEasternTime);

                games.Add(new Game { Away = away, Home = home, GameID = gameId, UtcStart = startTimeLocal.ToUniversalTime(), Summary = summary });
            }

            return games;
        }