def appliquer_mouvement(etat_jeu, tas_index, nb_objets): # Créer une copie de l'état du jeu pour ne pas modifier l'état original nouvel_etat = etat_jeu.copy() # Retirer nb_objets du tas à l'index tas_index if 0 <= tas_index < len(nouvel_etat) and nouvel_etat[tas_index] >= nb_objets: nouvel_etat[tas_index] -= nb_objets else: raise ValueError("Mouvement invalide : index du tas ou nombre d'objets incorrect") return nouvel_etat # Test 1 : Retirer 3 objets du tas 0 (le premier tas) etat1 = appliquer_mouvement([3, 4, 5], 0, 3) print("Test 1 :", etat1) # [0, 4, 5] # Test 2 : Retirer 1 objet du tas 2 (le troisième tas) etat2 = appliquer_mouvement([1, 0, 2], 2, 1) print("Test 2 :", etat2) # [1, 0, 1] # Test 3 : Retirer 1 objet du tas 1 (le deuxième tas) etat3 = appliquer_mouvement([2, 2, 2], 1, 1) print("Test 3 :", etat3) # [2, 1, 2]