Skip to content

Repository files navigation

Keeping Score

Keeping Score is an iOS SwiftUI app for tracking scores and game state across multiple game modes.

Right now the app includes:

  • Simple Scoring
  • Skull King scoring
  • Tournament management
  • Monopoly cash and property tracking

Tech Stack

  • Swift
  • SwiftUI
  • Xcode

Project Structure

The main app code lives under KeepingScore.

Key folders:

App Entry

The app starts in KeepingScoreApp.swift.

It creates and injects the main shared state objects:

  • GameManager
  • TournamentStore
  • MonopolyGameManager

The landing screen is LandingPageView.swift, which routes users into each game mode.

Current Features

Simple Scoring

  • Basic score tracking
  • Lightweight scoreboard flow

Skull King

  • Player setup
  • Round score entry
  • Leaderboard flow

Tournaments

  • Tournament setup
  • Participant management
  • Match detail flow
  • Bracket browsing by round

Monopoly

  • Player setup with tokens and starting cash
  • Cash adds, deductions, and transfers
  • Property ownership tracking
  • Monopoly, house, hotel, and mortgage rules
  • House and hotel bank counters
  • Bankruptcy tracking and bankruptcy order
  • Automatic end-of-game detection
  • Final leaderboard summary with winner and stats

Development Notes

  • The project uses SwiftUI environment objects heavily for shared game state.
  • Monopoly state is managed in MonopolyGameManager.
  • Tournament state is managed in TournamentStore.
  • There is legacy tournament code in some branches that may duplicate file names. If you hit a build error like Multiple commands produce ... TournamentBracketView.stringsdata, check for duplicate TournamentBracketView.swift files in different folders.

Running The App

  1. Open Keeping Score.xcodeproj in Xcode.
  2. Select the Keeping Score scheme.
  3. Choose an iOS simulator or device.
  4. Build and run.

Tests

Test targets are included:

Known Cleanup Areas

  • Remove outdated duplicate tournament prototype files if they still exist in older branches.
  • Continue consolidating view naming and folder structure across branches.
  • Add more automated tests around game-specific business logic, especially Monopoly rules and tournament flows.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages