def runIters(procNum): ITERATIONS = 100 guessesToWin = [] losses = 0 for i in range(ITERATIONS): guesser = Guesser() guesser.weightingTuple = weightTuple responder = Responder( getCellTuple(n2l(random.randint(1, 18)), random.randint(1, 18))) # print(f"Iteration {i}: {formatCell(responder.cell)}") turns = 0 gameOver = False while not gameOver: guess = guesser.getGuess() # print(f"Turn {turns} of iteration {i}: {formatCell(guess[0])}") if guess[1]: if responder.checkSolve(guess[0]): guessesToWin.append(turns) break else: losses += 1 break guesser.feedback(guess[0], responder.check(guess[0])) turns += 1 return (guessesToWin, losses, ITERATIONS)
def create_guess_game(): """ Define game logic""" your_name = input("Hello! What's your name?\n") guesser = Guesser() max_d = Guesser.get_max_difficulty() min_d = Guesser.get_min_difficulty() guess = False while not guess: difficulty = input( f"{your_name}, choose a difficulty between {max_d} and {min_d} ") guess = guesser.choose_challenge_level(difficulty) print( f'Well, {your_name} I am thinking of a number between {Guesser.min_range} and {Guesser.max_range}' ) run = True count = 0 while run: user_guess = input(f"{your_name}, take a guess: ") count += 1 run = guesser.run_game(user_guess, count) if guesser.status == -1: print("Your guess is too low\n") if guesser.status == 1: print("Your guess is too high\n") if guesser.status == 0: print( f"Good Job {your_name} You guessed my number in {count} guesses!") else: print( f"{your_name}, you've lost. My number was {guesser.guess_number}")
#!/usr/bin/env python3 import random import sys from guesser import FitnessGuesser as Guesser from helpers import getCellTuple, n2l, formatCell guesser = Guesser() print(f"Board initialized; {len(guesser.board)} possibilities remain") while True: guess = guesser.getGuess() if guess[1]: print("Making solve attempt!") print(formatCell(guess[0])) break response = input(formatCell(guess[0]) + '? ') guesser.feedback(guess[0], response.upper() in ['Y', 'YES']) print(f"{len(guesser.board)} possibilities remain")
def setUpClass(cls): cls.guesser = Guesser()