L'idéal serait que maintenant que tu connais la cause du problème, tu réflechisses toi-même à une solution
je ne pense pas que ce serait beaucoup t'aider que de te pondre le code qui résoud ton problème, et ce ne serait même sûrement pas adapté une fois collé dans le reste de ton programme.
Si on récapitule, on a vu que copier des Card était problématique, puisque quand tu vas dupliquer une instance tu vas copier son sprite et sa texture ; or la copie du sprite va toujours pointer vers la texture originale, pas vers la nouvelle -- d'où le carré blanc.
Plusieurs solutions s'offrent donc à toi :
- implémente la copie correctement dans ta classe Card (constructeur par copie et opérateur d'affectation) ; mais est-ce que cela a du sens de copier les cartes ? est-ce qu'on peut avoir plusieurs rois de trèfle au même moment en mémoire ?
- interdit la copie (en marquant "deleted" le constructeur par copie et l'opérateur d'affectation, cf. Google si tu ne sais pas comment faire) et ensuite débrouille toi pour éviter les copies, par exemple en stockant des pointeurs sur des Card allouées dynamiquement ; mais est-ce que cela vaut le coup d'allouer dynamiquement toutes tes instances de Card et te trimballer des pointeurs, juste pour ça ?
- ne met pas la texture dans Card ; charge ta ou tes textures (mais une seule c'est mieux) à un endroit qui n'a rien à voir avec les instances de Card, et passe simplement une référence à celles-ci pour qu'elles puissent utiliser la texture
A toi de te comprendre ces différents scénarios et te faire ton opinion