Hi Bryan! Sorry for the delay in responding, and thanks, PiscesMike for jumping in and saying something!
Your post is still over on the UserVoice page, it's just on the second page. They're arranged by vote count by default, so new items start at the back. You can sort by "New", which brings your item up to the top. Here's your post: http://rbwhitaker.uservoice.com/forums/216936-general/suggestions/5646724-where-should-the-code-pieces-be-put
For some reason, the CSS isn't loading over there this morning for me. The page that loads is ugly right now. It's not usually that way. I don't know if it's just me, or if everyone is having that problem, but if it does look ugly, just keep in mind that it doesn't usually do that.
Anyway, on to actually answering your questions.
The "elsewhere" really refers to anywhere you want. It's just an example. That code could go directly in your Main method or in a method in another class that you create.
What you're really getting at is the heart of object-oriented design. When you create a class like this code does, you define what a category of objects is capable of doing. In this case specifically, you've defined what all players should be capable of. (More specifically, because of the inheritance aspect, we've defined what players in the general case can do (MakeMove) and then created two different types of players that make a move in their own unique way. That's actually the role of inheritance.)
I don't know if you've already read the tutorials on classes leading up to the polymorphism one, but that's a good place to start if you haven't. For instance, in the first tutorial about classes, I talked about the Random class that Microsoft created. It's purpose is to be able to generate random numbers. That tutorial has examples on how the rest of your project could create an instance of a Random object and then use it to pick random values for different things.
Of course, the other thing that I should point out here is that object-oriented development and design takes some getting used to. It's not always easy to see how your code should be structured and grouped into objects. It's one of those things that takes practice, and the more practice you get, the more easily you can see how to structure your code.
I know this answer is kind of long, and I'm not positive I've truly answered your questions. Don't hesitate to ask follow up questions. I'm usually quicker at responding to them than I've been this last week.