Sep-01-2024, 06:41 AM
In an online basic Python course I'm taking, there's a project where I have to create game levels for a typing game (using keyboards and a list of displayed words which the player has to type).
The project includes a module where the game mechanics consists of some functions (typer.py), along with a word bank (word_bank.py) module. I'm required to create at least 3 new functions within the typer.py module.
The game already has (what looks to me like) game levels: Easy, Medium, Hard modes. Each mode has 3 rounds of increasing difficulty (each round consists of words of the same length, but round 1 has only 1 word to type, round 2 has 2 words to type and round 3 has 3 words to type). These are levels, aren't they?
Anyway, the way the above game mechanics is coded is using a for loop (vide infra)
The project includes a module where the game mechanics consists of some functions (typer.py), along with a word bank (word_bank.py) module. I'm required to create at least 3 new functions within the typer.py module.
The game already has (what looks to me like) game levels: Easy, Medium, Hard modes. Each mode has 3 rounds of increasing difficulty (each round consists of words of the same length, but round 1 has only 1 word to type, round 2 has 2 words to type and round 3 has 3 words to type). These are levels, aren't they?
Anyway, the way the above game mechanics is coded is using a for loop (vide infra)
for round in range(1, 4):
print("Round " + str(round))
words_to_type = typer.pick_random_words(round, "easy")
passed = typer.play_round(words_to_type, 10)
if not passed:
print("Oops!")
break
print("Thanks for playing.")The code in the typer.py module looks like below:def pick_random_words(num_words, word_length):
"""Returns a random phrase containing the given number of words."""
words = ""
for word in range(num_words):
word = get_random_word(word_length)
words = words + " " + word
return words.strip()Couldn't I just replicate this method, use a single for loop to create my levels. That would require only 1 generic function (as we can see above for the rounds). I'm at a loss as to why I should define 3 functions as the instructions in this project say.
