Add package names to install on Trisquel
[card-game.git] / README
1 # Free Software Q&A Card Game README
2
3 ## Overview
4
5 The Free Software Q&A Card Game is a fun, interactive card game that 
6 brings together free software enthusiasts for a humorous and 
7 lighthearted experience. Inspired by the principles of software 
8 freedom, this game encourages players to explore various scenarios and 
9 questions related to free software through a playful, 
10 question-and-answer format. Designed for groups of friends, community 
11 meetups, or even as an icebreaker at conferences, this game is perfect 
12 for anyone interested in technology, ethics, and the free software 
13 movement.
14
15 ## Game Components
16
17 * Question Cards Deck: Contains various questions related to free 
18   software themes, history, hypothetical situations, and ethical 
19   dilemmas.
20
21 * Answer Cards Deck: Features a wide range of witty, insightful, and 
22   sometimes humorous answers that relate to free software principles 
23   and culture.
24
25 ## Setup
26
27 * Prepare the Decks: Shuffle the question cards and answer cards 
28   separately to ensure a random distribution of cards for each game.
29
30 * Distribute Answer Cards: Deal 5 answer cards to each player. Players 
31   should keep their answer cards hidden from other players.
32
33 ## How to Play
34
35     * Choosing the First Question Asker: Randomly pick a player to 
36       start the game as the question asker.
37     * Selecting a Question:
38         - The question asker draws the top card from the question 
39           deck.
40         - If the asker finds the question uninteresting or not funny, 
41           they may place it at the bottom of the deck and draw 
42           another until they find one they like.
43     * Answering Questions:
44         * Once a suitable question is chosen, the asker reads it aloud 
45           to all players.
46         * Each player (except the asker) selects one of their answer 
47           cards they believe best fits or humorously answers the 
48           question, placing it face down to the asker.
49     * Judging Answers:
50         * The asker shuffles the response cards to mix them up, then 
51           reads each answer aloud.
52         * The asker selects the answer they find most appropriate, 
53           funny, or clever. The player who submitted that answer 
54           receives 1 point.
55     * Next Round:
56         * The role of question asker rotates to the player on the left 
57           of the current asker.
58         * At the start of each round, before the question is asked, 
59           players who feel their answer cards are uninteresting or not 
60           funny may place any number of them at the deck's bottom and 
61           draw new ones.
62         * The game continues with players drawing new answer cards to 
63           maintain a hand of 5 cards until the deck is exhausted or 
64           for a predetermined number of rounds.
65
66 ## Winning the Game
67
68 The game can conclude in several ways, depending on the preferences 
69 of the players:
70
71     * After a set number of rounds.
72     * Once all question cards have been used.
73     * When a player reaches a certain number of points.
74
75 The player with the most points at the end of the game is declared the 
76 winner.
77
78 ## Customization
79
80 Players are encouraged to add their own questions and answers to the 
81 decks, especially those that reflect current events or specific 
82 interests within the free software community. This customization 
83 ensures that the game remains relevant, engaging, and a reflection of 
84 the community's culture and humor.
85
86 ## Contributing
87
88 This game is a community-driven project and welcomes contributions 
89 from everyone. Whether you're adding new cards, suggesting rule 
90 modifications, or translating the game into other languages, your 
91 input helps enrich the experience for all.
92
93 ## Game License
94
95 The Free Software Q&A Card Game question and answer files, as well as 
96 this README, are licensed under your choice of:
97
98 * The Creative Commons Attribution-ShareAlike 4.0 International 
99   license: https://creativecommons.org/licenses/by-sa/4.0/
100
101 * The GNU General Public License as published by the Free Software 
102   Foundation, either version 3 of the License, or (at your option) any 
103   later version.
104
105 # Card Generation Program
106
107 ## Overview
108
109 The Card Generation Program is designed to read questions and answers 
110 from separate files and generate cards for each entry. These cards are 
111 then laid out on PDFs for easy printing and later cutting. The program 
112 creates two PDFs: one for questions, with a black background and white 
113 text, and another for answers, with a white background and black text.
114
115 ## Features
116
117     * Reads questions and answers from separate text files.
118     * Generates poker-sized cards for each question and answer.
119     * Supports custom paper sizes for PDF generation.
120     * Differentiates question and answer cards through color coding.
121     * Fits as many cards as possible onto each page of the PDF to 
122       conserve paper.
123
124 ## Requirements
125
126     * Python 3.x
127     * reportlab library
128
129 ## Installation
130
131 Before running the program, ensure you have Python 3.x installed on 
132 your system. You will also need the reportlab library for PDF 
133 generation. On systems such as Trisquel GNU/Linux these can be 
134 installed with:
135
136     apt install python3 python-is-python3 python3-reportlab
137
138 ## Usage
139
140     * Prepare Input Files: Create two text files named questions 
141       and answers. Each line in these files should contain a question 
142       or an answer, respectively.
143
144     * Run the Program: Execute the script with Python. No command line 
145       arguments are needed:
146
147         python card_generator.py
148
149     Output: The program generates two PDFs:
150         - question_cards.pdf: Contains all the questions, each on a 
151           separate card.
152         - answer_cards.pdf: Contains all the answers, each on a 
153           separate card.
154
155 ## Customization
156
157     * Paper Size: To change the paper size, modify the paper_width 
158       and paper_height variables in the script according to your 
159       needs.
160     * Card Size: To adjust the card size, change the card_width and 
161       card_height variables.
162     * Font and Text Size: Adjust the setFont call in the create_pdf 
163       function to change the font and size of the text on the cards.
164
165 ## Contributing
166
167 Contributions are welcome! If you have suggestions for improvements or 
168 bug fixes, please feel free to share them.
169
170 ## License
171
172 The Card Generation Program is free software: you can redistribute it 
173 and/or modify it under the terms of the GNU General Public License as 
174 published by the Free Software Foundation, either version 3 of the 
175 License, or (at your option) any later version.