From the last post I made some nice progress. It took some time, because I’m a beginner with Python and especially new in Kivy, in mobile development. So every feature, every new element in my GUI meant extensive research which involved reading docs, googling, asking for help in Kivy discord and etc.
For example I decide that I need a button… Ok then how to add a button, how to place this button in a specific location. How to make it responsive to different screen sizes, how to change color of the button, how to change text of button label, text size and etc. And then on top of all that I needed to figure out how to do my app/game logic, what kind of user experience I want it to be, how data travels trough my app and more.
First thing I started working on after creating title/menu screen was an Options screen. I had this idea of basically having two choices in options. Difficulty mode and time choice.
Depending on the difficulty you will have specific time options. That time will be used as a countdown. So for example on Normal difficulty you will have an option of 2 seconds to memorize the number, on Easy mode you will be able to select more time to do that… After some work I finally had my settings screen. It was buggy… But I had something:
Now I needed to add logic, to lock some options depending on the difficulty mode. Also I needed a way to save user choices. Then depending on those choices I needed to add additional logic, to start working on generating random numbers in order to memorize them.
Then I had this annoying bug. I needed double tap my checkboxes to activate them:
Eventually I fixed this bug and switched to radio buttons. They were much easier to implement and looked much nicer to me:
After that I successfully added logic I wanted behind my Options screen. And made a decision to change my color palette. So finally I had this:
A working Options screen 🙂
Depending on the selected difficulty mode you will have locked some specific time options. Also after picking your options everything is saved properly and loaded when you need it.
So that’s it for now. Soon will be writing another post. My app finally is taking a shape. Its not perfect, UI sucks… But I’m still very proud of it. My first mobile app, my first more serious project and all done in Python.