星が拾われたかどうかを示すフラグを追加できます。stellaこれは、クラスのフィールドである必要があります。それを呼びましょう...
public bool captata; //I'll go with some Google translated Italian.
レベルが開始したら、次の値で初期化しますfalse。
foreach (stella stella in stelle)
{
    stella.captata = false;
}
プレイヤーが星と交差するとき、フラグを適切に設定します。同時に、星がまだ拾われていない場合にのみ衝突をチェックします。
foreach (stella stella in stelle)
   if ((!stella.captata) && (stella.rettangolo.Intersects(giocatore.rect)))
   {
       score=score+10;
       stella.captata = true;
   }
もう 1 つの方法は、星のコレクションから星を完全に削除することです。
for (int i = stelle.Count - 1; i >= 0; --i)
{
   if (stelle[i].rettangolo.Intersects(giocatore.rect))
   {
       score = score + 10;
       stelle.RemoveAt(i);
   }
}