{"id":26643040,"url":"https://github.com/r3w0p/caravan","last_synced_at":"2025-04-10T22:39:37.165Z","repository":{"id":98878356,"uuid":"549070587","full_name":"r3w0p/caravan","owner":"r3w0p","description":"A command-line version of the Caravan card game from Fallout: New Vegas.","archived":false,"fork":false,"pushed_at":"2025-01-23T23:31:04.000Z","size":1546,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T13:04:06.409Z","etag":null,"topics":["caravan","card-game","cli","cmake","command-line","cpp","cxx","fallout","fallout-new-vegas","ftxui","game","new-vegas","tui"],"latest_commit_sha":null,"homepage":"https://github.com/r3w0p/caravan/wiki","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r3w0p.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"r3w0p"}},"created_at":"2022-10-10T16:18:43.000Z","updated_at":"2025-02-13T01:48:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9a47287-dcca-4733-983e-874629d4bef2","html_url":"https://github.com/r3w0p/caravan","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3w0p%2Fcaravan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3w0p%2Fcaravan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3w0p%2Fcaravan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3w0p%2Fcaravan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r3w0p","download_url":"https://codeload.github.com/r3w0p/caravan/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248312176,"owners_count":21082637,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caravan","card-game","cli","cmake","command-line","cpp","cxx","fallout","fallout-new-vegas","ftxui","game","new-vegas","tui"],"created_at":"2025-03-24T19:29:52.911Z","updated_at":"2025-04-10T22:39:37.142Z","avatar_url":"https://github.com/r3w0p.png","language":"C++","readme":"  ___ __ _ _ __ __ ___    ____ _ _ __\n / __/ _` | '__/ _` \\ \\  / / _` | '_ \\ \n| (_| (_| | | | (_| |\\ \\/ / (_| | | | |\n \\___\\__,_|_|  \\__,_| \\__/ \\__,_|_| |_|\n\n| v1.2.1 | GPL-3.0 | (c) 2022-2024 r3w0p |\n\nA command-line version of the Caravan card game from Fallout: New Vegas.\n\n\n===========\nHOW TO PLAY\n===========\n\nCaravan is played with two players building three opposing piles (or \"caravans\")\nof numeral cards (A-10). The goal is to outbid your opponent's caravan with the\nhighest value of cards without being too light (\u003c 21) or overburdened (\u003e 26).\nEach player has a deck of cards consisting of at least 30 cards from one of more\ntraditional playing card sets (i.e., a standard 52-card deck and 2 JOKERs).\n\nOne player controls caravans A, B, and C. The other player controls caravans D,\nE, and F. Caravan A competes against D; B competes against E; and C competes\nagainst F.\n\nThe game begins with each player taking 8 cards from their deck and placing\none numeral card on each caravan; an opening hand must have at least 3 numeral\ncards in it. Players may not discard any cards from their hand, clear any\ncaravans, or pick up any cards from their decks during this starting phase.\n\nOnce both players have started their 3 caravans, each of their decks will now\nhave 5 cards in it. Players must always replenish their hand to 5 cards after\nany move made if they have any cards left in their deck. If a player's last move\ndoes not win them the game, then they lose by running out of cards. On each\nplayer's turn, they may do one of the following:\n\n1. Play a numeral card onto an empty space in a caravan, or play a face card\n   (JACK, QUEEN, KING, JOKER) onto a numeral card in a caravan;\n2. Discard one card from their hand; or\n3. Clear one of their caravans by removing all cards from that pile.\n\nCaravans have a direction, either ascending or descending numerically, and a\nsuit. The suit is determined with the first card placed on a caravan, the\ndirection by the second. All subsequent cards must continue the numerical\ndirection or match the suit of the previous card. Cards of the same numeral\nvalue cannot be played in sequence, regardless of suit.\n\nA numeral card must be played onto a player's own caravan. A face card can be\nplayed on any card in any caravan. Face cards affect gameplay in various ways,\nas follows.\n\nCARD VALUES\n\nJACK  Played against A-10. Removes that card along with its face cards.\nQUEEN Played against A-10. Reverses the direction of the caravan and changes its\n      suit. Multiple QUEENs may be played onto the same card.\nKING  Played against A-10. Adds the value of that card again.\n      Multiple KINGs may be played on the same card for multiplicative effects.\n      For example, 4 + (1 KING) = 8 and 4 + (2 KINGs) = 16.\nJOKER Played against A-10. Effects change based on whether it is an ACE or other\n      numeral card (see below). Multiple JOKERs may be played on the same card.\nACE   Value of 1. JOKER played on ACE remove all other non-face cards of\n      the ACE's suit from the table.\n      For example, a JOKER played on the ACE of SPADES removes all SPADES\n      (except face cards and the numeral card it was placed on) from the table.\n2-10  Listed value. JOKERs played on these remove all other cards of this\n      value from the table.\n      For example, a JOKER played on a 4 removes all 4s (except the numeral\n      card it was placed on) from the table, regardless of suit.\n\n\"POWER'S RULES\"\n\nAdditional rules have been added to this implementation in order to make it more\nappropriate for the command line, and also to make gameplay more balanced. These\nare as follows.\n\n1. Each caravan can have, at most, 8 numeral cards on it.\n2. Each numeral card can have, at most, 3 face cards on it.\n3. A caravan deck must consist of between 30 to 162 cards (inclusive) sampled\n   from 1 to 3 traditional card decks (inclusive).\n\n\n========\nCONTROLS\n========\n\nEach card in your hand has a number to the left of it, which indicates the\nnumber you need to enter if you want to PLAY or DISCARD that card. Similarly,\neach numeral card in every caravan also has a number to the left of it, which\ncan be used to PLAY a face card onto it and also indicates its position in the\ncaravan's card stack.\n\nOn your turn, you must enter a command that indicates whether you want to PLAY a\ncard from your hand, DISCARD a card from your hand, or CLEAR all cards from one\nof your caravans; commands are not case sensitive. After you have entered your\ncommand, press Enter to confirm. If there is a problem with your command, useful\ninformation will appear in-game to help you.\n\nTo PLAY a numeral card, type 'P', then the number for the card in your hand that\nyou want to play, then the caravan name. For example, to PLAY card 2 from your\nhand onto caravan B:\n\n    \u003e P2B\n\nTo PLAY a face card, you must additionally specify the position of the numeral\ncard in the caravan you are targeting. For example, to PLAY card 4 from your\nhand onto the numeral at position 3 in caravan F:\n\n    \u003e P4F3\n\nTo DISCARD a card, type 'D', then the number for the card in your hand that you\nwant to play. For example, to DISCARD card 3 from your hand:\n\n    \u003e D3\n\nTo CLEAR one of your caravans, type 'C', then the name of the caravan that you\nwant to clear. For example, to CLEAR caravan A:\n\n    \u003e CA\n\nTo exit the game, press Escape.\n","funding_links":["https://ko-fi.com/r3w0p"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3w0p%2Fcaravan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr3w0p%2Fcaravan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3w0p%2Fcaravan/lists"}