Esempio n. 1
0
    private void MoveSnake(PlayerElement playerElement)     //передвижение змейки
    {
        var pos = new Obj();

        pos.x = GetElementByType(ElementType.Snake).SpawnedObjects[0].x + (int)playerElement.speed.x;
        pos.y = GetElementByType(ElementType.Snake).SpawnedObjects[0].y + (int)playerElement.speed.y;
        Debug.Log(playerElement.speed.x + " " + playerElement.speed.y);
        pos.SpawnedObject =
            (GameObject)
            Network.Instantiate(GetElementByType(ElementType.Snake).Prefab,
                                new Vector2(pos.x, pos.y), Quaternion.identity, 0);
        GetElementByType(ElementType.Snake).SpawnedObjects.Insert(0, pos);

        if (pos.x == MinX || pos.x == MaxX || pos.y == MinY || pos.y == MaxY)
        {
            playerElement.speed = new Vector2(0, 0);
        }
        if (NoFoodInSnake() == false)
        {
            Network.Destroy(
                GetElementByType(ElementType.Snake).SpawnedObjects[
                    GetElementByType(ElementType.Snake).SpawnedObjects.Count - 1].SpawnedObject);
            GetElementByType(ElementType.Snake)
            .SpawnedObjects.RemoveAt(GetElementByType(ElementType.Snake).SpawnedObjects.Count - 1);
        }
    }
Esempio n. 2
0
        private void GenerateGameScene()
        {
            string text = File.ReadAllText("FlappyMap.txt");

            string[] mapText = text.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < mapText.Length; i++)
            {
                for (int j = 0; j < mapText[i].Length; j++)
                {
                    GameElement element;
                    if (mapText[i][j] == 'w')
                    {
                        this.player = new PlayerElement();
                        element     = this.player;
                    }
                    else if (mapText[i][j] == '@')
                    {
                        element = new ObstacleElement();
                    }
                    else
                    {
                        element = new EmptySpaceElement();
                    }

                    element.Row    = i;
                    element.Column = j;
                    gameElements.Add(element);
                }
            }
        }
