Yeah, there are restrictions to what chords go with a certain key. Chords that work are chords that exist with the key (scale your playing in). Take an A minor chord in the key of A minor. The scale of A minor is A, B, C, D, E, F, G, A. The A minor chord is made up of A, C, and E. A minor triad. Notice that pattern, it's start with the root of the chord which is A, skip a note(B), C, skip another note (D), E. This is the pattern used to form a triad. To know whether a triad is major, minor, diminished, or augmented you have to add up the distance from each note to the next. So starting with A, C is a minor 3rd above A. Then E is a major third above C. It looks like this.
A ~> minor 3rd ~> C ~> major 3rd ~> E = A minor chord (triad)
All intervals between triads are in thirds (whether major or minor). A minor third is 1 1/2 steps or 3 frets up, and a major 3rd is 2 steps up or 4 frets up.
Now here's the intervals for each type of chord (triad).
Minor = minor third, major third
Major = major third, minor third
Diminished = minor third, minor third
Augmented = major third, major third
Now that you see how you come up with why A is minor chord in a A minor scale (key). You can do the same with all the other notes in the A minor scale.
B is a diminished chord. B to D is a minor third and D to F is a minor third too. When you have 2 minor thirds it's diminished. If you go on through all the notes, you end up with.
A minor, B diminished, C major, D minor, E minor, F major, G major.
Here's the major chord structure with a major key.
A major, B minor, C# minor, D major, E major, F# minor, G# diminished.
Hopefully you see how chord exist within scales (keys). So if you wanted to play a progression I, IV, V in A major. You would play the chords A major, D major, and E major.
Now it goes farther when you start adding extensions to those chords. i.e. A major 7th. The simple way to look at it is you just take the A major triad (A, C#, E) and add the seventh note up G# to that chord. So you end up with A, C#, E, and G#. Now by adding different notes to the simple triad you can create a nice range of different ways to color a chord within a certain key. Take A major in the A major scale. Here's a few chord that you can use by adding a note to a simple triad.
A major 7th = add G#
A major 6th = add F#
A major 9th = add B
and so on.
Hopefully that helps. I would have sent you a link to a previous thread but I didn't feel like looking.
"My whole life is a dark room...ONE BIG DARK ROOM" - a.f.i.