That was not a good place for skating,you ________ your leg.A.can break B.could have broken

问题描述:

That was not a good place for skating,you ________ your leg.A.can break B.could have broken
我知道要选B但could have done不是指“可能已经”吗?总觉得翻译过来很别扭.

That was not a good place for skating,you could have broken your leg.
首先,前半句是过去时,表示题目中的"you"已经去过那个地方去滑冰了.
could have done是对过去的虚拟语气,意思是:如果你去那个地方滑冰的话,有可能会摔到腿的.
这句话的场景可以这样理解.比如一个孩子去一个比较不安全的地方滑冰,他安全回来后,对他的妈妈说了这件事.虽然他没有受伤,但是妈妈还是会担心地说:那个地方不安全,你可能会摔到腿的.(事实是他已经安全回来,并没有摔倒腿,所以要用虚拟语气.)
希望这样的解释可以理解.