示例#1
0
        public PartOfSnake AddParts(int x, int y)
        {
            PartOfSnake part = new PartOfSnake(x, y);

            partsSnakeList.Add(part);
            return(part);
        }
示例#2
0
        void CreateSnake()
        {
            mySnake = new Snake();
            gridGame.Children.Add(mySnake.headSnake.Rectangle);

            PartOfSnake part = mySnake.AddParts(31, 30);

            gridGame.Children.Add(part.Rectangle);
            mySnake.DrawSnake();
        }
示例#3
0
        void GoodCollision()
        {
            if (mySnake.HeadSnake.x == normfood.x && mySnake.HeadSnake.y == normfood.y)
            {
                ++score;
                textBlockScore.Text = score.ToString();

                Random rnd = new Random();
                StarVisible = rnd.Next(0, 3);
                if (StarVisible == 1)
                {
                    Point point = NewLocation();
                    premfood.x = point.x;
                    premfood.y = point.y;
                    gridGame.Children.Add(premfood.Rectangle);
                    premfood.Draw();
                }
                else
                {
                    gridGame.Children.Remove(premfood.Rectangle);
                }

                PartOfSnake part = mySnake.AddParts(mySnake.partsSnake.Last().x, mySnake.partsSnake.Last().y);
                gridGame.Children.Add(part.Rectangle);
                mySnake.DrawSnake();

                //gridGame.Children.Remove(normfood.Rectangle);


                amountNormFood = rnd.Next(0, 3);


                Point pt = NewLocation();
                normfood.x = pt.x;
                normfood.y = pt.y;
                normfood.Draw();

                pt         = NewLocation();
                deadfood.x = pt.x;
                deadfood.y = pt.y;
                deadfood.Draw();
            }

            if (mySnake.HeadSnake.x == premfood.x && mySnake.HeadSnake.y == premfood.y)
            {
                score += 10;
                textBlockScore.Text = score.ToString();
                PartOfSnake part = mySnake.AddParts(mySnake.partsSnake.Last().x, mySnake.partsSnake.Last().y);
                gridGame.Children.Add(part.Rectangle);
                mySnake.DrawSnake();
                gridGame.Children.Remove(premfood.Rectangle);
            }
        }
示例#4
0
        public void updateList(int xDirection, int yDirection)
        {
            PartOfSnake prev = new PartOfSnake(headSnake.x, headSnake.y);

            for (int i = 0; i < partsSnakeList.Count; i++)
            {
                PartOfSnake tmp = new PartOfSnake(partsSnakeList[i].x, partsSnakeList[i].y);
                partsSnakeList[i].x = prev.x;
                partsSnakeList[i].y = prev.y;
                prev.x = tmp.x;
                prev.y = tmp.y;
            }

            headSnake.x += xDirection;
            headSnake.y += yDirection;
        }
示例#5
0
 public Snake()
 {
     headSnake = new PartOfSnake(30, 30);
     headSnake.Rectangle.Width = headSnake.Rectangle.Height = 12;
     headSnake.Rectangle.Fill  = System.Windows.Media.Brushes.Beige;
 }
示例#6
0
        void GoodCollision()
        {
            foreach (NormalFood nfood in normfoodList)
            {
                if (mySnake.HeadSnake.x == nfood.x && mySnake.HeadSnake.y == nfood.y)
                {
                    ++score;
                    textBlockScore.Text = score.ToString();

                    Random rnd = new Random();
                    StarVisible = rnd.Next(0, 3);
                    if (StarVisible == 1)
                    {
                        if (gridGame.Children.Contains(premfood.Rectangle))
                        {
                            Point point = NewLocation();
                            premfood.x = point.x;
                            premfood.y = point.y;
                            premfood.Draw();
                        }
                        else
                        {
                            Point point = NewLocation();
                            premfood.x = point.x;
                            premfood.y = point.y;
                            gridGame.Children.Add(premfood.Rectangle);
                            premfood.Draw();
                        }
                    }
                    else
                    {
                        gridGame.Children.Remove(premfood.Rectangle);
                    }

                    PartOfSnake part = mySnake.AddParts(mySnake.partsSnakeList.Last().x, mySnake.partsSnakeList.Last().y);
                    gridGame.Children.Add(part.Rectangle);
                    mySnake.DrawSnake();


                    Random rand1 = new Random((int)DateTime.Now.Ticks & 0x0000FFFF);
                    amountNormFood = rand1.Next(1, 3);


                    switch (amountNormFood)
                    {
                    case 1:
                        if (normfoodList.Count() == 2)
                        {
                            normfoodList.Remove(nfood);
                            gridGame.Children.Remove(nfood.Rectangle);
                            Point poin = NewLocation();
                            normfoodList.ElementAt(0).x = poin.x;
                            normfoodList.ElementAt(0).y = poin.y;
                            normfoodList.ElementAt(0).Draw();
                        }
                        else if (normfoodList.Count() == 1)
                        {
                            Point poin = NewLocation();
                            normfoodList.ElementAt(0).x = poin.x;
                            normfoodList.ElementAt(0).y = poin.y;
                            normfoodList.ElementAt(0).Draw();
                        }
                        break;

                    case 2:
                        if (normfoodList.Count() == 1)
                        {
                            Point poin = NewLocation();
                            normfoodList.Add(new NormalFood(poin.x, poin.y));
                            gridGame.Children.Add(normfoodList.ElementAt(1).Rectangle);
                            normfoodList.ElementAt(1).Draw();

                            poin = NewLocation();
                            normfoodList.ElementAt(0).x = poin.x;
                            normfoodList.ElementAt(0).y = poin.y;
                            normfoodList.ElementAt(0).Draw();
                        }
                        else if (normfoodList.Count() == 2)
                        {
                            Point poin = NewLocation();
                            normfoodList.ElementAt(0).x = poin.x;
                            normfoodList.ElementAt(0).y = poin.y;
                            normfoodList.ElementAt(0).Draw();

                            poin = NewLocation();
                            normfoodList.ElementAt(1).x = poin.x;
                            normfoodList.ElementAt(1).y = poin.y;
                            normfoodList.ElementAt(1).Draw();
                        }

                        break;
                    }

                    Point pt = NewLocation();
                    pt         = NewLocation();
                    deadfood.x = pt.x;
                    deadfood.y = pt.y;
                    deadfood.Draw();

                    break;
                }
            }

            if (mySnake.HeadSnake.x == premfood.x && mySnake.HeadSnake.y == premfood.y)
            {
                score += 10;
                textBlockScore.Text = score.ToString();
                PartOfSnake part = mySnake.AddParts(mySnake.partsSnakeList.Last().x, mySnake.partsSnakeList.Last().y);
                gridGame.Children.Add(part.Rectangle);
                mySnake.DrawSnake();
                gridGame.Children.Remove(premfood.Rectangle);
            }
        }