├── .buildpacks ├── .github ├── FUNDING.yml └── workflows │ ├── deploy.yml │ └── swift.yml ├── .gitignore ├── .swiftpm └── xcode │ ├── package.xcworkspace │ └── contents.xcworkspacedata │ └── xcshareddata │ └── xcschemes │ ├── memes-Package.xcscheme │ ├── memes-client.xcscheme │ └── memes-server.xcscheme ├── LICENSE ├── Package.resolved ├── Package.swift ├── Procfile ├── README.md ├── Sources ├── Client │ ├── Bridging │ │ ├── Clipboard.swift │ │ ├── KeypressListener.swift │ │ ├── URLComponents+current.swift │ │ └── WebSocket.swift │ ├── Game Logic │ │ ├── Game.swift │ │ └── Session.swift │ ├── Views │ │ ├── Common │ │ │ ├── CustomButton+Text.swift │ │ │ ├── CustomButton.swift │ │ │ ├── CustomTextField.swift │ │ │ └── StandardButtonContent.swift │ │ ├── ErrorView.swift │ │ ├── Game │ │ │ ├── GameRootView.swift │ │ │ ├── Gameplay │ │ │ │ ├── Card │ │ │ │ │ ├── CardContentView.swift │ │ │ │ │ └── CardView.swift │ │ │ │ ├── Common │ │ │ │ │ └── GameSplitView.swift │ │ │ │ ├── GameView.swift │ │ │ │ └── States │ │ │ │ │ ├── Choosing │ │ │ │ │ └── ChoosingView.swift │ │ │ │ │ ├── Chosen │ │ │ │ │ └── ChosenView.swift │ │ │ │ │ ├── Collecting │ │ │ │ │ └── CollectingView.swift │ │ │ │ │ ├── Done │ │ │ │ │ └── HighscoreListView.swift │ │ │ │ │ ├── Freestyle │ │ │ │ │ └── FreestyleView.swift │ │ │ │ │ └── Initialized │ │ │ │ │ ├── InviteUserButton.swift │ │ │ │ │ └── WaitingToStartView.swift │ │ │ └── Starting │ │ │ │ ├── ChooseActionView.swift │ │ │ │ ├── GameStartView.swift │ │ │ │ ├── JoinAGameView.swift │ │ │ │ ├── NumberOfRoundsButton.swift │ │ │ │ └── StartANewGameView.swift │ │ └── RootView.swift │ └── main.swift ├── Deck │ ├── Deck.swift │ └── StandardDeck.swift ├── DeckApp │ ├── Model │ │ ├── Caption.swift │ │ ├── Deck.swift │ │ └── Meme.swift │ ├── NSApplication+run.swift │ ├── Views │ │ ├── Captions │ │ │ ├── CaptionListView.swift │ │ │ ├── DroppedImageViewModel.swift │ │ │ └── EditCaptionView.swift │ │ ├── Memes │ │ │ ├── AddMemesFromSource.swift │ │ │ ├── AddMemesModal.swift │ │ │ ├── AddSingleMemeURL.swift │ │ │ ├── ImgflipSource.swift │ │ │ ├── MemeImageSource.swift │ │ │ ├── MemeListView.swift │ │ │ └── MemeMakerSource.swift │ │ └── RootView.swift │ └── main.swift ├── Events │ ├── ClientEvent.swift │ └── ServerSideEvent.swift ├── Model │ ├── Array+removeFirst.swift │ ├── Card.swift │ ├── GameError.swift │ ├── GameID.swift │ ├── Player.swift │ └── Proposal.swift └── Server │ ├── Game Logic │ ├── Game.swift │ ├── Meme.swift │ ├── Model Compatibility │ │ ├── Player+model.swift │ │ ├── Proposal+model.swift │ │ └── ServerSideEvent+init.swift │ ├── Player.swift │ └── Proposal.swift │ ├── Utils │ └── Lock.swift │ └── main.swift ├── decks └── main.json └── demo.png /.buildpacks: -------------------------------------------------------------------------------- 1 | https://github.com/vapor-community/heroku-buildpack -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [nerdsupremacist] 2 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.github/workflows/swift.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/.github/workflows/swift.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/.gitignore -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /.swiftpm/xcode/xcshareddata/xcschemes/memes-Package.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/.swiftpm/xcode/xcshareddata/xcschemes/memes-Package.xcscheme -------------------------------------------------------------------------------- /.swiftpm/xcode/xcshareddata/xcschemes/memes-client.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/.swiftpm/xcode/xcshareddata/xcschemes/memes-client.xcscheme -------------------------------------------------------------------------------- /.swiftpm/xcode/xcshareddata/xcschemes/memes-server.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/.swiftpm/xcode/xcshareddata/xcschemes/memes-server.xcscheme -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Package.swift -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Procfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/README.md -------------------------------------------------------------------------------- /Sources/Client/Bridging/Clipboard.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Bridging/Clipboard.swift -------------------------------------------------------------------------------- /Sources/Client/Bridging/KeypressListener.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Bridging/KeypressListener.swift -------------------------------------------------------------------------------- /Sources/Client/Bridging/URLComponents+current.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Bridging/URLComponents+current.swift -------------------------------------------------------------------------------- /Sources/Client/Bridging/WebSocket.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Bridging/WebSocket.swift -------------------------------------------------------------------------------- /Sources/Client/Game Logic/Game.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Game Logic/Game.swift -------------------------------------------------------------------------------- /Sources/Client/Game Logic/Session.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Game Logic/Session.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Common/CustomButton+Text.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Common/CustomButton+Text.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Common/CustomButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Common/CustomButton.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Common/CustomTextField.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Common/CustomTextField.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Common/StandardButtonContent.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Common/StandardButtonContent.swift -------------------------------------------------------------------------------- /Sources/Client/Views/ErrorView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/ErrorView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/GameRootView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/GameRootView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/Card/CardContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/Card/CardContentView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/Card/CardView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/Card/CardView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/Common/GameSplitView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/Common/GameSplitView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/GameView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/GameView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/States/Choosing/ChoosingView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/States/Choosing/ChoosingView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/States/Chosen/ChosenView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/States/Chosen/ChosenView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/States/Collecting/CollectingView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/States/Collecting/CollectingView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/States/Done/HighscoreListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/States/Done/HighscoreListView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/States/Freestyle/FreestyleView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/States/Freestyle/FreestyleView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/States/Initialized/InviteUserButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/States/Initialized/InviteUserButton.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Gameplay/States/Initialized/WaitingToStartView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Gameplay/States/Initialized/WaitingToStartView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Starting/ChooseActionView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Starting/ChooseActionView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Starting/GameStartView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Starting/GameStartView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Starting/JoinAGameView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Starting/JoinAGameView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Starting/NumberOfRoundsButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Starting/NumberOfRoundsButton.swift -------------------------------------------------------------------------------- /Sources/Client/Views/Game/Starting/StartANewGameView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/Game/Starting/StartANewGameView.swift -------------------------------------------------------------------------------- /Sources/Client/Views/RootView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/Views/RootView.swift -------------------------------------------------------------------------------- /Sources/Client/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Client/main.swift -------------------------------------------------------------------------------- /Sources/Deck/Deck.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Deck/Deck.swift -------------------------------------------------------------------------------- /Sources/Deck/StandardDeck.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Deck/StandardDeck.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Model/Caption.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Model/Caption.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Model/Deck.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Model/Deck.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Model/Meme.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Model/Meme.swift -------------------------------------------------------------------------------- /Sources/DeckApp/NSApplication+run.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/NSApplication+run.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Captions/CaptionListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Captions/CaptionListView.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Captions/DroppedImageViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Captions/DroppedImageViewModel.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Captions/EditCaptionView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Captions/EditCaptionView.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Memes/AddMemesFromSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Memes/AddMemesFromSource.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Memes/AddMemesModal.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Memes/AddMemesModal.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Memes/AddSingleMemeURL.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Memes/AddSingleMemeURL.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Memes/ImgflipSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Memes/ImgflipSource.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Memes/MemeImageSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Memes/MemeImageSource.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Memes/MemeListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Memes/MemeListView.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/Memes/MemeMakerSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/Memes/MemeMakerSource.swift -------------------------------------------------------------------------------- /Sources/DeckApp/Views/RootView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/Views/RootView.swift -------------------------------------------------------------------------------- /Sources/DeckApp/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/DeckApp/main.swift -------------------------------------------------------------------------------- /Sources/Events/ClientEvent.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Events/ClientEvent.swift -------------------------------------------------------------------------------- /Sources/Events/ServerSideEvent.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Events/ServerSideEvent.swift -------------------------------------------------------------------------------- /Sources/Model/Array+removeFirst.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Model/Array+removeFirst.swift -------------------------------------------------------------------------------- /Sources/Model/Card.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Model/Card.swift -------------------------------------------------------------------------------- /Sources/Model/GameError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Model/GameError.swift -------------------------------------------------------------------------------- /Sources/Model/GameID.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Model/GameID.swift -------------------------------------------------------------------------------- /Sources/Model/Player.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Model/Player.swift -------------------------------------------------------------------------------- /Sources/Model/Proposal.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Model/Proposal.swift -------------------------------------------------------------------------------- /Sources/Server/Game Logic/Game.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/Game Logic/Game.swift -------------------------------------------------------------------------------- /Sources/Server/Game Logic/Meme.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/Game Logic/Meme.swift -------------------------------------------------------------------------------- /Sources/Server/Game Logic/Model Compatibility/Player+model.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/Game Logic/Model Compatibility/Player+model.swift -------------------------------------------------------------------------------- /Sources/Server/Game Logic/Model Compatibility/Proposal+model.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/Game Logic/Model Compatibility/Proposal+model.swift -------------------------------------------------------------------------------- /Sources/Server/Game Logic/Model Compatibility/ServerSideEvent+init.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/Game Logic/Model Compatibility/ServerSideEvent+init.swift -------------------------------------------------------------------------------- /Sources/Server/Game Logic/Player.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/Game Logic/Player.swift -------------------------------------------------------------------------------- /Sources/Server/Game Logic/Proposal.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/Game Logic/Proposal.swift -------------------------------------------------------------------------------- /Sources/Server/Utils/Lock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/Utils/Lock.swift -------------------------------------------------------------------------------- /Sources/Server/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/Sources/Server/main.swift -------------------------------------------------------------------------------- /decks/main.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/decks/main.json -------------------------------------------------------------------------------- /demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nerdsupremacist/memes/HEAD/demo.png --------------------------------------------------------------------------------