コード例 #1
0
    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)
コード例 #2
0
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}")
コード例 #3
0
#!/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")
コード例 #4
0
 def setUpClass(cls):
     cls.guesser = Guesser()