You're pretty much asking us to program the entire gameplay logic for you. You should tackle one problem at a time, and post a question for one specific problem. I'm just going to answer the question on your title (How to move a sprite in a straight line) since that's the more concrete problem.
First define variables for the
direction (which should be normalized) and
speed of your sprite. You probably already have the position since you're drawing the sprite on screen.
Vector2 position; // Position of the sprite, where it is drawn
Vector2 direction; // Normalized vector pointing in the direction to move
float speed; // Speed in units (pixels if not zooming) per second
Having these three, you can make the sprite move the in the specified direction by doing the following in the
float dt = (float)gameTime.ElapsedGameTime.TotalSeconds;
position += direction * speed * dt;
For example, to make the sprite move left to right you'd do something like:
direction = new Vector2(1,0); // Points right
speed = 100f; // Moves 100 pixels per second