If you tap the text, you can flip the coin.
Random numbers by tapping appropriate dice.
I play a lot of magic and I wanted to make it easier to play. Sometimes I forget my dice, I don’t have a coin on me, or I even forget a piece of paper and pen to write my life total on. I had never used Swift, so I decided that this would be a great opportunity to help create something that fixes problem while also learning some cool tools.
What it does
It’s an iPhone app! It has 4 tabs. A dice tab that lets you roll 3 different sets of dice. A coin tab that lets you flip a coin. A life total tab which allows you to keep track of 4 different players life totals. The user can reset the life totals to their default value at any time by pressing a button. Finally, a settings tab which controls whether a background image will be there and allows the user to set the default lifetotal for all 4 players. Changing the default value will cause the life totals to reset. This is intentional.
How I built it
This was my first time in a couple years programming something like this. One of the mentors, and also my friend, Harlan Haskins introduced me to swift and the idea of using a model-viewer design pattern. Xcode makes it pretty easy to do this thanks to the tab view controllers, so in no time at all I had 4 blank pages and a way to move between them.
Then I learned about the different types of views like a stack view or an Image Viewer. I learned how to work with them and set them up so the app would look the way I wanted.
Challenges I ran into
Accomplishments that I'm proud of
I have never used Swift before this hackathon to any substantial amount so I am really happy with how much I have learned. This was my first MLH so I also am proud that I was able to do so much in the time.
What I learned
Swift UIKit Xcode (also never used)
What's next for Magic App
I originally wanted it to be a Watch app, so I’ll probably do that next!