CSP1150/CSP5110 Programming Principles:
Internal Code: 2ADJB Assignment 1: Individual programming assignment (“Word Game” program)
This assignment tests your understanding of and ability to apply the programming concepts we have covered in the unit so far, including the usage of variables, input and output, data types, selection, iteration, functions and data structures. Above all else, it tests your ability to design and then implement a solution to a problem using these concepts.
You are required to design and implement a “Word Game” program in which the user must identify a randomly selected “password” from a list of 8 words. The 8 words are selected at random from the list of 100 words in the starter file (word_game.py) provided to you with this assignment brief. Please use the starter file as the basis of your assignment code.
The user has 4 attempts in which to guess the password. Whenever they guess incorrectly, they are told how many of the letters are the same between the word they guessed and the password. For example, if the password is “COMEDY” and they guessed “MOULDY”, they would be told that 3/6 letters were correct due to the O, D and Y being the same. Note that a letter must be in the correct position to be correct. e.g. In the example above, both words contain the letter “M” but it is in a different position in the word so it is not counted as a correct letter.
Using this information, the user can make increasingly knowledgeable guesses and win the game by selecting the password within four guesses. If the user fails to select the correct word within 4 guesses, they lose the game.
This game is similar in some ways to the game of “mastermind”, and is based upon the “terminal hacking” minigame from the Fallout video game franchise. You do not need to be familiar with either of these games in order to complete this assignment – contact your tutor if you do not understand the game.
January 28, 2023