I do not take any responsibility or liability for any error, omission , inaccuracy or destructions!
BASED ON GAME EXAMPLE:
Main menu will have four options New Game, High Scores, About, Tutorial
A different person has a different way to design.
If you have problem with design stage, then here are some tips:
How looks my design for this project:
- game flow as mind map
- GUI for menu,
- GUI for menu items,
- GUI for classic game flow level*n times->result,
- high scores,
- country list file,
- file loader and validation,
- country of the world,
- capitals of the world,
- flags of the world,
- saper mode.
My list was stored on Kanban board.
I draw game flow (unfortunately i deleted)but I have not done class diagram.
For bigger and proper project is a good habit to do class diagram and user cases, but for small protects like this is not essential. Well. If u do project for somebody then is good to have user cases as it helps understand your client requirement.
I usually starts from UI for task as I like to see and test usability of my app.
then I do a core of app, so I can then do rest in any order (like test).
that's give me flexibility to adapt to changes that ALWAYS happen during development.
That is all my design for this project.
I hope this part explains a little bit about design stage
Remember about kiss principle .depends on your project’s size and complexity.
I believe most important is to make sure that u happy with usability and direction in your design and it meets your requirements.
Be open to changes during development as they WILL OCCURED during development
in next parts (5 and 6) I will show most interesting snippet of my code. There are not an example a superb coding, but it will give you idea for one of possible solution...
(Part 5 and 6 are still work in progress ,however part 7 Testing ,part 8. Add project to Google Play ,part 9. How to be rich from application. and part 10. Summary are done and there are in this blog.(Just click on links.
Feel free to left suggestions and comment. I am happy to answer and improve my tutorial