24 lines
922 B
Python
24 lines
922 B
Python
|
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]
|