Kjell Vos Portfolio!

I post about code here and other IT related subject matter.

MastermindRedux project

I redid an unfinished group project, Mastermind. I started from scratch and redesigned it in such a way that there is a lot of code reusability and there is polymorphism. I also included sphinx apidoc comments to easily create html documentation pages. I thought a lot about what would limit technical debt and which would expedite development time. The project is about 3000 lines long which includes the apidoc comments.

I included the ability to have scores and three different difficulties each with their own high score list.

The difficult high score listing, showing 2 scores. It allows almost unlimited scores with pagination.

There are settings which are persistent through rebooting through the created “data.txt” file which is encrypted which also includes the high score listings.

The settings screen, which allows you to input a name for the high score too. It also allows you to switch to one of three predefined difficulty settings with their own high score listing. If you choose settings which do not align with one of three difficulties it disables high score listing.

I used pygame in the project for drawing, getting events and to create the UI elements. The development time was about 80 hours including making decisions about the look of the game.

The game screen before you start the game, allowing you to read the text explaining how it works.

The game in play.

Project executable: https://1drv.ms/u/s!Anp1RIqH9mfBjJw8T-BflyPmG34sDg?e=w8B3Bf

Project source: https://github.com/1000monkeys/MastermindRedux

Leave a Reply

Your email address will not be published. Required fields are marked *.

*
*
You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.