Ejemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     LoadPlayer();
     if (_player)
     {
         UserMovement userMovement = _player.GetComponent <UserMovement>();
         if (userMovement)
         {
             transform.Translate(Time.deltaTime * userMovement.BaseSpeed, 0f, 0f);
         }
     }
 }
Ejemplo n.º 2
0
 public UserMovementInfo(UserMovement userMovement) : this()
 {
     this.userMovement = userMovement;
 }
 /// <summary>
 /// Increments the frequency of movement with 1 if it is already in the dictionary,
 /// add the movement with frequency 1 otherwise.
 /// </summary>
 /// <param name="movement">The movement entry to update</param>
 private void UpdateMovementFreqEntry(UserMovement movement)
 {
     if (movementFreqencies.ContainsKey(movement))
     {
         movementFreqencies[movement]++;
     }
     else
     {
         movementFreqencies.Add(movement, 1);
     }
 }
 /// <summary>
 /// Returns the AvatarMovement that corresponds with currMovement
 /// </summary>
 /// <param name="currMovement">The current movement of all users</param>
 /// <returns>The current movement of the avatar</returns>
 private AvatarMovement GetCorrectAvatarMovement(UserMovement currMovement)
 {
     switch (currMovement)
     {
         case UserMovement.Left:
             return AvatarMovement.Left;
         case UserMovement.Right:
             return AvatarMovement.Right;
         case UserMovement.Jump:
             return AvatarMovement.Jump;
     }
     return AvatarMovement.None;
 }
Ejemplo n.º 5
0
        static void Main()
        {
            Console.WriteLine("Choose your difficulty - Easy, Normal, Hard");
            string userinput   = Console.ReadLine().ToUpper();
            int    threadSleep = 0;

            switch (userinput)
            {
            case "EASY":
                threadSleep = 140;
                break;

            case "NORMAL":
                threadSleep = 120;
                break;

            case "HARD":
                threadSleep = 80;
                break;

            default:
                threadSleep = 100;
                break;
            }


            SetUpConsole.SetField();

            Position[] directions = new Position[] {
                new Position(0, 1),  //right
                new Position(0, -1), //left
                new Position(1, 0),  //down
                new Position(-1, 0), //up
            };

            Queue <Position> snakeElements = new Queue <Position>();

            for (int i = 0; i < 6; i++)
            {
                snakeElements.Enqueue(new Position(1, i));
            }
            int score = 0;



            Random   randomNumberGenerator = new Random();
            Position food = new Position(randomNumberGenerator.Next(0, Console.WindowHeight), randomNumberGenerator.Next(0, Console.WindowWidth));

            int direction = 0;
            int count     = 0;

            while (true)
            {
                if (Console.KeyAvailable)
                {
                    ConsoleKeyInfo userInput = Console.ReadKey();
                    direction = UserMovement.MoveTheSnake(userInput);
                }

                Position snakeHead     = snakeElements.Last();
                Position nextDirection = directions[direction];
                Position snakeNewHead  = new Position((snakeHead.Col + nextDirection.Col), nextDirection.Row + snakeHead.Row);
                snakeElements.Enqueue(snakeNewHead);

                if (snakeNewHead.Row < 0 || snakeNewHead.Col < 0 || snakeNewHead.Row >= Console.WindowWidth || snakeNewHead.Col >= Console.WindowHeight)
                {
                    SetUpConsole.SetCursor(10, 10);
                    count = count + 10;
                    Console.WriteLine("Game Over");
                    Console.WriteLine("Your score is {0}", score);


                    return;
                }

                //foreach (Position position in snakeElements)
                //{
                //    if (position.Col == snakeNewHead.Row || position.Row == snakeNewHead.Col)
                //    {
                //        Console.WriteLine("GameOver");
                //        return;
                //    }
                //}

                if (snakeNewHead.Col == food.Col && snakeNewHead.Row == food.Row)
                {
                    food = new Position(randomNumberGenerator.Next(2, Console.WindowHeight - 1), randomNumberGenerator.Next(2, Console.WindowWidth));

                    threadSleep = threadSleep - 2;
                }


                else
                {
                    snakeElements.Dequeue();
                }



                Console.Clear();
                foreach (Position position in snakeElements)
                {
                    PrintOnScreen.PrintWithPosition(position, "*");
                }

                Console.ForegroundColor = ConsoleColor.Red;
                Console.SetCursorPosition(food.Row, food.Col);
                Console.Write("@");
                Console.ForegroundColor = ConsoleColor.Yellow;

                score = ((snakeElements.Count() - 6) * 10);
                PrintOnScreen.PrintWithInts(Console.WindowWidth / 3, 0, "Score: " + score.ToString());


                Thread.Sleep(threadSleep);
            }
        }
Ejemplo n.º 6
0
 void Start()
 {
     Cursor.lockState = CursorLockMode.Locked;
     movement         = GetComponent <UserMovement>();
 }
Ejemplo n.º 7
0
 public void goButton()
 {
     userMovement = GameObject.FindObjectOfType(typeof(UserMovement)) as UserMovement;
     userMovement.ChangePosition(SavedSettings.NewX, SavedSettings.NewY, SavedSettings.NewZ);
 }