I had a moment at the park earlier that I'm not sure I handled properly and I wondered how others would have dealt with it.
DS has just turned three and we were at a park with a wooden child-sized train, with various carriages. He wanted to have a go at being the driver and waited until it was free, but when he went to jump in another boy (about five) got there first. He was a bit upset but I told him that he'd just have to wait his turn. The little boy was on it for ages and then when he went to get off, DS went to get on. At that point the little boy told his sister/cousin/friend (about 6/7) to get on instead and physically blocked DS from getting on! DS, the boy and the sister ended up all sort of sitting on it together, DS got really upset and then ran off crying. Again, I told him that he'd have a go when the girl was finished. After about 15 minutes we needed to leave, so I suggested to DS that he asked the girl if he could have a turn before he left. She asked the little boy, he said to say no, so she did. DS again was upset and we just left.
I'm not sure what I should have done - the little boy was otherwise being a bit difficult (he was grabbing DS' hands and pushing them off a little wheel on one of the carriages, even when DS suggested they take turns playing with it as the carriage had two seats and they were both sitting there) and he was also throwing wooden blocks at his own older brother. The parents were sitting a little way away and could see everything that was going on but were just leaving them to it.
Should I have just left him to it? Or intervened to tell them to let him have a turn/ask the parents to step in? Part of me thinks it's just part of learning to play with others, and part and parcel of being around older kids, but it just felt so unfair - it's the only thing DS wanted to play with, and I feel like I basically taught him to be a bit of a pushover (though we had a chat about taking turns etc).