Add initial work on the game
[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         * The game continues with players drawing new answer cards to 
59           maintain a hand of 5 cards until the deck is exhausted or 
60           for a predetermined number of rounds.
61
62 ## Winning the Game
63
64 The game can conclude in several ways, depending on the preferences 
65 of the players:
66
67     * After a set number of rounds.
68     * Once all question cards have been used.
69     * When a player reaches a certain number of points.
70
71 The player with the most points at the end of the game is declared the 
72 winner.
73
74 ## Customization
75
76 Players are encouraged to add their own questions and answers to the 
77 decks, especially those that reflect current events or specific 
78 interests within the free software community. This customization 
79 ensures that the game remains relevant, engaging, and a reflection of 
80 the community's culture and humor.
81
82 ## Contributing
83
84 This game is a community-driven project and welcomes contributions 
85 from everyone. Whether you're adding new cards, suggesting rule 
86 modifications, or translating the game into other languages, your 
87 input helps enrich the experience for all.
88
89 ## Game License
90
91 The Free Software Q&A Card Game question and answer files, as well as 
92 this README, are licensed under the Creative Commons 
93 Attribution-ShareAlike 4.0 International license: 
94 https://creativecommons.org/licenses/by-sa/4.0/
95
96 # Card Generation Program
97
98 ## Overview
99
100 The Card Generation Program is designed to read questions and answers 
101 from separate iles and generate cards for each entry. These cards are 
102 then laid out on PDFs for easy printing and later cutting. The program 
103 creates two PDFs: one for questions, with a black background and white 
104 text, and another for answers, with a white background and black text.
105
106 ## Features
107
108     * Reads questions and answers from separate text files.
109     * Generates poker-sized cards for each question and answer.
110     * Supports custom paper sizes for PDF generation.
111     * Differentiates question and answer cards through color coding.
112     * Fits as many cards as possible onto each page of the PDF to 
113       conserve paper.
114
115 ## Requirements
116
117     * Python 3.x
118     * reportlab library
119
120 ## Installation
121
122 Before running the program, ensure you have Python 3.x installed on 
123 your system. You will also need the reportlab library for PDF 
124 generation.
125
126 ## Usage
127
128     * Prepare Input Files: Create two text files named questions 
129       and answers. Each line in these files should contain a question 
130       or an answer, respectively.
131
132     * Run the Program: Execute the script with Python. No command line 
133       arguments are needed:
134
135         python card_generator.py
136
137     Output: The program generates two PDFs:
138         - question_cards.pdf: Contains all the questions, each on a 
139           separate card.
140         - answer_cards.pdf: Contains all the answers, each on a 
141           separate card.
142
143 ## Customization
144
145     * Paper Size: To change the paper size, modify the paper_width 
146       and paper_height variables in the script according to your 
147       needs.
148     * Card Size: To adjust the card size, change the card_width and 
149       card_height variables.
150     * Font and Text Size: Adjust the setFont call in the create_pdf 
151       function to change the font and size of the text on the cards.
152
153 ## Contributing
154
155 Contributions are welcome! If you have suggestions for improvements or 
156 bug fixes, please feel free to share them.
157
158 ## License
159
160 The Card Generation Program is free software: you can redistribute it 
161 and/or modify it under the terms of the GNU General Public License as 
162 published by the Free Software Foundation, either version 3 of the 
163 License, or (at your option) any later version.