Help! Errors in Player Script at 2D Roguelike Tutorial

When I wrote Player Script on the 9th of the training, I got these errors:

  1. CS0246 The type or namespace name “Moving Object” could not be found;
  2. CS0115 “Player.Start()”: no suitable method found to override;
  3. CS0115 “Player.AttemptMove(int, int)”: no suitable method found to override
  4. CS0115 “Player.OnCantMove(T)”: no suitable method found to override
  5. CS0103 The name ‘GetComponent’ does not exist in the current context
    6.CS0103 The name “Move” (As well as “enabled” and “Invoke”) does not exist in the current context

I’m trying to solve for several hours, but it does not work.
Please, help!
Thank you in advance.

Sorry, @tanoshimi , my bad.
This is code:

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;      


namespace Completed
{  
    public class Player : MovingObject
    {
        public float restartLevelDelay = 1f;        
        public int pointsPerFood = 10;              
        public int pointsPerSoda = 20;              
        public int wallDamage = 1;                  

        private Animator animator;                  
        private int food;                           
     
        protected override void Start()
        {        
            animator = GetComponent<Animator>();
             food = GameManager.instance.playerFoodPoints;
              base.Start();
        }
        private void OnDisable()
        {   
            GameManager.instance.playerFoodPoints = food;
        }


        private void Update()
        {
            
            if (!GameManager.instance.playersTurn) return;

            int horizontal = 0;     
            int vertical = 0;       
            horizontal = (int)(Input.GetAxisRaw("Horizontal"));
            vertical = (int)(Input.GetAxisRaw("Vertical"));

            if (horizontal != 0)
            {
                vertical = 0;
            }

           
            if (horizontal != 0 || vertical != 0)
            {
                AttemptMove<Wall>(horizontal, vertical);
            }
        }
           protected override void AttemptMove<T>(int xDir, int yDir)
        {
           
            food--;
            base.AttemptMove<T>(xDir, yDir);
            RaycastHit2D hit;

            CheckIfGameOver();     
            GameManager.instance.playersTurn = false;
        }

        protected override void OnCantMove<T>(T component)
        {
         
            Wall hitWall = component as Wall;

            hitWall.DamageWall(wallDamage);

            animator.SetTrigger("playerChop");
        }

        private void OnTriggerEnter2D(Collider2D other)
        {
            if (other.tag == "Exit")
            {
               Invoke("Restart", restartLevelDelay);

                enabled = false;
            }

            else if (other.tag == "Food")
            {
                food += pointsPerFood;
                other.gameObject.SetActive(false);
            }

            
            else if (other.tag == "Soda")
            {
                food += pointsPerSoda;
                other.gameObject.SetActive(false);
            }
        }

        private void Restart()
        {
         SceneManager.LoadScene(0);
        }

        public void LoseFood(int loss)
        {
            animator.SetTrigger("playerHit");
            food -= loss;
            CheckIfGameOver();
        }

        private void CheckIfGameOver()
        {
            if (food <= 0)
            {
                GameManager.instance.GameOver();
            }
        }
    }
}

The problem is that your Player class tries to derive from MovingObject. That’s what this line means on line 8 of your first script:

public class Player : MovingObject

But you don’t define a class called Moving Object anywhere. That’s what the error “The type or namespace name “Moving Object” could not be found” means.

In your second script, you define a class called Moving:

public abstract class Moving : MonoBehaviour

Did you mean this to be:

public abstract class MovingObject : MonoBehaviour

?