0
votes

Mon programme ne revient pas vrai quand j'en ai besoin à Python

Je crée un jeu et j'ai des fonctions qui prend des paramètres et renvoie une valeur. Je veux vérifier si le jeu est terminé. Le jeu finie lorsque bacs = [0, 0, 0, 0, 0] . J'ai tout essayé et je ne peux pas que le jeu soit vrai dans la fonction principale. Qu'est-ce que je fais mal? XXX


3 Réponses :


0
votes

Votre didendgame code> variable n'est pas mise à jour. Vous devez l'affecter à la fonction de contrôle:

didEndGame = checkGameEnd(bins)


0 commentaires

0
votes

checkgameend (bacs) peut renvoyer true mais vous n'entrez pas à didendgame . Et aussi, vous n'avez pas à taper didendgame == false ou true . Changez votre boucle while avec ci-dessous Code Snippet: XXX


0 commentaires

0
votes

corrections de votre code pour créer une version de travail

def checkGameEnd(bins): 
  return [0]*5 == bins  # check for bins is all zeros

def displayGame(bins):
  print('Bins:', *range(5))
  print('Vals:', *bins)

def removeMatches(turnPlayer1_bin, turnPlayer1_matches, bins):
  bins[turnPlayer1_bin] -= turnPlayer1_matches

def main(): 
  # Initialize bins
  bins = [7, 7, 7, 7, 7]

  displayGame(bins)

  player_1 = "Player 1" 
  player_2 = "Player 2"

  while True:
      turnPlayer1_bin = int(input(player_1 + ", which bin do you want to remove matches from?\t"))
      turnPlayer1_matches = int(input(player_1 + ", how many matches will you remove from bin " + str(turnPlayer1_bin) + "?\t"))
      removeMatches(turnPlayer1_bin, turnPlayer1_matches, bins)

      displayGame(bins)

      if checkGameEnd(bins):
          print(player_2 + ", you win!")
          break

      turnPlayer2_bin = int(input(player_2 + ", which bin do you want to remove matches from?\t"))
      turnPlayer2_matches = int(input(player_2 + ", how many matches will you remove from bin " + str(turnPlayer2_bin) + "?\t"))
      removeMatches(turnPlayer2_bin, turnPlayer2_matches, bins)

      displayGame(bins)

      if checkGameEnd(bins):
          print(player_1 + ", you win!")
          break

main()


0 commentaires