De checks zijn op het moment erg onoverzichtelijk. Gameloop en checks lopen door elkaar, waardoor het super lastig is om te begrijpen wat er precies gecheckt wordt, en wat er wel/niet gebeurt. Dit gaat in Adventure een stuk beter, daar heb je meer mogelijkheden voor input, maar is het alsnog bijzonder leesbaar.
Daarnaast is er nu (minstens) een verschil in aanpak tussen de gameloop die gegeven wordt in de opdracht en die in de checks: in de gegeven code wordt altijd if len(letter) != 1 or not game.is_valid_guess(letter): vóór game.guess() gedaan, terwijl game.is_valid_guess() helemaal niet gebruikt wordt in de checks. Dit veroorzaakt soms nare bugs die niet goed te vinden zijn als je de checks niet goed kent. Ik zou persoonlijk hier zeggen dat de aanpak van de checks logischer is, en dat game.is_valid_guess() een functie is die alleen intern in .guess() wordt aangeroepen.
De checks zijn op het moment erg onoverzichtelijk. Gameloop en checks lopen door elkaar, waardoor het super lastig is om te begrijpen wat er precies gecheckt wordt, en wat er wel/niet gebeurt. Dit gaat in Adventure een stuk beter, daar heb je meer mogelijkheden voor input, maar is het alsnog bijzonder leesbaar.
Daarnaast is er nu (minstens) een verschil in aanpak tussen de gameloop die gegeven wordt in de opdracht en die in de checks: in de gegeven code wordt altijd
if len(letter) != 1 or not game.is_valid_guess(letter):
vóórgame.guess()
gedaan, terwijlgame.is_valid_guess()
helemaal niet gebruikt wordt in de checks. Dit veroorzaakt soms nare bugs die niet goed te vinden zijn als je de checks niet goed kent. Ik zou persoonlijk hier zeggen dat de aanpak van de checks logischer is, en datgame.is_valid_guess()
een functie is die alleen intern in .guess() wordt aangeroepen.