Let the number of blocks used for building a house be x, the number for a road be y, and the total number of blocks be z.
If he builds 6 houses, he will be short 120 tiles. This means that:

If he builds 2 houses and 5 roads, he will have 10 tiles left. This means that:

If each road takes 30 tiles to build, this means that:

Therefore, we have from equation (2):

Putting the value of z from equation (1) into (3), we have:

Hence, the value of z can be calculated to be:

Therefore, he has 300 Lego blocks.