Screenrecording_SET_formatted.mp4
This repository contains my midterm Assignment for the CS193P iOS Application Development course, offered in Spring 2023 at Stanford University. The assignment involved creating a Set card game app from scratch, using SwiftUI.
- Link to Assignment: CS193P Assignment 3 Details
- Implementation of solo Set game mechanics.
- Dynamic proportional UI adjustments for varying numbers of cards on screen.
- Adherence to MVC design patterns.
- Unit tests
- Card dealing and replacement logic.
- Handling card selection state and validation of Set matches.
- Implementing custom shapes for card symbols.
- Modularity, Readability, Reusability, Maintainability
SET!
├── GameLogicTests
│ └── GameLogicTests.swift
├── SET!
│ ├── ActionBarView.swift
│ ├── AspectVGrid.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── CardView.swift
│ ├── ContentView.swift
│ ├── Model
│ │ ├── Card.swift
│ │ └── GameLogic.swift
│ ├── Preview Content
│ │ └── Preview Assets.xcassets
│ ├── SET_App.swift
│ ├── ShapeView.swift
│ └── ViewModel
│ └── SetGame.swift