Ejemplo n.º 1
0
        private void LeaveGame(GameCommand cmdReceived, PlayerGame playerGame, Game game)
        {
            if (playerGame == null)
            {
                new CommandFeedback(cmdReceived, enCommandStatus.Rejected, "User did not join this game").Save(this.FAppPrivate);
            }
            else
            {
                if (game == null)
                {
                    new CommandFeedback(cmdReceived, enCommandStatus.Rejected, "Could not find this game").Save(this.FAppPrivate);
                }
                else
                {

                    PlayerGame playerToRemove = game.PlayersInGame.Where(c => c.UserId == cmdReceived.UserId).FirstOrDefault();
                    if (playerToRemove == null)
                    {
                        new CommandFeedback(cmdReceived, enCommandStatus.Rejected, "Player not found in the game").Save(this.FAppPrivate);
                    }
                    else
                    {
                        game.PlayersInGame.Remove(playerToRemove);
                        game.Save(this.FAppPublic);
                        playerToRemove.Delete(this.FAppPrivate);
                        new CommandFeedback(cmdReceived, enCommandStatus.Accepted, "Left the Game").Save(this.FAppPrivate);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void btnAddGame_Click(object sender, EventArgs e)
        {

            var game = new Game()
            {
                Name = "Super Game",
                Rules = "There are no rules",
                MaxNumberOfPlayers = 2,
                AccessibleTerrainTypes = 2,
                InAccessibleTerrainTypes = 2,

            };

            game.Map.LoadMap("Maps\\Map02.csv");
            game.Map.Name = "Demo map";
            game.Map.Description = "My first demo map created in google spreadsheets";

            var gunSmallArms = new Weapon()
            {
                Class = 0,
                FiringRange = 2,
                Name = "small arms",
                RotatingSpeed = 90,
                ShieldDamage = 1,
                ArmorDamage = 2

            };

            var unitScout = new Unit()
            {
                Name = "Scout",
                Class = 0,
                Heading = enHeading.North,
                MovingSpeed = 3,
                MovingRange = 1,
                RotatingSpeed = 90,
                BuildTimeInSeconds = 10,
                MaxNumberOf = 1,
                Armor = 5,
                RadarRange = 1,
                Shields = 5,
                HasFixedGun = true,
                FixedGunArmorDamage = 1,
                FixedGunFiringRange = 1,
                FixedGunShieldDamage = 1,
                UnitTypeId = Guid.NewGuid().ToString()
            };
            //   unitScout.Weapons.Add(gunSmallArms);

            game.AvailableUnits.Add(unitScout);


            var gunTurret = new Weapon()
            {
                Class = 1,
                FiringRange = 2,
                Name = "heavy arms",
                RotatingSpeed = 45,
                ShieldDamage = 10,
                ArmorDamage = 20

            };

            var heavyUnit = new Unit()
            {
                Name = "Heavy",
                Class = 1,
                Heading = enHeading.NorthEast,
                MovingSpeed = 2,
                MovingRange = 1,
                RotatingSpeed = 45,
                BuildTimeInSeconds = 10,
                MaxNumberOf = 1,
                Armor = 100,
                RadarRange = 1,
                Shields = 200,
                HasFixedGun = true,
                FixedGunArmorDamage = 10,
                FixedGunFiringRange = 10,
                FixedGunShieldDamage = 10,
                UnitTypeId = Guid.NewGuid().ToString()
            };

            // heavyUnit.Weapons.Add(gunTurret);
            game.AvailableUnits.Add(heavyUnit);

            game.Save(this.FAppPublic);
        }
Ejemplo n.º 3
0
        private void JoinGame(GameCommand cmdReceived, Player player, PlayerGame playerGame, Game game)
        {
            if (playerGame != null)
            {
                new CommandFeedback(cmdReceived, enCommandStatus.Rejected, "User already joined game").Save(this.FAppPrivate);
            }
            else
            {
                if (game == null)
                {
                    new CommandFeedback(cmdReceived, enCommandStatus.Rejected, "Game not found").Save(this.FAppPrivate);
                }
                else
                {
                    if (game.PlayersInGame.Count >= game.MaxNumberOfPlayers)
                    {
                        new CommandFeedback(cmdReceived, enCommandStatus.Rejected, "Already too many players in the game").Save(this.FAppPrivate);
                    }
                    else
                    {
                        PlayerGame newPlayerGame = new PlayerGame(game, cmdReceived.UserId, player.NickName);

                        foreach (MapTile tile in game.Map.MapTiles)
                        {

                            MapTile playerTile = new MapTile();
                            playerTile.TerrainType = -1;// tile.TerrainType;
                            playerTile.UserId = newPlayerGame.UserId;
                            playerTile.Xpos = tile.Xpos;
                            playerTile.Ypos = tile.Ypos;

                            newPlayerGame.Map.MapTiles.Add(playerTile);

                            //set spawn, check if not occupied first
                            if (newPlayerGame.Spawn == null && tile.IsSpawningPoint)
                            {
                                if (game.PlayersInGame.Where(c => c.Spawn.Xpos == tile.Xpos && c.Spawn.Ypos == tile.Ypos).Count() == 0)
                                {
                                    //not used yet
                                    newPlayerGame.Spawn = playerTile;
                                    PlayerMapTile playerMapTile = new PlayerMapTile(game.Id, cmdReceived.UserId, playerTile);
                                    playerTile.TerrainType = 100;
                                    playerTile.IsSpawningPoint = true;
                                    playerTile.IsAccessible = true;
                                    playerMapTile.Save(this.FAppPrivate);
                                }
                            }
                        }


                        newPlayerGame.Save(this.FAppPrivate);
                        game.PlayersInGame.Add(newPlayerGame);
                        game.Save(this.FAppPublic);
                        new CommandFeedback(cmdReceived, enCommandStatus.Accepted, "Joined the game").Save(this.FAppPrivate);
                    }
                }
            }
        }