Roll Dice

August 18, 2021
0 commits    0 ++    0 --

Final training project from 100 Days SwiftUI Course. Thanks a lot Paul Hudson for amazing course for beginners.


You need to build an app that helps users roll dice then store the results they had.


First, I connected and configured Core Data. That allowed me to efficiently store and process data about game settings and all throws made by the player.

I then added a button with a gear icon to the Navigation Bar, which opens a dice configuration sheet where the user can select their number and color.

To make the dice cubes look nice, I used icons from the SF Symbols iconography library. I was happy with the result when I used touchscreen gesture modifiers to let people interact with cubs. Then, I looked for ways to achieve a 3D effect. I applied the rotation3DEffect, which made the cubes slightly convex in shape. It's not fully 3D, but who knows, maybe in the future I will achieve it.

Then, when the animation set the dice in motion, I used code magic to quickly and discreetly change the icon to another random value. This gave the dice rolls reality and meaning in the game. After rolling the dice, the results are recorded in the database and displayed in the results window.


I successfully completed the 100 Days of SwiftUI course and earned a certificate of completion. This final project and open source led me to my first SwiftUI development contract.

100 Days SwiftUI Course Certificate

More Projects

0 commits    0 ++    0 --

A mobile application designed for online sellers to efficiently manage orders, track payments, and monitor deliveries in real time.

April 23, 2024

Mr Dicey
0 commits    0 ++    0 --

Part of the game interface of a craps app called Learn Craps. Thanks to Mike Land for the SwiftUI development contract.

January 10, 2022

Find Couple
0 commits    0 ++    0 --

A small game as a technical task for work from Arbita company.

August 13, 2021

Touch Ten
0 commits    0 ++    0 --

Simple game as a technical task for work from Gravity company.

August 18, 2021