In a Monte Carlo (MC) simulation, the only goal is to find what structures a system shows, not how it moves. Say you have a box with some 1000 or 10000 particles. The program keeps track of all particles’ positions (no velocities here), and develops the system by attempting random changes of these positions. Such a random change is called Monte Carlo move, and produced with a random number generator.
A Monte Carlo move is not always carried out, but only with a certain probability: If a move takes the system to a higher potential energy* (e.g. some repulsive particles come closer together), it is only rarely** accepted. If a move takes the system to a lower potential energy, it is always accepted. In this way, the system takes on structures according to the laws of statistical mechanics. That is, the system is then found mostly in structures which it likes. A molecular dynamics (MD) simulation does that too, but letting the forces decide where the system goes. MC is in some cases more efficient in reaching favorable structures, since it can change the system in shortcuts which do not happen in an MD. The art is to invent such shortcuts.
The detail that is different from system to system is the prescription on what the particles like or dislike, i.e. what potential energies come with what configurations. So you might have soft particles (and there are many ways of being soft) or hard particles (like billard balls, or hard ellipsoids, they simply don’t like to overlap ever), you might have attraction and only repulsion when they come very close (like atoms in silicates), or purely repulsive particles (like hard ellipsoids).
* Potential energy is a way of measuring how much a system “dislikes” a certain configuration. Repulsive particles don’t like to be close together, and it takes energy to bring them close together anyways, against the forces that express this dislike. It is called potential energy because once the particles are close together, they have the potential to move apart with some velocity: i.e. kinetic energy, to which the potential energy has then been converted. The term “potential” makes it sound like it is somehow less real than kinetic energy, I find this misleading.
** Again the random number generator is used. It produces numbers between 0,0 and 1,0. By choosing only a small sub-interval (e.g. 0.9 to 1.0), you get only rarely a number from the sub-interval; and only when you do, you accept the move. This is how to program something to occur rarely. And you make it the more rare the more drastic the increase in potential energy. By the way, it is all this randomness that gave this technique the name Monte Carlo.
Simulations in general