/***************************************************************************** * ___ __ __ ___ _ __ * * / _ \\ \/ // _ \ '_ \ * * | (_) |> <| __/ | | | * * \___//_/\_\\___|_| |_| * * * * The card game * * * * Copyright (C) 2011, Reiner Herrmann * * Mario Kilies * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 3 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * * * *****************************************************************************/ #include "manual.h" #include #include static const char* manual_text = "Oxen is a multiplayer card game for up to 10 players.\n\n" " HOW TO START (see also 'oxen -h'):\n\n" " One player has to host the game and needs to specify '-l' to start\n" " a server on the specified port ('-p port', default is 12345).\n" " It will wait for the specified number of clients ('-n num') to connect\n" " before starting the game. After the server is listening, a local client\n" " will automatically be started and connected to it.\n" " When it is running, other players can connect to it by specifying its\n" " hostname or IP address ('-s address') and port number (if different to\n" " default).\n" " Players can set their nickname with '-u name' or by setting the USER\n" " environment variable.\n\n" " HOW TO PLAY:\n\n" " Oxen is inspired by the card game known as \"Take 6\" or \"6 nimmt!\".\n" " It consists of a main stack with cards numbered from 1 to 104 and of 4 open\n" " table stacks that grow every round, but must not get larger than 5 cards.\n\n" " At the beginning of the game the main stack is shuffled and 4 cards are\n" " drawn which start 4 new table stacks. Then the first round starts.\n\n" " In every round each player is dealt 10 cards (or less if there are not\n" " enough cards in the main stack, but the minimum is one card).\n" " Each player chooses one card he wants to put on a table stack. When each\n" " player has selected his card, the cards are revealed to all other players\n" " and will then automatically be placed on a table stack depending on their\n" " values (in ascending order; smallest card will be placed first).\n\n" " A selected card will be placed on a stack where the top card's number is\n" " lower than the selected card's number. If there are multiple stacks with\n" " lower top cards, the one with the smallest difference to the selected card\n" " has to be used.\n\n" " If a stack would contain 6 cards after placing a card on it, the player who\n" " chose the card has to replace the stack with his chosen card and add the\n" " number of diamonds of all the cards within the replaced stack to his score\n" " (therefore the name \"Take 6\" or \"6 nimmt\").\n\n" " If a card can not be placed on any table stack (because its number is lower\n" " than the top cards numbers of all stacks), the player can create a new\n" " stack with his chosen card by selecting a table stack and add its cards\n" " diamonds to his score. After placing the cards of all players, the next\n" " turn begins where the players select their cards.\n\n" " When no hand cards are left, new cards are dealt from the main stack.\n" " The game ends when no more cards can be dealt to the players.\n" " The player with the lowest score (negative points) has won.\n" "\n"; /** * Print manual on stdout */ void print_manual(void) { printf("%s", manual_text); exit(EXIT_SUCCESS); }