From 7b28a8614c2eba388d1991327fff0c9d464c644e Mon Sep 17 00:00:00 2001 From: Nathan Anderson Date: Mon, 8 Jul 2024 12:13:25 -0600 Subject: [PATCH] Added exercise and readme --- Code Exercise.pdf | Bin 0 -> 45654 bytes README.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 Code Exercise.pdf create mode 100644 README.md diff --git a/Code Exercise.pdf b/Code Exercise.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d19cb3c4bf9390cf6901bdcf36edc50d41322214 GIT binary patch literal 45654 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 s Hearts > Clubs > Diamonds +Face Values: 2 > 10 > Jack > Queen > King > Ace +``` +Two of Spades is on top, Ace of Diamonds is at the bottom. + +Source code location where the routes are defined: [here](https://git.fosscat.com/n8r/genius_deck/src/commit/653b309825d2f3d9687126536c70a9124fceaf3b/src/main.zig#L67) + +Permitted operations are as follows: + +### GET `/deal` +Takes the top card off the deck and returns it as json + +### GET `/cheat` +Peaks at the top card of the deck and returns it as json + +### POST `/discard` +Discards a card previously dealt +Expects data in json in the form +```json +{ + "face_value": "Seven", + "suite": "Spades" +} +``` + +### POST `/cut` +Cuts the deck at the index provided, either as query params (`/cut?index=10`) or json +```json +{ + "index": 10 +} +``` + +### POST `/rebuild` +Puts the discard pile back into the deck and sorts the resulting deck + +### POST `/sort` +Orders the deck in the default sort order (see [Specification](#Specification)) + +### POST `/shuffle` +Shuffles the current deck of cards in random order + +## Running + +You can navigate to the releases to download a prebuilt binary for your platform, or you can run it locally +yourself with Zig. + +You will need to download Zig 0.13.0 from Zig's [releases page](https://ziglang.org/download/), or from your +package manager. If you use Nix flakes, a working config with direnv is already present in the repository. + +### Deck Method Tests + +The tests can be run with Zig by running the following command in the root of the project: + +```sh +zig test src/deck.zig +```