In this project, you will create your first software! You are tasked with creating a game that interacts with the user, using functions and other basic python resources you have learned during the week. Your game will be able to take an input from the user and provide an output.
You will also present your game to the class.
You must come to an agreement with your colleagues so that each of you develops one of the following games:
- Strong Random Password Generator
- Guess The Number
- Hangman
- Message Encryption & Decryption
- Mastermind
- Tic Tac Toe
- Blackjack
- Soldier & Dice (Risk)
- Memory
- Solitaire
- Minesweeper
- Battleship
Please feel free, however, to find a game yourself (subject to teachers' approval).
During this project you will:
- Build your own code from scratch.
- Put into practice the basic python concepts learned during the week.
- Get used to public presentations.
The mandatory requirements that this project needs to satisfy are:
- The project must be planned. That is why creating a Kanban board is important. You can either do it manually (e.g. with post-its) or use an online tool like Trello. You can find a template for Trello here. Notice that if you decide to use Trello you have to make your own board, please do not edit the Trello board where the labs are. Remember that you CAN'T CODE until your project is planned.
- Your repository must be clean and organized; this means that it must include a .gitignore file and a README file and also have a functional file structure.
- Your code must include at least one function.
- The project needs to be presented to your colleagues on the day of the presentation.
- The game must work and be playable
The mandatory deliverables that you must turn in are:
- Link to the repository you used while working on your project on your project card on our common Trello board. The repository must include all the files you used to build your game. Remember to commit often to avoid trouble in case you mess up: this means more than 1 commit!
- Link to Trello or picture of your Kanban Board. Include the link or the picture in the README file.
- Fork and clone this repository
- Edit it with your files, links, the Readme and a relevant .gitignore file condensed in a proper structure
- Add, commit and push all your files
- Add the link of the repository on our Trello board on your project1 card to submit the project
The deadline to turn in the deliverables is right before the project presentations.
We will mentor you!
Your mentor will:
- Keep track of your project in general terms. Your mentor will be the second person that knows more about the project, after you.
- Check if you are following your plan: are you keeping up with your tasks and deadlines? Do you have any obstacles blocking you?
- Help/support you with specific questions.
Your mentor is not meant to:
- Know everything.
- Be your manager. You have to be responsible of your own tasks!
Please note that the following schedule is simply a guideline. Feel free to organize your work as you see fit.
Phase 1
- Choose the game that you are going to code.
- Plan your project. Remember that we are providing you with a Trello template. Remember that you CAN'T CODE until your project is planned.
- Fork the repository and edit the README overview. You can find a template for your README file in this repository. Remember to keep the README up-to-date.
- Once you finish, start coding! Remember to use functions.
Phase 2
- Finish the coding and possibly check for bugs in the program (e.g. check what happens if the player gives unexpected inputs to the program).
- In the evening, start preparing the slides for Saturday's presentation.
Phase 3
- Presentation time Saturday March 27th at 2PM!
In your presentation, you will present your game. You may show your code, but this is not necessary. However, the presentation must include the content listed below and a demo of your game:
- Title of the project + Student name
- Description and rules of your game
- Workflow
- Challenges you encountered during the process
- Learnings
- Possible future improvements
- Demo of the game (remember to save time for it)
Each student gets 10 minutes to present his or her game. Your presentation may be shorter (this is no problem, its about the content, not the duration), but not longer.