Esempio n. 3
0
 private void OnAction(PlayerElement player)
 {
     if (Vector3.Distance(player.transform.position, grail.transform.position) <= 1f)
     {
         Change <EndState>()
         .Setup(player, players);
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Generate a new random Hero with
        /// the Element.
        /// </summary>
        /// <param name="element"></param>
        /// <returns></returns>
        public static Hero GenerateHero(PlayerElement element)
        {
            Hero myHero = new Hero();
            int  Range1 =
                Convert.ToInt32(
                    myHero.MyRes.GetString(element.ToString() + RangeStringInRes + 1));
            int Range2 =
                Convert.ToInt32(
                    myHero.MyRes.GetString(element.ToString() + RangeStringInRes + 2));
            Random ran    = new Random();
            int    nowInt = ran.Next(Range1, Range2 == Range1 ? Range2 : (Range2 + 1));

            myHero.SetHeroFromBlank(nowInt.ToString());
            return(myHero); // not completed yet.
        }
Esempio n. 5
0
    private void AddPlayer()
    {
        int i = players.Count;

        PlayerElement element = Instantiate(playerPrefab, playersParent);

        element.Init(i);
        element.transform.SetSiblingIndex(i);
        players.Add(element);

        if (players.Count >= minPlayersCount)
        {
            UpdateFirst();
        }
    }
        public bool PlayContent(string path)
        {
            if (!IsVisible)
            {
                Show();
            }

            try {
                PlayerElement.Source = new System.Uri(path);
                PlayerElement.Play();
                ElementState = PlayerState.Playing;
            }
            catch (Exception e) {
                Debug.Print(e.Message);
                return(false);
            }
            return(true);
        }
Esempio n. 7
0
 public override void Start()
 {
     generator = GameObject.FindObjectOfType <GrailMapGenerator>();
     Context.Get <ColorPaletteSystem>().UpdateFog(fogDistance);
     if (players.Count == 0)
     {
         viewportRects.ForEach(r =>
         {
             PlayerElement player = Instantiate(playerPrefab);
             player.SetViewPortRect(r);
             player.action += OnAction;
             players.Add(player);
         });
     }
     players.ForEach(p =>
     {
         p.gameObject.SetActive(true);
         p.transform.SetPositionAndRotation(generator.GetRandomPosition(), Quaternion.identity);
     });
 }
Esempio n. 8
0
        public async Task <IHttpActionResult> PutPlayerElement(int id, PlayerElement playerElement)
        {
            Scoreboard scoreboard = await db.Scoreboards.FirstOrDefaultAsync(i => i.ScoreboardID == id);

            scoreboard.PlayerElements.Add(playerElement);
            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ScoreboardExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Esempio n. 9
0
 /// <summary>
 /// Use it Just once, and in the Element Selection with the Tohsaka's
 /// Dialog.
 /// </summary>
 /// <param name="playerElement"></param>
 public void SetPlayerElement(PlayerElement playerElement)
 {
     ThePlayerElement = playerElement;
 }
Esempio n. 10
0
 void NetworkRoomUpdate(string pData)
 {
     var lPlayerList = (Hashtable[])zzSerializeString.Singleton.unpackToData(pData);
     var lPlayerSpaceCount = gamePlayers.playerSpaceCount;
     for (int i = 0; i < lPlayerSpaceCount; ++i)
     {
         var lPlayerID = i + 1;
         var lLastInfo = gamePlayers.getPlayerInfo(lPlayerID);
         var lPlayerData = lPlayerList[i];
         if (lPlayerData.Count == 0)
         {
             if (lLastInfo)
             {
                 playerLeaveMessage(lPlayerID, lLastInfo);
                 gamePlayers.setPlayerInfo(lPlayerID, null);
             }
             continue;
         }
         var lPlayerInfo = new PlayerElement
         {
             playerName = (string)lPlayerData["n"],
             race = (Race)lPlayerData["r"],
             spawnIndex = 0,
         };
         if (lPlayerInfo.race != Race.eNone)
         {
             lPlayerInfo.spawnIndex = (int)lPlayerData["si"];
             lPlayerInfo.ready = (bool)lPlayerData["rd"];
         }
         if (haveReceiverRoomData)
             playerChanged(lPlayerID, lLastInfo, lPlayerInfo);
         gamePlayers.setPlayerInfo(lPlayerID, lPlayerInfo);
     }
     haveReceiverRoomData = true;
     //var lPlayersInfo =_playersInfo[playerIdToIndex(playerID)];
     //if (!lPlayersInfo)
     //    return;
     //player.race = lPlayersInfo.race;
     //player.playerName = lPlayersInfo.playerName;
     if (gamePlayers.selfPlayeInfo.ready)
         playerReadyEvent();
     else
         playerReadyInterruptedEvent();
     roomDataChangedReceiver();
 }
Esempio n. 11
0
        private void GenerateGameScene()
        {
            string text = File.ReadAllText("FlappyMap.txt");
            string[] mapText = text.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < mapText.Length; i++)
            {
                for (int j = 0; j < mapText[i].Length; j++)
                {
                    GameElement element;
                    if (mapText[i][j] == 'w')
                    {
                        this.player = new PlayerElement();
                        element = this.player;
                    }
                    else if (mapText[i][j] == '@')
                    {
                        element = new ObstacleElement();
                    }
                    else
                    {
                        element = new EmptySpaceElement();
                    }

                    element.Row = i;
                    element.Column = j;
                    gameElements.Add(element);
                }
            }
        }
Esempio n. 12
0
 void playerChanged(int lPlayerID, PlayerElement pLastInfo, PlayerElement pNewInfo)
 {
     if (!pLastInfo && pNewInfo)
         playerEnterMessage(lPlayerID, pNewInfo);
     else if (pLastInfo && !pNewInfo)
         playerLeaveMessage(lPlayerID, pNewInfo);
     else
     {
         if (pLastInfo.race != pNewInfo.race
             || pLastInfo.spawnIndex != pNewInfo.spawnIndex)
             selectChangedMessage(lPlayerID, pNewInfo);
         else if (pLastInfo.playerName != pNewInfo.playerName)
             renamePlayerMessage(lPlayerID, pLastInfo.playerName, pNewInfo.playerName);
         if (!pLastInfo.ready && pNewInfo.ready)
             playerReadyMessage(lPlayerID, pNewInfo);
         else if (pLastInfo.ready && !pNewInfo.ready)
             playerUnreadyMessage(lPlayerID, pNewInfo);
     }
 }
Esempio n. 13
0
 void playerEnterMessage(int pPlayerID, PlayerElement pPlayerElement)
 {
     messageSender(pPlayerID + "." + pPlayerElement.playerName
     + " 进入房间");
 }
Esempio n. 14
0
 public void Setup(PlayerElement winner, List <PlayerElement> players)
 {
     // focus on winner, etc.
     this.players = players;
 }
Esempio n. 15
0
 PlayerSpawn getSpawn(PlayerElement pPlayerElement)
 {
     return getSpawn(getSpawns(pPlayerElement.race), pPlayerElement.spawnIndex);
 }
Esempio n. 16
0
 void playerLeaveMessage(int pPlayerID, PlayerElement pPlayerElement)
 {
     messageSender(pPlayerID + "." + pPlayerElement.playerName
     + " 离开房间");
 }
Esempio n. 17
0
        public static void Initialize(ScoreBoardContext context)
        {
            //context.Database.EnsureCreated();

            // Look for any players.
            if (context.Scoreboards.Any())
            {
                return;   // DB has been seeded
            }
            Style[] styles =
            {
                new Style
                {
                    DivID     = "Player1",
                    Display   = "block",
                    Position  = "absolute",
                    Color     = "red",
                    Left      = "2%",
                    Top       = "66%",
                    Width     = "20%",
                    FontSize  = "36px",
                    TextAlign = "left"
                },
                new Style
                {
                    DivID     = "Player2",
                    Display   = "block",
                    Position  = "absolute",
                    Color     = "red",
                    Left      = "78%",
                    Top       = "66%",
                    Width     = "20%",
                    FontSize  = "36px",
                    TextAlign = "right"
                },
                new Style
                {
                    DivID     = "Round",
                    Display   = "block",
                    Position  = "absolute",
                    Color     = "blue",
                    Left      = "5%",
                    Top       = "5%",
                    Width     = "20%",
                    FontSize  = "30px",
                    TextAlign = "center"
                },
                new Style
                {
                    DivID     = "Score1",
                    Display   = "block",
                    Position  = "absolute",
                    Color     = "blue",
                    Left      = "27%",
                    Top       = "66%",
                    Width     = "4%",
                    FontSize  = "30px",
                    TextAlign = "center"
                },
                new Style
                {
                    DivID     = "Score2",
                    Display   = "block",
                    Position  = "absolute",
                    Color     = "blue",
                    Left      = "74%",
                    Top       = "66%",
                    Width     = "4%",
                    FontSize  = "30px",
                    TextAlign = "center"
                }
            };
            View[] views =
            {
                new View
                {
                    Name   = "In Game",
                    Style  = styles,
                    Width  = 1280,
                    Height = 720
                }
            };

            Player sif = new Player {
                Name = "Sif"
            };

            context.Players.Add(sif);
            Player n8the = new Player {
                Name = "n8thegr8"
            };

            context.Players.Add(n8the);
            context.SaveChanges();

            var playerElements = new PlayerElement[]
            {
                new PlayerElement(sif)
                {
                    Character = "Samus", Label = "Player1"
                },
                new PlayerElement(n8the)
                {
                    Character = "Fox", Label = "Player2"
                }
            };



            TextElement[] textElements =
            {
                new TextElement {
                    Label = "Round", Value = "Winners Round 1 BO3"
                },
                new TextElement {
                    Label = "Score1", Value = "1"
                },
                new TextElement {
                    Label = "Score2", Value = "2"
                }
            };

            Scoreboard scoreboard = new Scoreboard
            {
                Name           = "Test Table",
                OwnerID        = "*****@*****.**",
                TextElements   = textElements,
                Views          = views,
                PlayerElements = playerElements
            };

            context.Scoreboards.Add(scoreboard);
            context.SaveChanges();
        }
Esempio n. 18
0
 void selectChangedMessage(int pPlayerID,PlayerElement pPlayerElement)
 {
     string lRaceName = string.Empty;
     if (pPlayerElement.race == Race.ePismire)
         lRaceName = "蚂蚁 ";
     else if (pPlayerElement.race == Race.eBee)
         lRaceName = "蜜蜂 ";
     messageSender(pPlayerID + "." + pPlayerElement.playerName
         + "选择" + lRaceName + (pPlayerElement.spawnIndex+1));
 }
Esempio n. 19
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="pPlayerName"></param>
 /// <param name="pPlayer"></param>
 /// <returns>player ID,玩家已满时,返回-1</returns>
 int registerPlayer(string pPlayerName, NetworkPlayer pPlayer)
 {
     int lPlayerID = 1;
     while (gamePlayers.getPlayerInfo(lPlayerID)
         && lPlayerID <= gamePlayers.playerSpaceCount)
         ++lPlayerID;
     if (lPlayerID > gamePlayers.playerSpaceCount)
         return -1;
     //int lPlayerID = indexToPlayerId(i);
     playerToID[pPlayer] = lPlayerID;
     //guidToPlayer[pGUID] = pPlayer;
     var lPlayersInfo= new PlayerElement
     {
         playerName = pPlayerName,
         race = Race.eNone,
         networkPlayer = pPlayer,
         spawnIndex = 0,
     };
     gamePlayers.setPlayerInfo(lPlayerID, lPlayersInfo);
     //中断事件,比如游戏倒计时
     netGameInterruptedEvent();
     //playerEnterMessage(lPlayerID, lPlayersInfo);
     return lPlayerID;
 }
Esempio n. 20
0
 void playerUnreadyMessage(int pPlayerID, PlayerElement pPlayerElement)
 {
     messageSender(pPlayerID + "." + pPlayerElement.playerName
     + " 离开准备状态");
 }
Esempio n. 21
0
 void playerReadyMessage(int pPlayerID, PlayerElement pPlayerElement)
 {
     messageSender(pPlayerID + "." + pPlayerElement.playerName
     + " 准备就绪");
 }