-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgame.py
59 lines (50 loc) · 1.72 KB
/
game.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import sys
from wordle import Wordle
from guesser import Guesser
import argparse
from tqdm import tqdm
class Game:
global RESULTS, GUESSES
GUESSES = [] # number of guesses per game
RESULTS = [] # was the word guessed?
def score(result, guesses):
if '-' in result or '+' in result:
# word was not guessed
result = False
else:
result = True
RESULTS.append(result)
if result:
GUESSES.append(guesses)
def game(wordle, guesser):
endgame = False
guesses = 0
result = '+++++'
while not endgame:
guess = guesser.get_guess(result)
guesses+=1
result, endgame = wordle.check_guess(guess)
print(result)
return result, guesses
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--r', type=int)
args = parser.parse_args()
if args.r:
successes = []
wordle = Wordle()
guesser = Guesser('console')
for run in tqdm(range(args.r)):
guesser.restart_game()
wordle.restart_game()
results, guesses = game(wordle, guesser)
score(results, guesses)
print("You correctly guessed {}% of words. ".format( RESULTS.count(True)/len(RESULTS)*100))
if GUESSES:
print("Average number of guesses: ", sum(GUESSES)/len(GUESSES))
else:
# Play manually on console
guesser = Guesser('manual')
wordle = Wordle()
print('Welcome! Let\'s play wordle! ')
game(wordle, guesser)