Skip to content

"Mid-term" project for Stanford CS193p May 2021, built using SwiftUI

Notifications You must be signed in to change notification settings

nikhilhenry/Set

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Set

A fully functional game of SET written in SwiftUI for iOS. Mid-term project for Stanford CS193p.

Stack

  • Functional UI programming using SwiftUI 2.0 and Swift 5.5
  • Data architecture using MVC
  • Motion using SwiftUI animation library

Features

Deck and Discard Pile

Keep track of discraded cards from the game and deal new cards from the undealt pile.

img_1.png

Set Matching

An efficient alogrithm to identify a matching Set and help the player progress.

img_2.png

Screenshots rendered using rframe.

Thoughts

Architecting the app from scratch was particularly challening as there was no real road-map or implementation guidelines. The hints, however, did guide me through what I needed a head of implementing a particulary feature which helped me create a mental model of the implementation priority list. Animation took the longest to implement as I wasn't well-wersed with the unique animation system of SwiftUI. The set matching alogrithm took many iterations to reach a fast, perfomant and functional state, but in the end I am extremely proud of the outcome I was able to achieve in 2 weeks after only having used Swift and SwiftUI for 2 weeks.

About

"Mid-term" project for Stanford CS193p May 2021, built using SwiftUI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages