├── .gitignore ├── _config.yml ├── card-maker ├── start.sh ├── Hccd.jar ├── README.md ├── 03_titles │ ├── card.html │ ├── card.css │ ├── card.csv │ └── card-GENERATED.html ├── 02_border_only │ ├── card.html │ ├── card.css │ ├── card.csv │ └── card-GENERATED.html ├── 04_french │ ├── card.html │ ├── card.css │ └── card.csv └── 01_ourdeck │ ├── card.html │ ├── card.css │ └── card.csv ├── images ├── rules.png ├── star.jpeg ├── star.jpg ├── star.png ├── card-a.jpeg ├── card-b.jpeg ├── card-pr.jpeg ├── github.png ├── printme.png ├── card-loop.jpeg ├── card-mob.jpeg ├── card-pair.jpeg ├── cards-v2.jpeg ├── banner-star.jpg ├── board-cards.jpeg ├── board-setup.jpeg ├── board-values.jpeg ├── card-freeze.jpeg ├── card-legacy.jpeg ├── card-memory.jpeg ├── pull-request.gif ├── variables-war.png ├── board-attacks.jpeg ├── card-firewall.jpeg ├── card-increment.jpeg ├── card-rollback.jpeg ├── card-freeze-var.jpeg ├── GitHub-pages.svg ├── read-rules-yellow.svg ├── Contribure-here-blue.svg └── Download-me-for free.svg ├── CreateTheme.md ├── GameRules.md ├── CardsDescription.md ├── README.md └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.r1 3 | .idea -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-architect -------------------------------------------------------------------------------- /card-maker/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | java -jar ./Hccd.jar 4 | -------------------------------------------------------------------------------- /images/rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/rules.png -------------------------------------------------------------------------------- /images/star.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/star.jpeg -------------------------------------------------------------------------------- /images/star.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/star.jpg -------------------------------------------------------------------------------- /images/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/star.png -------------------------------------------------------------------------------- /card-maker/Hccd.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/card-maker/Hccd.jar -------------------------------------------------------------------------------- /images/card-a.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-a.jpeg -------------------------------------------------------------------------------- /images/card-b.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-b.jpeg -------------------------------------------------------------------------------- /images/card-pr.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-pr.jpeg -------------------------------------------------------------------------------- /images/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/github.png -------------------------------------------------------------------------------- /images/printme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/printme.png -------------------------------------------------------------------------------- /images/card-loop.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-loop.jpeg -------------------------------------------------------------------------------- /images/card-mob.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-mob.jpeg -------------------------------------------------------------------------------- /images/card-pair.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-pair.jpeg -------------------------------------------------------------------------------- /images/cards-v2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/cards-v2.jpeg -------------------------------------------------------------------------------- /images/banner-star.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/banner-star.jpg -------------------------------------------------------------------------------- /images/board-cards.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/board-cards.jpeg -------------------------------------------------------------------------------- /images/board-setup.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/board-setup.jpeg -------------------------------------------------------------------------------- /images/board-values.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/board-values.jpeg -------------------------------------------------------------------------------- /images/card-freeze.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-freeze.jpeg -------------------------------------------------------------------------------- /images/card-legacy.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-legacy.jpeg -------------------------------------------------------------------------------- /images/card-memory.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-memory.jpeg -------------------------------------------------------------------------------- /images/pull-request.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/pull-request.gif -------------------------------------------------------------------------------- /images/variables-war.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/variables-war.png -------------------------------------------------------------------------------- /images/board-attacks.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/board-attacks.jpeg -------------------------------------------------------------------------------- /images/card-firewall.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-firewall.jpeg -------------------------------------------------------------------------------- /images/card-increment.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-increment.jpeg -------------------------------------------------------------------------------- /images/card-rollback.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-rollback.jpeg -------------------------------------------------------------------------------- /images/card-freeze-var.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kids-code-games/variables-war/HEAD/images/card-freeze-var.jpeg -------------------------------------------------------------------------------- /card-maker/README.md: -------------------------------------------------------------------------------- 1 | # This directory contains a tool to generate HTML cards. 2 | 3 | Use ./start.sh to start it. 4 | 5 | The used tool is https://github.com/vaemendis/hccd 6 | -------------------------------------------------------------------------------- /images/GitHub-pages.svg: -------------------------------------------------------------------------------- 1 | GitHubGitHubpagespages -------------------------------------------------------------------------------- /images/read-rules-yellow.svg: -------------------------------------------------------------------------------- 1 | readreadrulesrules -------------------------------------------------------------------------------- /images/Contribure-here-blue.svg: -------------------------------------------------------------------------------- 1 | ContribureContribureherehere -------------------------------------------------------------------------------- /images/Download-me-for free.svg: -------------------------------------------------------------------------------- 1 | Download meDownload mefor free!for free! -------------------------------------------------------------------------------- /CreateTheme.md: -------------------------------------------------------------------------------- 1 | # How to create a theme 2 | 3 | ### Create a custom theme 4 | 5 | 6 | To create a theme we provide a [simple utility tool coming](https://github.com/vaemendis/hccd). 7 | We included the jar in the [card-maker directory](https://github.com/kids-code-games/variables-war/tree/master/card-maker) not to have to manage different version of the tool. 8 | 9 | - copy paste one of the directories under card-marker and give it a new name 10 | - this directory should contain few files: cards.css cards.csv cards.html 11 | - to generate the web page, launch the utility jar: java -jar ./Hccd.jar 12 | - using the 'open' button, select the HTML file of your newly created folder 13 | 14 | Alternatively, you can any other runtime to generate cards, the only requirement is to provide everything we need to update the deck by ourself. 15 | 16 | ### How to public a theme 17 | 18 | As simple as the other contributions, do a pull request :) 19 | 20 |
21 | Variables War Card Game 22 |
23 | -------------------------------------------------------------------------------- /card-maker/03_titles/card.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 21 | 22 |
23 |

{{title}}

24 |
25 | 26 |
27 |
{{code}}
28 |
{{description}}
29 |
{{comment}}
30 |
31 | 32 | 36 | 37 | 38 |
39 | 40 | 41 | -------------------------------------------------------------------------------- /card-maker/02_border_only/card.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 21 | 22 |
23 |

{{title}}

24 |
25 | 26 |
27 |
{{code}}
28 |
{{description}}
29 |
{{comment}}
30 |
31 | 32 | 36 | 37 | 38 |
39 | 40 | 41 | -------------------------------------------------------------------------------- /card-maker/04_french/card.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 21 | 22 |
23 |

Variable

24 |
25 |
26 |

{{title}}

27 |
28 | 29 |
30 |
{{code}}
31 |
{{description}}
32 |
{{comment}}
33 |
34 | 35 | 39 | 40 | 41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /card-maker/01_ourdeck/card.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 21 | 22 |
23 |

Variable

24 |
25 |
26 |

{{title}}

27 |
28 | 29 |
30 |
{{code}}
31 |
{{description}}
32 |
{{comment}}
33 |
34 | 35 | 39 | 40 | 41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /card-maker/03_titles/card.css: -------------------------------------------------------------------------------- 1 | .card { 2 | margin: 0.5mm; 3 | border-style: solid; 4 | border-width: 0.8mm; 5 | border-color: black; 6 | border-radius: 3mm; 7 | width: 63mm; 8 | height: 88mm; 9 | } 10 | 11 | header, section, footer { 12 | text-align: center; 13 | padding-left: 10px; 14 | padding-right: 10px; 15 | margin: 0; 16 | font-size: 0.8em; 17 | font-family: Arial, Helvetica, sans-serif; 18 | } 19 | header { 20 | min-height: 20%; 21 | font-size: 0.7em; 22 | } 23 | section { 24 | min-height: 55%; 25 | width: 83%; 26 | font-size: 1.4em; 27 | display: inline-block; 28 | padding-left: 20px; 29 | padding-right: 20px; 30 | } 31 | footer { 32 | min-height: 25%; 33 | } 34 | 35 | .mycode { 36 | line-height: 20px; 37 | text-align: left; 38 | font-family: monospace; 39 | font-size: 0.9em; 40 | margin: 0 0 30px; 41 | opacity: 0.85; 42 | } 43 | .simpleCode { 44 | margin-top: 20px; 45 | text-align: center; 46 | } 47 | .description { 48 | display: inline-block; 49 | vertical-align: middle; 50 | font-size: 0.8em; 51 | line-height: 30px; 52 | margin:0; 53 | } 54 | .or { 55 | font-size: 0.8em; 56 | font-family: Arial, Helvetica, sans-serif; 57 | text-align: center; 58 | opacity: 0.75; 59 | } 60 | .comment { 61 | padding-top: 30px; 62 | font-style: italic; 63 | opacity: 0.8; 64 | font-size: 0.75em; 65 | line-height: 20px; 66 | } 67 | .link { 68 | font-size: 0.7em; 69 | } 70 | 71 | /* card types */ 72 | 73 | .attack { 74 | //background-color: #f07724; 75 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 40%), url(img/attack.png); 76 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 25%); 77 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 25%); 78 | background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #ff570c 25%); 79 | color: #f4f4f4; 80 | } 81 | .defense { 82 | //background-color: #07a050; 83 | //background: linear-gradient(-45deg, rgba(7, 160, 80, 0.7) 0%, #07a050 25%); 84 | background: linear-gradient(-45deg, rgba(7, 160, 80, 0.7) 0%, #07a050 25%); 85 | color: #f4f4f4; 86 | } 87 | .bonus { 88 | //background-color: #008bd6; 89 | background: linear-gradient(-45deg, rgba(0, 139, 214, 0.7) 0%, #008bd6 25%); 90 | //background: linear-gradient(-45deg, #135589 0%, #2A93D5 25%); 91 | color: #f4f4f4; 92 | } 93 | .value { 94 | //background-color: #e8e946; 95 | background: linear-gradient(-45deg, rgba(232, 233, 70, 0.7) 0%, #e8e946 25%); 96 | color: #3c3c3c; 97 | } 98 | 99 | 100 | 101 | /* pictos */ 102 | 103 | .vars { 104 | font-size: 3em; 105 | width: 40%; 106 | float: left; 107 | } 108 | .rounds { 109 | margin-top: 5px; 110 | font-size: 2em; 111 | width: 40%; 112 | float: right; 113 | } 114 | -------------------------------------------------------------------------------- /card-maker/02_border_only/card.css: -------------------------------------------------------------------------------- 1 | .card { 2 | margin: 1.2mm; 3 | border-style: solid; 4 | border-width: 3.5mm; 5 | border-color: red; 6 | border-radius: 3mm; 7 | width: 63mm; 8 | height: 88mm; 9 | //outline: 5px solid #fff; 10 | //outline-offset: -10px; 11 | box-shadow: 0 0 0 0.8mm black; 12 | } 13 | 14 | header, section, footer { 15 | text-align: center; 16 | padding-left: 10px; 17 | padding-right: 10px; 18 | margin: 0; 19 | font-size: 0.8em; 20 | font-family: Arial, Helvetica, sans-serif; 21 | } 22 | header { 23 | min-height: 20%; 24 | font-size: 0.7em; 25 | } 26 | section { 27 | min-height: 55%; 28 | width: 83%; 29 | font-size: 1.4em; 30 | display: inline-block; 31 | padding-left: 20px; 32 | padding-right: 20px; 33 | } 34 | footer { 35 | min-height: 25%; 36 | } 37 | 38 | .mycode { 39 | line-height: 20px; 40 | text-align: left; 41 | font-family: monospace; 42 | font-size: 0.9em; 43 | margin: 0 0 30px; 44 | opacity: 0.85; 45 | } 46 | .simpleCode { 47 | margin-top: 20px; 48 | text-align: center; 49 | } 50 | .description { 51 | display: inline-block; 52 | vertical-align: middle; 53 | font-size: 0.8em; 54 | line-height: 30px; 55 | margin:0; 56 | } 57 | .or { 58 | font-size: 0.8em; 59 | font-family: Arial, Helvetica, sans-serif; 60 | text-align: center; 61 | opacity: 0.75; 62 | } 63 | .comment { 64 | padding-top: 30px; 65 | font-style: italic; 66 | opacity: 0.8; 67 | font-size: 0.75em; 68 | line-height: 20px; 69 | } 70 | .link { 71 | font-size: 0.7em; 72 | } 73 | 74 | /* card types */ 75 | 76 | .attack { 77 | //background-color: #f07724; 78 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 40%), url(img/attack.png); 79 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 25%); 80 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 25%); 81 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #ff570c 25%); 82 | border-color: #ff570c; 83 | color: #3c3c3c; 84 | } 85 | .defense { 86 | //background-color: #07a050; 87 | //background: linear-gradient(-45deg, rgba(7, 160, 80, 0.7) 0%, #07a050 25%); 88 | //background: linear-gradient(-45deg, rgba(7, 160, 80, 0.7) 0%, #07a050 25%); 89 | border-color: #07a050; 90 | color: #3c3c3c; 91 | } 92 | .bonus { 93 | //background-color: #008bd6; 94 | //background: linear-gradient(-45deg, #135589 0%, #2A93D5 25%); 95 | //background: linear-gradient(-45deg, rgba(0, 139, 214, 0.7) 0%, #008bd6 25%); 96 | border-color: #008bd6; 97 | color: #3c3c3c; 98 | } 99 | .value { 100 | //background-color: #e8e946; 101 | //background: linear-gradient(-45deg, rgba(232, 233, 70, 0.7) 0%, #e8e946 25%); 102 | border-color: #e8e946; 103 | color: #3c3c3c; 104 | } 105 | 106 | 107 | 108 | /* pictos */ 109 | 110 | .vars { 111 | font-size: 3em; 112 | width: 40%; 113 | float: left; 114 | } 115 | .rounds { 116 | margin-top: 5px; 117 | font-size: 2em; 118 | width: 40%; 119 | float: right; 120 | } 121 | -------------------------------------------------------------------------------- /card-maker/01_ourdeck/card.css: -------------------------------------------------------------------------------- 1 | .card { 2 | margin: 0.5mm; 3 | border-style: solid; 4 | border-width: 0.8mm; 5 | border-color: black; 6 | border-radius: 3mm; 7 | width: 63mm; 8 | height: 88mm; 9 | } 10 | 11 | header, section, footer { 12 | text-align: center; 13 | padding-left: 10px; 14 | padding-right: 10px; 15 | margin: 0; 16 | font-size: 0.8em; 17 | font-family: Arial, Helvetica, sans-serif; 18 | } 19 | header { 20 | min-height: 20%; 21 | font-size: 0.7em; 22 | } 23 | section { 24 | min-height: 55%; 25 | width: 83%; 26 | font-size: 1.4em; 27 | display: inline-block; 28 | padding-left: 20px; 29 | padding-right: 20px; 30 | } 31 | footer { 32 | min-height: 25%; 33 | } 34 | 35 | .mycode { 36 | line-height: 20px; 37 | text-align: left; 38 | font-family: monospace; 39 | font-size: 0.9em; 40 | margin: 0 0 30px; 41 | opacity: 0.85; 42 | } 43 | .simpleCode { 44 | margin-top: 20px; 45 | text-align: center; 46 | } 47 | .description { 48 | display: inline-block; 49 | vertical-align: middle; 50 | font-size: 0.8em; 51 | line-height: 30px; 52 | margin:0; 53 | } 54 | .or { 55 | font-size: 0.8em; 56 | font-family: Arial, Helvetica, sans-serif; 57 | text-align: center; 58 | opacity: 0.75; 59 | } 60 | .comment { 61 | padding-top: 30px; 62 | font-style: italic; 63 | opacity: 0.8; 64 | font-size: 0.75em; 65 | line-height: 20px; 66 | } 67 | .link { 68 | font-size: 0.7em; 69 | } 70 | 71 | /* card types */ 72 | 73 | .attack { 74 | //background-color: #f07724; 75 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 40%), url(img/attack.png); 76 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 25%); 77 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 25%); 78 | background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #ff570c 25%); 79 | color: #f4f4f4; 80 | } 81 | .defense { 82 | //background-color: #07a050; 83 | //background: linear-gradient(-45deg, rgba(7, 160, 80, 0.7) 0%, #07a050 25%); 84 | background: linear-gradient(-45deg, rgba(7, 160, 80, 0.7) 0%, #07a050 25%); 85 | color: #f4f4f4; 86 | } 87 | .bonus { 88 | //background-color: #008bd6; 89 | background: linear-gradient(-45deg, rgba(0, 139, 214, 0.7) 0%, #008bd6 25%); 90 | //background: linear-gradient(-45deg, #135589 0%, #2A93D5 25%); 91 | color: #f4f4f4; 92 | } 93 | .value { 94 | //background-color: #e8e946; 95 | background: linear-gradient(-45deg, rgba(232, 233, 70, 0.7) 0%, #e8e946 25%); 96 | color: #3c3c3c; 97 | } 98 | 99 | .varLabel { 100 | display: none; 101 | } 102 | .other .varLabel { 103 | display: block; 104 | padding-top: 30px; 105 | font-size: 0.8em; 106 | } 107 | .other .varValue { 108 | padding-top: 0px; 109 | font-size: 2em; 110 | } 111 | .other section { 112 | font-size: 0; 113 | max-height: 0; 114 | display: none; 115 | } 116 | 117 | 118 | /* pictos */ 119 | 120 | .vars { 121 | font-size: 3em; 122 | width: 40%; 123 | float: left; 124 | } 125 | .rounds { 126 | margin-top: 5px; 127 | font-size: 2em; 128 | width: 40%; 129 | float: right; 130 | } 131 | -------------------------------------------------------------------------------- /card-maker/04_french/card.css: -------------------------------------------------------------------------------- 1 | .card { 2 | margin: 0.5mm; 3 | border-style: solid; 4 | border-width: 0.8mm; 5 | border-color: black; 6 | border-radius: 3mm; 7 | width: 63mm; 8 | height: 88mm; 9 | } 10 | 11 | header, section, footer { 12 | text-align: center; 13 | padding-left: 10px; 14 | padding-right: 10px; 15 | margin: 0; 16 | font-size: 0.8em; 17 | font-family: Arial, Helvetica, sans-serif; 18 | } 19 | header { 20 | min-height: 20%; 21 | font-size: 0.7em; 22 | } 23 | section { 24 | min-height: 55%; 25 | width: 83%; 26 | font-size: 1.4em; 27 | display: inline-block; 28 | padding-left: 20px; 29 | padding-right: 20px; 30 | } 31 | footer { 32 | min-height: 25%; 33 | } 34 | 35 | .mycode { 36 | line-height: 20px; 37 | text-align: left; 38 | font-family: monospace; 39 | font-size: 0.9em; 40 | margin: 0 0 30px; 41 | opacity: 0.85; 42 | } 43 | .simpleCode { 44 | margin-top: 20px; 45 | text-align: center; 46 | } 47 | .description { 48 | display: inline-block; 49 | vertical-align: middle; 50 | font-size: 0.8em; 51 | line-height: 30px; 52 | margin:0; 53 | } 54 | .or { 55 | font-size: 0.8em; 56 | font-family: Arial, Helvetica, sans-serif; 57 | text-align: center; 58 | opacity: 0.75; 59 | } 60 | .comment { 61 | padding-top: 30px; 62 | font-style: italic; 63 | opacity: 0.8; 64 | font-size: 0.75em; 65 | line-height: 20px; 66 | } 67 | .link { 68 | font-size: 0.7em; 69 | } 70 | 71 | /* card types */ 72 | 73 | .attack { 74 | //background-color: #f07724; 75 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 40%), url(img/attack.png); 76 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 25%); 77 | //background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #f06528 25%); 78 | background: linear-gradient(-45deg, rgba(240, 101, 40, 0.71) 0%, #ff570c 25%); 79 | color: #f4f4f4; 80 | } 81 | .defense { 82 | //background-color: #07a050; 83 | //background: linear-gradient(-45deg, rgba(7, 160, 80, 0.7) 0%, #07a050 25%); 84 | background: linear-gradient(-45deg, rgba(7, 160, 80, 0.7) 0%, #07a050 25%); 85 | color: #f4f4f4; 86 | } 87 | .bonus { 88 | //background-color: #008bd6; 89 | background: linear-gradient(-45deg, rgba(0, 139, 214, 0.7) 0%, #008bd6 25%); 90 | //background: linear-gradient(-45deg, #135589 0%, #2A93D5 25%); 91 | color: #f4f4f4; 92 | } 93 | .value { 94 | //background-color: #e8e946; 95 | background: linear-gradient(-45deg, rgba(232, 233, 70, 0.7) 0%, #e8e946 25%); 96 | color: #3c3c3c; 97 | } 98 | 99 | .varLabel { 100 | display: none; 101 | } 102 | .other .varLabel { 103 | display: block; 104 | padding-top: 30px; 105 | font-size: 0.8em; 106 | } 107 | .other .varValue { 108 | padding-top: 0px; 109 | font-size: 2em; 110 | } 111 | .other section { 112 | font-size: 0; 113 | max-height: 0; 114 | display: none; 115 | } 116 | 117 | 118 | /* pictos */ 119 | 120 | .vars { 121 | font-size: 3em; 122 | width: 40%; 123 | float: left; 124 | } 125 | .rounds { 126 | margin-top: 5px; 127 | font-size: 2em; 128 | width: 40%; 129 | float: right; 130 | } 131 | -------------------------------------------------------------------------------- /GameRules.md: -------------------------------------------------------------------------------- 1 | The Variable War is a card game to have a fun first contact with software programming. But as we figured... it's also a lot of fun when you are already familiar with software programming :) 2 | 3 | # Game 4 | 5 | - From 6 to 96 years old 6 | - 2 to 6 players 7 | - 45 minutes 8 | - 106 cards 9 | 10 | # Cards 11 | 12 | - W Value Cards (Yellow) 13 | - X Attack Cards (Red) 14 | - Y Defense Cards (Green) 15 | - Z Bonus Cards (Blue) 16 | 17 | Each cards description is listed in the [Cards Description](CardsDescription.md) part. 18 | 19 |
20 | 21 |
22 | 23 | 24 | # How to play 25 | 26 | ## Overview 27 | 28 |
29 | 30 |
31 | 32 | 33 | The point is to reach 42 for either of variables A and B. When it's your turn, you start by drawing 2 cards, then play 2 cards. For each card, you can either: 34 | - play 1 Value card (yellow) on your variables to get closer to 42 on variable A or B. You can combine _Increment_ cards with _Repeat_ cards. 35 | - play 1 Value card (yellow) on another player's variables. For instance, you can decrease his variable value, or make it so that it matches a conditional attack. 36 | - play an attack card (red) on other players' variables, to slow them down in their progress 37 | - play a bonus card, either on yourself or on another player, depending on the card. 38 | - any combination of the above. 39 | 40 | ## Game Setup 41 | 42 | Each player has a variable declaration board in front of him. This is where he will increment his variables, and where all players can put attacks or bonuses. A dealer shuffles the deck and deals 6 cards face down to each player. The remainder of the deck is left in the center of the table face down. It will be the drawing pile. 43 | 44 | ## Goal 45 | 46 | The goal of this game is to reach a value of 42 for either of the 2 variables. If at the end of the drawing pile, no one has reached 42, the player who has a variable closest to 42 wins (even if he has more than 42). 47 | 48 |
49 | 50 |
51 | 52 | ## Instructions 53 | 54 | The player directly to the left of the dealer starts, then everyone plays turn by turn, clockwise. 55 | 56 | When it's your turn, start by drawing 2 cards from the drawing pile. 57 | 58 | You must now play 2 cards. With each card you'll play, you can do either of the following: 59 | - increase one of your variables by adding a _Value_ Card. 60 | - attack another player by using a _Attack_ Card. 61 | - remove an attack that was done to you by using a _Defense_ Card. 62 | - use a _Bonus_ card to attack, defend, or change the course of the game. 63 | 64 | You can use the 2 cards independently, but it could be smarter to use a combination of 2 cards to ensure a better outcome. For instance: 65 | - use a _Repeat 3_ card, and stack with _increment by 8_ card on top of it, to increment your variable by 24! 66 | - give a _Memory Leak_ attack on another player, then put a _Increment by 2_ to one of his variables so that the variable value modulo 3 is equal to 0, and is reset to 0 :P 67 | - play a _Open Source_ practice to see the other players cards, and play a _Mob Programming_ to get the most interesting hand from either of your direct neighbours :) 68 | 69 | If you can't play, for instance, if your code is frozen for 2 turns, you only have Value cards, and you don't want to give them to another player (understandably), then you must discard a card in the discard pile. 70 | 71 | At the end of your turn, you must have 6 cards in hand. 72 | 73 | If none of players reaches 42, the game ends when the drawing pile is empty, and when the player who drew the last card played. If there was only one card left when he drew, he can only play one card. 74 | 75 |
76 | 77 |
78 | -------------------------------------------------------------------------------- /CardsDescription.md: -------------------------------------------------------------------------------- 1 | 2 | # All card types 3 | 4 | 5 categories of cards: 5 | * *value*: used to increase or decrease the value of a Var, remember the goal is to reach exactly 42 points. 6 | 7 | * *loop*: repeat the next card to be played on a variable, you will need them to reach the goal of 42 faster or you can use them on your opponents to reduce their score. 8 | 9 | * *attacks*: freeze var, slow down speed or add requirements to your opponent stack. When you have played several times you will eventually find some good opportunities to play some of them on yourself. 10 | 11 | * *defense*: Memory leak, refactoring or firewall, different ways to counter attack. Some of them will allow you to rewrite the history of your favorite variable. 12 | 13 | * *bonus*: Game changer cards! You will definitively love these ones! 14 | 15 | If you have any question about how to play those cards, [please ask us](https://github.com/kids-code-games/variables-war/labels)! 16 | 17 | *Tons of alternative cards could be added, [we are waiting for your suggestions](https://github.com/kids-code-games/variables-war/labels)!* 18 | 19 | |Number of cards in a deck| Type | Card Name | Description | 20 | |---|---------|--------|-------------| 21 | |x6| Start Card | Variable A | Given to every playing at the beginning of the game. (Not to be played) | 22 | |x6| Start Card | Variable B | Given to every playing at the beginning of the game. (Not to be played) | 23 | |x6| Value cards | Increment one var by 1 | Increment one var by 1. It can be any player's var. | 24 | |x10| Value cards | Increment one var by 1 | Increment one var by 1. It can be any player's var. | 25 | |x10| Value cards | Increment one var by 2 | Increment one var by 2. It can be any player's var. | 26 | |x10| Value cards | Increment one var by 3 | Increment one var by 3. It can be any player's var. | 27 | |x8| Value cards | Increment one var by 5 | Increment one var by 5. It can be any player's var. | 28 | |x4| Value cards | Increment one var by 8 | Increment one var by 8. It can be any player's var. | 29 | |x7| Value cards | Decrement one var by 1 | Decrement one var by 1. It can be any player's var. | 30 | |x4| Value cards | Decrement one var by 2 | Decrement one var by 2. It can be any player's var. | 31 | |x3| Loop | Repeat x2 | The next yellow card put on this one is valued twice. | 32 | |x3| Loop | Repeat x3 | The next yellow card put on this ones is valued three times. | 33 | |x1| Loop | Repeat ${PlayersCount} | The next yellow card is valued as many times as there are players in the game. | 34 | |x3| Attack | Code Freeze | Blocks all vars for 2 turns. | 35 | |x3| Attack | Var Freeze | Blocks 1 var for 2 turns. | 36 | |x6| Attack | Legacy code | Only allows playing +/-1 or +/-2 values on your vars. | 37 | |x3| Attack | Condition (varB < varA) | Forbids any card that is breaking this condition. If the condition is already broken, then forbids any card that is not going towards its resolution. | 38 | |x3| Attack | Condition (varA < varB) | Forbids any card that is breaking this condition. If the condition is already broken, then forbids any card that is not going towards its resolution. | 39 | |x2| Attack | Memory Leak | Reset to 0 the var if its value is a multiple of 3. | 40 | |x5| Defense | Rollback | Remove the last card on any var of any player. | 41 | |x7| Defense | Refactoring | Remove a _Legacy code_ or _Condition_ card. | 42 | |x2| Defense | Firewall | Return any attack to its sender's game. | 43 | |x3| Bonus | Pair programming | Draw 3 cards with another player and agree on how to use them or discard everything! | 44 | |x2| Bonus | Pull request | Merge (rebase) vars A and B. So either move all your Value cards from A on top of B, or from B on top of A. | 45 | |x2| Bonus | Continuous deployment | Play twice when the selected var is a multiple of 7. | 46 | |x4| Bonus | Feature Flipping | Delete 1 card anywhere (on any player, any vars, any hands) | 47 | |x2| Bonus | Open Source | All players put their hand face up on the table for 2 rounds. | 48 | |x2| Bonus | Mob Programming | All cards change hands in the direction decided by the card player. | 49 | 50 | # Anatomy of a card 51 | 52 |
53 | 54 |
55 | 56 | 57 | # Attacks 58 | 59 | ## Code Freeze 60 | 61 | Blocks all vars for 2 turns. 62 | 63 | ## Var Freeze 64 | 65 | Blocks 1 var for 2 turns. 66 | 67 | ## Legacy code 68 | 69 | Only allows playing +/-1 or +/-2 values on your vars. 70 | 71 | ## Condition 72 | 73 | - (varB < varA): Forbids any card that is breaking this condition. If the condition is already broken, then forbids any card that is not going towards its resolution. 74 | - (varA < varB): Forbids any card that is breaking this condition. If the condition is already broken, then forbids any card that is not going towards its resolution. 75 | 76 | ## Memory Leak 77 | 78 | Reset to 0 the var if its values is a multiple of 3. 79 | 80 | # Defense 81 | 82 | ## Rollback 83 | 84 | Remove the last card put on any player's game. 85 | 86 | ## Refactoring 87 | 88 | Remove a _Legacy code_ or _Condition_ card. 89 | 90 | ## Firewall 91 | 92 | Return any attack to its sender's game. 93 | 94 | # Bonus 95 | 96 | ## Pair programming 97 | 98 | Draw 3 cards with another player and agree on how to use them or discard everything! 99 | 100 | ## Pull request 101 | 102 | Merge (rebase) vars A and B. So either move all your Value cards from A on top of B, or from B on top of A. 103 | 104 | ## Continuous deployment 105 | 106 | Play twice each time the selected var is a multiple of 7. 107 | Put this card on one of you variable, and keep it forever (unless removed by opponent's attack). 108 | 109 | ## Feature Flipping 110 | 111 | Delete 1 card anywhere (on any player, any vars, any hands). 112 | 113 | ## Open Source 114 | 115 | All players put their hand face up on the table for 2 rounds. 116 | 117 | ## Mob Programming 118 | 119 | All cards change hands in the direction decided by the card player. 120 | 121 | # Value cards 122 | 123 | ## Increment 124 | 125 | - by 1: Increment one var by 1. It can be any player's var. 126 | - by 2: Increment one var by 2. It can be any player's var. 127 | - by 3: Increment one var by 3. It can be any player's var. 128 | - by 5: Increment one var by 5. It can be any player's var. 129 | - by 8: Increment one var by 8. It can be any player's var. 130 | 131 | ## Decrement 132 | 133 | - by 1: Decrement one var by 1. It can be any player's var. 134 | - by 2: Decrement one var by 2. It can be any player's var. 135 | 136 | ## Repeat 137 | 138 | - 2: The next yellow card put on this one is valued twice. 139 | - 3: The next yellow card put on this ones is valued three times. 140 | - ${PlayersCount}: The next yellow card is valued as many times as there are players in the game. 141 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Welcome to Variables War, the coding card game 2 | 3 |

4 | 5 | Variables WarCard Game 6 | 7 |

8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 |
20 | 21 | Variables War Card Game GitHubPages 22 | 23 | 24 | Variables War Contributions 25 | 26 | 27 | Variables War Download 28 | 29 | 30 | Variables War Download 31 | 32 |
33 | 34 |
You love this game? Please star us!
35 | 36 | # What is this game about? 37 | 38 | #### Technical requirements and general architecture 39 | 40 | - From 7 to 96 years old 41 | - 2 to 6 players, the more you are the more fun it will be! 42 | - About 30 minutes, be the first to reach 42 or be the closest to 42 when there is no card left 43 | - 106 cards: values, loops, attacks, defense, bonus... 44 | - Always 6 cards by players 45 | 46 | #### Coding is fun, even without an IDE! This game is (natively) Kids Friendly! 47 | 48 | The goal is to be the first to reach 42 for either of your 2 variables. For that, you will have to create a program that gets them closer to 42. 49 | Different kind of cards will help you to achieve that, if you are lucky enough: *values* and *loop* cards will help you increment your variable value. All the other cards will be used to slow down your opponents or defend yourself from a previous attack. 50 | 51 | You probably noticed the geeky terminology we are using? We created this game to teach our own kids a bit of software engineering and coding practices. 52 | But because we loved it, even more than expected, we chose to share it on GitHub. 53 | 54 | By playing this game you will: 55 | - create a simple program that updates the values of your variables 56 | - play with conditions and requirements 57 | - play with loops, or merge the values of your variables 58 | - learn many development-related terms like from *Memory leak*, *Refactoring* or *Firewall* to ... *Pull requests*, *Pair programming* and *Feature flipping*! 59 | 60 | The cards will allow you to create bugs on your opponent's program, work together with teammates and race to be the first to reach 42! 61 | 62 | We are sure you will love this game as much as we took pleasure in designing it and trying it (again and again) with our friends and family! 63 | Yes! Kids can definitely play! We designed it to be played by kids (with their parents) starting from 7 years old (or as soon as they show any kind of interest about it). 64 | 65 | Enjoy :) 66 | 67 |
68 | 69 |
70 | 71 | 72 | # The rules, how to play? 73 | 74 | #### 2 variables by player, be the first the reach 42 points! 75 | 76 | Each player has 2 variables: A and B. 77 | This is where the player will increment their respective values using his own strategy to avoid attacks and maximize benefits of loops and bonuses. 78 | 79 | The goal is to reach 42 for either of variables A and B. 80 | 81 | When it's your turn, you start drawing 2 cards, then play 2 cards to always have 6 cards in hands. 82 | 83 |
84 | 85 |
86 | 87 | #### 5 categories of cards: 88 | 89 | * *value*: used to increase or decrease the value of a Var. Remember the goal is to reach exactly 42 points. But if the deck is empty before anyone reached 42, then the player who is the closest to 42 wins (there can be draws). 90 | 91 | * *loop*: repeat the next card to be played on a variable. You will need them to reach 42 faster, or you can use them on your opponents to reduce their score (for instance, by putting a _repeat 3_ and a _-5_ card on an opponent's variable) 92 | 93 | * *attacks*: freeze var, slow down speed or add requirements to your opponent stack. After playing a few times you will figure out some tricky associations of attacks. 94 | 95 | * *defense*: rollback, refactoring or firewall, different ways to counter attacks. Some of them will allow you to rewrite the history of your favorite variable. 96 | 97 | * *bonus*: Game changer cards! You will definitively love those ones! 98 | 99 |
100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 |
108 | 109 | These are examples of cards, the full list is [available on this page](./CardsDescription.md). 110 | 111 | More detailed [game rules are available here](./GameRules.md). 112 | 113 |
114 | 115 | 116 | 117 |
118 | 119 | # Too much talking, I want to play! 120 | 121 | 122 | | Order a physical deck | Print your own deck and play! | 123 | |--------------------------------------|----------------------------------| 124 | | *Coming soon, stay tuned..* | *Print it now, obviously Free!* | 125 | | Star us so we could ping you back... | [Just print this page](https://kids-code-games.github.io/variables-war/card-maker/01_ourdeck/card-GENERATED.html) | 126 | |
Star Variables War Card Game
|
Print Variables War Card Game
  • English version
  • French version
  • | 127 | 128 | # Want to contribute, suggest cards? 129 | 130 | We need help in many ways: 131 | * *designing cards*, graphical materials, please feel free to give us a hand! See the [related documentation](./CreateTheme.md) 132 | * *exploring new ideas*, there are tons of alternative cards that could be added, we've already added/deleted lots of cards according to all testing games to make this game as fun as possible, but we would love to create extensions! 133 | * *marketing* and *community management*, help us to talk about this game 134 | 135 | We are waiting for your [suggestions / questions / feedbacks](https://github.com/kids-code-games/variables-war/issues)!* 136 | 137 |
    138 | Variables War Card Game 139 |
    140 | 141 | 142 | # Git History 143 | 144 | As a bonus, this is a photo of one of our high technology (paper) and (deprecated) prototype we tested several months ago. 145 | 146 |
    147 | 148 |
    149 | 150 | # License 151 | 152 | [Apache Version 2.0, January 2004](https://www.apache.org/licenses/LICENSE-2.0) 153 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /card-maker/01_ourdeck/card.csv: -------------------------------------------------------------------------------- 1 | type;title;code;description;vars;rounds;comment 2 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 3 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 4 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 5 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 6 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 7 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 8 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 9 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 10 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 11 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 12 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 13 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 14 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 15 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 16 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 17 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 18 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 19 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 20 | attack;Memory Leak;"if (var % 3 == 0) {
      var = 0;
    }";Reset to 0 the var if its values is a multiple of 3.;"❏";"♺"; 21 | attack;Memory Leak;"if (var % 3 == 0) {
      var = 0;
    }";Reset to 0 the var if its values is a multiple of 3.;"❏";"♺"; 22 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 23 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 24 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 25 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 26 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 27 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 28 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 29 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 30 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 31 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 32 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 33 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 34 | defense;Firewall;;"Return any attack
    to its sender's game!";;;"No need to be sorry :)" 35 | defense;Firewall;;"Return any attack
    to its sender's game!";;;"No need to be sorry :)" 36 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 37 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 38 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 39 | bonus;Pull request;
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    ;
    Merge (rebase)
    vars A and B. Fusion your 2 vars in 1.
    ;;; 40 | bonus;Pull request;
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    ;
    Merge (rebase)
    vars A and B. Fusion your 2 vars in 1.
    ;;; 41 | bonus;Continuous deployment;"if (var % 7 == 0) {
      playTwice();
    }";
    Play twice when the selected var is a
    multiple of 7.
    ;"❏";"♺"; 42 | bonus;Continuous deployment;"if (var % 5 == 0) {
      playTwice();
    }";
    Play twice when the selected var is a
    multiple of 5.
    ;"❏";"♺"; 43 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 44 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 45 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 46 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 47 | bonus;Open Source;;"
    All players put their hand face up on the table for 2 rounds.
    ";;"♴";"...and star us on Github :)" 48 | bonus;Open Source;;"
    All players put their hand face up on the table for 2 rounds.
    ";;"♴";"...and star us on Github :)" 49 | bonus;Mob Programming;;
    All cards change hands in the direction decided by the card player
    ;;;"Hey folks, let's work
    as a team!" 50 | bonus;Mob Programming;;
    All cards change hands in the direction decided by the card player
    ;;;"Hey folks, let's work
    as a team!" 51 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 52 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 53 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 54 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 55 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 56 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 57 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 58 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 59 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 60 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 61 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 62 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 63 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 64 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 65 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 66 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 67 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 68 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 69 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 70 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 71 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 72 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 73 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 74 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 75 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 76 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 77 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 78 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 79 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 80 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 81 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 82 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 83 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 84 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 85 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 86 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 87 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 88 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 89 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 90 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 91 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 92 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 93 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 94 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 95 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 96 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 97 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 98 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 99 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 100 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 101 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 102 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 103 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 104 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 105 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 106 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 107 | value;Repeat 3;"    3 times {
          ...
        }";The next yellow card is valued three times.;;;Reusing is caring! 108 | value;Repeat 3;"    3 times {
          ...
        }";The next yellow card is valued three times.;;;Reusing is caring! 109 | value;Repeat ${PlayersCount};"val n = nbPlayers;
    (1 to n).foreach {
      ...
    }";The next yellow card is valued as many times as there are players.;;; 110 | other;A;;;;; 111 | other;B;;;;; 112 | other;A;;;;; 113 | other;B;;;;; 114 | other;A;;;;; 115 | other;B;;;;; 116 | other;A;;;;; 117 | other;B;;;;; 118 | other;A;;;;; 119 | other;B;;;;; 120 | other;A;;;;; 121 | other;B;;;;; -------------------------------------------------------------------------------- /card-maker/03_titles/card.csv: -------------------------------------------------------------------------------- 1 | type;title;code;description;vars;rounds;comment 2 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 3 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 4 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 5 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 6 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 7 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 8 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 9 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 10 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 11 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 12 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 13 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 14 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 15 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 16 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 17 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 18 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 19 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 20 | attack;Memory Leak;"if (var % 3 == 0) {
      var = 0;
    }";Reset to 0 the var if its values is a multiple of 3.;"❏";"♺"; 21 | attack;Memory Leak;"if (var % 3 == 0) {
      var = 0;
    }";Reset to 0 the var if its values is a multiple of 3.;"❏";"♺"; 22 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 23 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 24 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 25 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 26 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 27 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 28 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 29 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 30 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 31 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 32 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 33 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 34 | defense;Firewall;;"Return any attack
    to its sender's game!";;;"No need to be sorry :)" 35 | defense;Firewall;;"Return any attack
    to its sender's game!";;;"No need to be sorry :)" 36 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 37 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 38 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 39 | bonus;Pull request;
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    ;
    Merge (rebase)
    vars A and B. Fusion your 2 vars in 1.
    ;;; 40 | bonus;Pull request;
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    ;
    Merge (rebase)
    vars A and B. Fusion your 2 vars in 1.
    ;;; 41 | bonus;Continuous deployment;"if (var % 7 == 0) {
      playTwice();
    }";
    Play twice when the selected var is a
    multiple of 7.
    ;"❏";"♺"; 42 | bonus;Continuous deployment;"if (var % 5 == 0) {
      playTwice();
    }";
    Play twice when the selected var is a
    multiple of 5.
    ;"❏";"♺"; 43 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 44 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 45 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 46 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 47 | bonus;Open Source;;"
    All players put their hand face up on the table for 2 rounds.
    ";;"♴";"...and star us on Github :)" 48 | bonus;Open Source;;"
    All players put their hand face up on the table for 2 rounds.
    ";;"♴";"...and star us on Github :)" 49 | bonus;Mob Programming;;
    All cards change hands in the direction decided by the card player
    ;;;"Hey folks, let's work
    as a team!" 50 | bonus;Mob Programming;;
    All cards change hands in the direction decided by the card player
    ;;;"Hey folks, let's work
    as a team!" 51 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 52 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 53 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 54 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 55 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 56 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 57 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 58 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 59 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 60 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 61 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 62 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 63 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 64 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 65 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 66 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 67 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 68 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 69 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 70 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 71 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 72 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 73 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 74 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 75 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 76 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 77 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 78 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 79 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 80 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 81 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 82 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 83 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 84 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 85 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 86 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 87 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 88 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 89 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 90 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 91 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 92 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 93 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 94 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 95 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 96 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 97 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 98 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 99 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 100 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 101 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 102 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 103 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 104 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 105 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 106 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 107 | value;Repeat 3;"    3 times {
          ...
        }";The next yellow card is valued three times.;;;Reusing is caring! 108 | value;Repeat 3;"    3 times {
          ...
        }";The next yellow card is valued three times.;;;Reusing is caring! 109 | value;Repeat ${PlayersCount};"val n = nbPlayers;
    (1 to n).foreach {
      ...
    }";The next yellow card is valued as many times as there are players.;;; 110 | other;A;;;;; 111 | other;B;;;;; 112 | other;A;;;;; 113 | other;B;;;;; 114 | other;A;;;;; 115 | other;B;;;;; 116 | other;A;;;;; 117 | other;B;;;;; 118 | other;A;;;;; 119 | other;B;;;;; 120 | other;A;;;;; 121 | other;B;;;;; -------------------------------------------------------------------------------- /card-maker/02_border_only/card.csv: -------------------------------------------------------------------------------- 1 | type;title;code;description;vars;rounds;comment 2 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 3 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 4 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";Blocks all vars for
    2 turns.;"❏❏";"♴";"
    Coffee break!
    " 5 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 6 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 7 | attack;Var Freeze;"while (turns < 2) {
      freezeOneVar();
    }";Blocks 1 var for
    2 turns.;"❏";"♴";"
    Are you still using CVS?
    " 8 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 9 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 10 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 11 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 12 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 13 | attack;Legacy code;;"
    Only allows play
    +/-1 or +/-2 values on your vars.
    ";"❏❏";"♺";"Take your time to enjoy the moment :)" 14 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 15 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 16 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 17 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 18 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 19 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Forbids any card that
    is not helping to fix this.";"❏❏";"♺"; 20 | attack;Memory Leak;"if (var % 3 == 0) {
      var = 0;
    }";Reset to 0 the var if its values is a multiple of 3.;"❏";"♺"; 21 | attack;Memory Leak;"if (var % 3 == 0) {
      var = 0;
    }";Reset to 0 the var if its values is a multiple of 3.;"❏";"♺"; 22 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 23 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 24 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 25 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 26 | defense;Rollback;;Remove last card put on the selected game.;;;"We know, we know, life is unfair, thanks Calimero!" 27 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 28 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 29 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 30 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 31 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 32 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 33 | defense;Refactoring;;Remove a
    "Legacy code" or "Condition" card.;;;"Cheers!" 34 | defense;Firewall;;"Return any attack
    to its sender's game!";;;"No need to be sorry :)" 35 | defense;Firewall;;"Return any attack
    to its sender's game!";;;"No need to be sorry :)" 36 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 37 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 38 | bonus;Pair programming;;
    Draw 3 cards with another player and agree on how to use them or discard everything!
    ;;;"Hey mate!" 39 | bonus;Pull request;
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    ;
    Merge (rebase)
    vars A and B. Fusion your 2 vars in 1.
    ;;; 40 | bonus;Pull request;
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    ;
    Merge (rebase)
    vars A and B. Fusion your 2 vars in 1.
    ;;; 41 | bonus;Continuous deployment;"if (var % 7 == 0) {
      playTwice();
    }";
    Play twice when the selected var is a
    multiple of 7.
    ;"❏";"♺"; 42 | bonus;Continuous deployment;"if (var % 5 == 0) {
      playTwice();
    }";
    Play twice when the selected var is a
    multiple of 5.
    ;"❏";"♺"; 43 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 44 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 45 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 46 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Delete 1 card anywhere
    (any vars, any hands).";;;No mercy! 47 | bonus;Open Source;;"
    All players put their hand face up on the table for 2 rounds.
    ";;"♴";"...and star us on Github :)" 48 | bonus;Open Source;;"
    All players put their hand face up on the table for 2 rounds.
    ";;"♴";"...and star us on Github :)" 49 | bonus;Mob Programming;;
    All cards change hands in the direction decided by the card player
    ;;;"Hey folks, let's work
    as a team!" 50 | bonus;Mob Programming;;
    All cards change hands in the direction decided by the card player
    ;;;"Hey folks, let's work
    as a team!" 51 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 52 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 53 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 54 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 55 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 56 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 57 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 58 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 59 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 60 | value;Increment by 1;"
    var += 1;
    ";"Increment one of
    your var by 1.";;;42 here we come! 61 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 62 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 63 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 64 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 65 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 66 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 67 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 68 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 69 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 70 | value;Increment by 2;"
    var += 2;
    ";Increment one of
    your var by 2.;;; 71 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 72 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 73 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 74 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 75 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 76 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 77 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 78 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 79 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 80 | value;Increment by 3;"
    var += 3;
    ";Increment one of
    your var by 3.;;; 81 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 82 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 83 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 84 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 85 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 86 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 87 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 88 | value;Increment by 5;"
    var += 5;
    ";Increment one of
    your var by 5.;;; 89 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 90 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 91 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 92 | value;Increment by 8;"
    var += 8;
    ";Increment one of
    your var by 8.;;; 93 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 94 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 95 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 96 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 97 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 98 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 99 | value;Decrement by 1;"
    var -= 1;
    ";Decrement one of
    your var by 1.;;; 100 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 101 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 102 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 103 | value;Decrement by 2;"
    var -= 2;
    ";Decrement one of
    your var by 2.;;; 104 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 105 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 106 | value;Repeat 2;"    2 times {
          ...
        }";The next yellow card is valued twice.;;; 107 | value;Repeat 3;"    3 times {
          ...
        }";The next yellow card is valued three times.;;;Reusing is caring! 108 | value;Repeat 3;"    3 times {
          ...
        }";The next yellow card is valued three times.;;;Reusing is caring! 109 | value;Repeat ${PlayersCount};"val n = nbPlayers;
    (1 to n).foreach {
      ...
    }";The next yellow card is valued as many times as there are players.;;; 110 | other;A;;;;; 111 | other;B;;;;; 112 | other;A;;;;; 113 | other;B;;;;; 114 | other;A;;;;; 115 | other;B;;;;; 116 | other;A;;;;; 117 | other;B;;;;; 118 | other;A;;;;; 119 | other;B;;;;; 120 | other;A;;;;; 121 | other;B;;;;; -------------------------------------------------------------------------------- /card-maker/04_french/card.csv: -------------------------------------------------------------------------------- 1 | type;title;code;description;vars;rounds;comment 2 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";"
    Bloquer toutes les
    variables pour 2 tours.
    ";"❏❏";"♴";"
    Pause café!
    " 3 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";"
    Bloquer toutes les
    variables pour 2 tours.
    ";"❏❏";"♴";"
    Pause café!
    " 4 | attack;Code Freeze;"while (turns < 2) {
      freezeAllVars();
    }";"
    Bloquer toutes les
    variables pour 2 tours.
    ";"❏❏";"♴";"
    Pause café!
    " 5 | attack;Variable Freeze;"while (turns < 2) {
      freezeOneVar();
    }";"
    Bloquer 1 variable
    pour 2 tours.
    ";"❏";"♴";"
    Vous utilisez encore CVS?
    " 6 | attack;Variable Freeze;"while (turns < 2) {
      freezeOneVar();
    }";"
    Bloquer 1 variable
    pour 2 tours.
    ";"❏";"♴";"
    Vous utilisez encore CVS?
    " 7 | attack;Variable Freeze;"while (turns < 2) {
      freezeOneVar();
    }";"
    Bloquer 1 variable
    pour 2 tours.
    ";"❏";"♴";"
    Vous utilisez encore CVS?
    " 8 | attack;Legacy code;;"
    Ne jouer que des cartes
    jaunes ∓1 ou ∓2 sur
    vos variables.
    ";"❏❏";"♺";"
    Profitez de l'instant présent :)
    " 9 | attack;Legacy code;;"
    Ne jouer que des cartes
    jaunes ∓1 ou ∓2 sur
    vos variables.
    ";"❏❏";"♺";"
    Profitez de l'instant présent :)
    " 10 | attack;Legacy code;;"
    Ne jouer que des cartes
    jaunes ∓1 ou ∓2 sur
    vos variables.
    ";"❏❏";"♺";"
    Profitez de l'instant présent :)
    " 11 | attack;Legacy code;;"
    Ne jouer que des cartes
    jaunes ∓1 ou ∓2 sur
    vos variables.
    ";"❏❏";"♺";"
    Profitez de l'instant présent :)
    " 12 | attack;Legacy code;;"
    Ne jouer que des cartes
    jaunes ∓1 ou ∓2 sur
    vos variables.
    ";"❏❏";"♺";"
    Profitez de l'instant présent :)
    " 13 | attack;Legacy code;;"
    Ne jouer que des cartes
    jaunes ∓1 ou ∓2 sur
    vos variables.
    ";"❏❏";"♺";"
    Profitez de l'instant présent :)
    " 14 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Jouer uniquement une carte améliorant cette condition.";"
    ❏❏
    ";"
    "; 15 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Jouer uniquement une carte améliorant cette condition.";"
    ❏❏
    ";"
    "; 16 | attack;Condition;"if (varA < varB) {
      cancelCard();
    }";"Jouer uniquement une carte améliorant cette condition.";"
    ❏❏
    ";"
    "; 17 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Jouer uniquement une carte améliorant cette condition.";"
    ❏❏
    ";"
    "; 18 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Jouer uniquement une carte améliorant cette condition.";"
    ❏❏
    ";"
    "; 19 | attack;Condition;"if (varB < varA) {
      cancelCard();
    }";"Jouer uniquement une carte améliorant cette condition.";"
    ❏❏
    ";"
    "; 20 | attack;Memory Leak;"if (var % 3 == 0) {
      var = 0;
    }";Les variables multiples de 3 retournent à 0.;"❏";"♺"; 21 | attack;Memory Leak;"if (var % 3 == 0) {
      var = 0;
    }";Les variables multiples de 3 retournent à 0.;"❏";"♺"; 22 | defense;Rollback;;Retirer la dernière carte du jeu sélectionné.;;;"La vie est injuste,
    désolé Calimero !" 23 | defense;Rollback;;Retirer la dernière carte du jeu sélectionné.;;;"La vie est injuste,
    désolé Calimero !" 24 | defense;Rollback;;Retirer la dernière carte du jeu sélectionné.;;;"La vie est injuste,
    désolé Calimero !" 25 | defense;Rollback;;Retirer la dernière carte du jeu sélectionné.;;;"La vie est injuste,
    désolé Calimero !" 26 | defense;Rollback;;Retirer la dernière carte du jeu sélectionné.;;;"La vie est injuste,
    désolé Calimero !" 27 | defense;Refactoring;;Retirer un carte
    "Legacy code" ou "Condition".;;;"Cadeau!" 28 | defense;Refactoring;;Retirer un carte
    "Legacy code" ou "Condition".;;;"Cadeau!" 29 | defense;Refactoring;;Retirer un carte
    "Legacy code" ou "Condition".;;;"Cadeau!" 30 | defense;Refactoring;;Retirer un carte
    "Legacy code" ou "Condition".;;;"Cadeau!" 31 | defense;Refactoring;;Retirer un carte
    "Legacy code" ou "Condition".;;;"Cadeau!" 32 | defense;Refactoring;;Retirer un carte
    "Legacy code" ou "Condition".;;;"Cadeau!" 33 | defense;Refactoring;;Retirer un carte
    "Legacy code" ou "Condition".;;;"Cadeau!" 34 | defense;Firewall;;"Retourner une attaque
    contre celui qui l'a lancée.";;;"Pas besoin d'être désolé :)" 35 | defense;Firewall;;"Retourner une attaque
    contre celui qui l'a lancée.";;;"Pas besoin d'être désolé :)" 36 | bonus;Pair programming;;
    Piocher 3 cartes avec un autre joueur et convenez de la façon de les utiliser ou jetez les toutes.
    ;;;"Ouech gros!" 37 | bonus;Pair programming;;
    Piocher 3 cartes avec un autre joueur et convenez de la façon de les utiliser ou jetez les toutes.
    ;;;"Ouech gros!" 38 | bonus;Pair programming;;
    Piocher 3 cartes avec un autre joueur et convenez de la façon de les utiliser ou jetez les toutes.
    ;;;"Ouech gros!" 39 | bonus;Pull request;
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    ;
    Fusionner votre
    variable B sur votre
    variable A (ou l'inverse).
    ;;; 40 | bonus;Pull request;
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    ;
    Fusionner votre
    variable B sur votre
    variable A (ou l'inverse).
    ;;; 41 | bonus;Continuous deployment;"if (var % 7 == 0) {
      playTwice();
    }";
    Rejouer quand
    la variable est
    un multiple de 7.
    ;"❏";"♺"; 42 | bonus;Continuous deployment;"if (var % 5 == 0) {
      playTwice();
    }";
    Rejouer quand
    la variable est
    un multiple de 5.
    ;"❏";"♺"; 43 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Supprimer 1 carte
    (n'importe quelle variable ou main).";;;Pas de quartier! 44 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Supprimer 1 carte
    (n'importe quelle variable ou main)..";;;Pas de quartier! 45 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Supprimer 1 carte
    (n'importe quelle variable ou main)..";;;Pas de quartier! 46 | bonus;Feature Flipping;"
    featureOff = true;
    ";"Supprimer 1 carte
    (n'importe quelle variable ou main)..";;;Pas de quartier! 47 | bonus;Open Source;;"
    Tous les joueurs doivent jouer avec leurs mains visibles pendant 2 tours
    ";;"♴";"
    ...et nous mettre une étoile sur Github :)
    " 48 | bonus;Open Source;;"
    Tous les joueurs doivent jouer avec leurs mains visibles pendant 2 tours
    ";;"♴";"
    ...et nous mettre une étoile sur Github :)
    " 49 | bonus;Mob Programming;;
    Tout le monde passe sa main à son voisin (dans le sens décidé par le joueur de cette carte)
    ;;;"Allez, travaillons comme une équipe !" 50 | bonus;Mob Programming;;
    Tout le monde passe sa main à son voisin (dans le sens décidé par le joueur de cette carte)
    ;;;"Allez, travaillons comme une équipe !" 51 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 52 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 53 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 54 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 55 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 56 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 57 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 58 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 59 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 60 | value;Increment by 1;"
    var += 1;
    ";"Ajouter 1 à l'une
    de vos cartes.";;;42 me voilà ! 61 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 62 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 63 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 64 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 65 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 66 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 67 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 68 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 69 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 70 | value;Increment by 2;"
    var += 2;
    ";Ajouter 2 à l'une
    de vos cartes.;;; 71 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 72 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 73 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 74 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 75 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 76 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 77 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 78 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 79 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 80 | value;Increment by 3;"
    var += 3;
    ";Ajouter 3 à l'une
    de vos cartes.;;; 81 | value;Increment by 5;"
    var += 5;
    ";Ajouter 5 à l'une
    de vos cartes.;;; 82 | value;Increment by 5;"
    var += 5;
    ";Ajouter 5 à l'une
    de vos cartes.;;; 83 | value;Increment by 5;"
    var += 5;
    ";Ajouter 5 à l'une
    de vos cartes.;;; 84 | value;Increment by 5;"
    var += 5;
    ";Ajouter 5 à l'une
    de vos cartes.;;; 85 | value;Increment by 5;"
    var += 5;
    ";Ajouter 5 à l'une
    de vos cartes.;;; 86 | value;Increment by 5;"
    var += 5;
    ";Ajouter 5 à l'une
    de vos cartes.;;; 87 | value;Increment by 5;"
    var += 5;
    ";Ajouter 5 à l'une
    de vos cartes.;;; 88 | value;Increment by 5;"
    var += 5;
    ";Ajouter 5 à l'une
    de vos cartes.;;; 89 | value;Increment by 8;"
    var += 8;
    ";Ajouter 8 à l'une
    de vos cartes.;;; 90 | value;Increment by 8;"
    var += 8;
    ";Ajouter 8 à l'une
    de vos cartes.;;; 91 | value;Increment by 8;"
    var += 8;
    ";Ajouter 8 à l'une
    de vos cartes.;;; 92 | value;Increment by 8;"
    var += 8;
    ";Ajouter 8 à l'une
    de vos cartes.;;; 93 | value;Decrement by 1;"
    var -= 1;
    ";Retirer 1 à l'une
    de vos cartes.;;; 94 | value;Decrement by 1;"
    var -= 1;
    ";Retirer 1 à l'une
    de vos cartes.;;; 95 | value;Decrement by 1;"
    var -= 1;
    ";Retirer 1 à l'une
    de vos cartes.;;; 96 | value;Decrement by 1;"
    var -= 1;
    ";Retirer 1 à l'une
    de vos cartes.;;; 97 | value;Decrement by 1;"
    var -= 1;
    ";Retirer 1 à l'une
    de vos cartes.;;; 98 | value;Decrement by 1;"
    var -= 1;
    ";Retirer 1 à l'une
    de vos cartes.;;; 99 | value;Decrement by 1;"
    var -= 1;
    ";Retirer 1 à l'une
    de vos cartes.;;; 100 | value;Decrement by 2;"
    var -= 2;
    ";Retirer 2 à l'une
    de vos cartes.;;; 101 | value;Decrement by 2;"
    var -= 2;
    ";Retirer 2 à l'une
    de vos cartes.;;; 102 | value;Decrement by 2;"
    var -= 2;
    ";Retirer 2 à l'une
    de vos cartes.;;; 103 | value;Decrement by 2;"
    var -= 2;
    ";Retirer 2 à l'une
    de vos cartes.;;; 104 | value;Repeat 2;"    2 times {
          ...
        }";La prochaine carte jaune compte double.;;; 105 | value;Repeat 2;"    2 times {
          ...
        }";La prochaine carte jaune compte double.;;; 106 | value;Repeat 2;"    2 times {
          ...
        }";La prochaine carte jaune compte double.;;; 107 | value;Repeat 3;"    3 times {
          ...
        }";La prochaine carte jaune compte triple.;;;Réutiliser c'est être attentif 108 | value;Repeat 3;"    3 times {
          ...
        }";La prochaine carte jaune compte triple.;;;Réutiliser c'est être attentif 109 | value;Repeat ${PlayersCount};"val n = nbPlayers;
    (1 to n).foreach {
      ...
    }";La prochaine carte jaune compte autant qu'il y a de joueurs à table.;;; 110 | other;A;;;;; 111 | other;B;;;;; 112 | other;A;;;;; 113 | other;B;;;;; 114 | other;A;;;;; 115 | other;B;;;;; 116 | other;A;;;;; 117 | other;B;;;;; 118 | other;A;;;;; 119 | other;B;;;;; 120 | other;A;;;;; 121 | other;B;;;;; -------------------------------------------------------------------------------- /card-maker/03_titles/card-GENERATED.html: -------------------------------------------------------------------------------- 1 | 18 |
    19 | 28 |
    29 |

    Code Freeze

    30 |
    31 |
    32 |
    33 | while (turns < 2) {
      freezeAllVars();
    } 34 |
    35 |
    36 | Blocks all vars for
    2 turns. 37 |
    38 |
    39 |
    Coffee break!
    40 |
    41 |
    42 |
    43 | ❏❏  44 |  ♴ 45 |
    46 |
    47 | 56 |
    57 |

    Var Freeze

    58 |
    59 |
    60 |
    61 | while (turns < 2) {
      freezeOneVar();
    } 62 |
    63 |
    64 | Blocks 1 var for
    2 turns. 65 |
    66 |
    67 |
    Are you still using CVS?
    68 |
    69 |
    70 |
    71 | ❏  72 |  ♴ 73 |
    74 |
    75 | 84 |
    85 |

    Legacy code

    86 |
    87 |
    88 |
    89 | 90 |
    91 |
    92 |
    Only allows play
    +/-1 or +/-2 values on your vars.
    93 |
    94 |
    95 | Take your time to enjoy the moment :) 96 |
    97 |
    98 |
    99 | ❏❏  100 |  ♺ 101 |
    102 |
    103 | 112 |
    113 |

    Condition

    114 |
    115 |
    116 |
    117 | if (varA < varB) {
      cancelCard();
    } 118 |
    119 |
    120 | Forbids any card that
    is not helping to fix this. 121 |
    122 |
    123 | 124 |
    125 |
    126 |
    127 | ❏❏  128 |  ♺ 129 |
    130 |
    131 | 140 |
    141 |

    Condition

    142 |
    143 |
    144 |
    145 | if (varB < varA) {
      cancelCard();
    } 146 |
    147 |
    148 | Forbids any card that
    is not helping to fix this. 149 |
    150 |
    151 | 152 |
    153 |
    154 |
    155 | ❏❏  156 |  ♺ 157 |
    158 |
    159 | 168 |
    169 |

    Memory Leak

    170 |
    171 |
    172 |
    173 | if (var % 3 == 0) {
      var = 0;
    } 174 |
    175 |
    176 | Reset to 0 the var if its values is a multiple of 3. 177 |
    178 |
    179 | 180 |
    181 |
    182 |
    183 | ❏  184 |  ♺ 185 |
    186 |
    187 | 196 |
    197 |

    Rollback

    198 |
    199 |
    200 |
    201 | 202 |
    203 |
    204 | Remove last card put on the selected game. 205 |
    206 |
    207 | We know, we know, life is unfair, thanks Calimero! 208 |
    209 |
    210 |
    211 |   212 |   213 |
    214 |
    215 | 224 |
    225 |

    Refactoring

    226 |
    227 |
    228 |
    229 | 230 |
    231 |
    232 | Remove a
    "Legacy code" or "Condition" card. 233 |
    234 |
    235 | Cheers! 236 |
    237 |
    238 |
    239 |   240 |   241 |
    242 |
    243 | 252 |
    253 |

    Firewall

    254 |
    255 |
    256 |
    257 | 258 |
    259 |
    260 | Return any attack
    to its sender's game! 261 |
    262 |
    263 | No need to be sorry :) 264 |
    265 |
    266 |
    267 |   268 |   269 |
    270 |
    271 | 280 |
    281 |

    Pair programming

    282 |
    283 |
    284 |
    285 | 286 |
    287 |
    288 |
    Draw 3 cards with another player and agree on how to use them or discard everything!
    289 |
    290 |
    291 | Hey mate! 292 |
    293 |
    294 |
    295 |   296 |   297 |
    298 |
    299 | 308 |
    309 |

    Pull request

    310 |
    311 |
    312 |
    313 |
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    314 |
    315 |
    316 |
    Merge (rebase)
    vars A and B. Fusion your 2 vars in 1.
    317 |
    318 |
    319 | 320 |
    321 |
    322 |
    323 |   324 |   325 |
    326 |
    327 | 336 |
    337 |

    Continuous deployment

    338 |
    339 |
    340 |
    341 | if (var % 7 == 0) {
      playTwice();
    } 342 |
    343 |
    344 |
    Play twice when the selected var is a
    multiple of 7.
    345 |
    346 |
    347 | 348 |
    349 |
    350 |
    351 | ❏  352 |  ♺ 353 |
    354 |
    355 | 364 |
    365 |

    Feature Flipping

    366 |
    367 |
    368 |
    369 |
    featureOff = true;
    370 |
    371 |
    372 | Delete 1 card anywhere
    (any vars, any hands). 373 |
    374 |
    375 | No mercy! 376 |
    377 |
    378 |
    379 |   380 |   381 |
    382 |
    383 | 392 |
    393 |

    Open Source

    394 |
    395 |
    396 |
    397 | 398 |
    399 |
    400 |
    All players put their hand face up on the table for 2 rounds.
    401 |
    402 |
    403 | ...and star us on Github :) 404 |
    405 |
    406 |
    407 |   408 |  ♴ 409 |
    410 |
    411 | 420 |
    421 |

    Mob Programming

    422 |
    423 |
    424 |
    425 | 426 |
    427 |
    428 |
    All cards change hands in the direction decided by the card player
    429 |
    430 |
    431 | Hey folks, let's work
    as a team! 432 |
    433 |
    434 |
    435 |   436 |   437 |
    438 |
    439 | 448 |
    449 |

    Increment by 1

    450 |
    451 |
    452 |
    453 |
    var += 1;
    454 |
    455 |
    456 | Increment one of
    your var by 1. 457 |
    458 |
    459 | 42 here we come! 460 |
    461 |
    462 |
    463 |   464 |   465 |
    466 |
    467 | 476 |
    477 |

    Increment by 2

    478 |
    479 |
    480 |
    481 |
    var += 2;
    482 |
    483 |
    484 | Increment one of
    your var by 2. 485 |
    486 |
    487 | 488 |
    489 |
    490 |
    491 |   492 |   493 |
    494 |
    495 | 504 |
    505 |

    Increment by 3

    506 |
    507 |
    508 |
    509 |
    var += 3;
    510 |
    511 |
    512 | Increment one of
    your var by 3. 513 |
    514 |
    515 | 516 |
    517 |
    518 |
    519 |   520 |   521 |
    522 |
    523 | 532 |
    533 |

    Increment by 5

    534 |
    535 |
    536 |
    537 |
    var += 5;
    538 |
    539 |
    540 | Increment one of
    your var by 5. 541 |
    542 |
    543 | 544 |
    545 |
    546 |
    547 |   548 |   549 |
    550 |
    551 | 560 |
    561 |

    Increment by 8

    562 |
    563 |
    564 |
    565 |
    var += 8;
    566 |
    567 |
    568 | Increment one of
    your var by 8. 569 |
    570 |
    571 | 572 |
    573 |
    574 |
    575 |   576 |   577 |
    578 |
    579 | 588 |
    589 |

    Decrement by 1

    590 |
    591 |
    592 |
    593 |
    var -= 1;
    594 |
    595 |
    596 | Decrement one of
    your var by 1. 597 |
    598 |
    599 | 600 |
    601 |
    602 |
    603 |   604 |   605 |
    606 |
    607 | 616 |
    617 |

    Decrement by 2

    618 |
    619 |
    620 |
    621 |
    var -= 2;
    622 |
    623 |
    624 | Decrement one of
    your var by 2. 625 |
    626 |
    627 | 628 |
    629 |
    630 |
    631 |   632 |   633 |
    634 |
    635 | 644 |
    645 |

    Repeat 2

    646 |
    647 |
    648 |
    649 |     2 times {
          ...
        } 650 |
    651 |
    652 | The next yellow card is valued twice. 653 |
    654 |
    655 | 656 |
    657 |
    658 |
    659 |   660 |   661 |
    662 |
    663 | 672 |
    673 |

    Repeat 3

    674 |
    675 |
    676 |
    677 |     3 times {
          ...
        } 678 |
    679 |
    680 | The next yellow card is valued three times. 681 |
    682 |
    683 | Reusing is caring! 684 |
    685 |
    686 |
    687 |   688 |   689 |
    690 |
    691 | 700 |
    701 |

    Repeat ${PlayersCount}

    702 |
    703 |
    704 |
    705 | val n = nbPlayers;
    (1 to n).foreach {
      ...
    } 706 |
    707 |
    708 | The next yellow card is valued as many times as there are players in the game. 709 |
    710 |
    711 | 712 |
    713 |
    714 |
    715 |   716 |   717 |
    718 |
    -------------------------------------------------------------------------------- /card-maker/02_border_only/card-GENERATED.html: -------------------------------------------------------------------------------- 1 | 18 |
    19 | 28 |
    29 |

    Code Freeze

    30 |
    31 |
    32 |
    33 | while (turns < 2) {
      freezeAllVars();
    } 34 |
    35 |
    36 | Blocks all vars for
    2 turns. 37 |
    38 |
    39 |
    Coffee break!
    40 |
    41 |
    42 |
    43 | ❏❏  44 |  ♴ 45 |
    46 |
    47 | 56 |
    57 |

    Var Freeze

    58 |
    59 |
    60 |
    61 | while (turns < 2) {
      freezeOneVar();
    } 62 |
    63 |
    64 | Blocks 1 var for
    2 turns. 65 |
    66 |
    67 |
    Are you still using CVS?
    68 |
    69 |
    70 |
    71 | ❏  72 |  ♴ 73 |
    74 |
    75 | 84 |
    85 |

    Legacy code

    86 |
    87 |
    88 |
    89 | 90 |
    91 |
    92 |
    Only allows play
    +/-1 or +/-2 values on your vars.
    93 |
    94 |
    95 | Take your time to enjoy the moment :) 96 |
    97 |
    98 |
    99 | ❏❏  100 |  ♺ 101 |
    102 |
    103 | 112 |
    113 |

    Condition

    114 |
    115 |
    116 |
    117 | if (varA < varB) {
      cancelCard();
    } 118 |
    119 |
    120 | Forbids any card that
    is not helping to fix this. 121 |
    122 |
    123 | 124 |
    125 |
    126 |
    127 | ❏❏  128 |  ♺ 129 |
    130 |
    131 | 140 |
    141 |

    Condition

    142 |
    143 |
    144 |
    145 | if (varB < varA) {
      cancelCard();
    } 146 |
    147 |
    148 | Forbids any card that
    is not helping to fix this. 149 |
    150 |
    151 | 152 |
    153 |
    154 |
    155 | ❏❏  156 |  ♺ 157 |
    158 |
    159 | 168 |
    169 |

    Memory Leak

    170 |
    171 |
    172 |
    173 | if (var % 3 == 0) {
      var = 0;
    } 174 |
    175 |
    176 | Reset to 0 the var if its values is a multiple of 3. 177 |
    178 |
    179 | 180 |
    181 |
    182 |
    183 | ❏  184 |  ♺ 185 |
    186 |
    187 | 196 |
    197 |

    Rollback

    198 |
    199 |
    200 |
    201 | 202 |
    203 |
    204 | Remove last card put on the selected game. 205 |
    206 |
    207 | We know, we know, life is unfair, thanks Calimero! 208 |
    209 |
    210 |
    211 |   212 |   213 |
    214 |
    215 | 224 |
    225 |

    Refactoring

    226 |
    227 |
    228 |
    229 | 230 |
    231 |
    232 | Remove a
    "Legacy code" or "Condition" card. 233 |
    234 |
    235 | Cheers! 236 |
    237 |
    238 |
    239 |   240 |   241 |
    242 |
    243 | 252 |
    253 |

    Firewall

    254 |
    255 |
    256 |
    257 | 258 |
    259 |
    260 | Return any attack
    to its sender's game! 261 |
    262 |
    263 | No need to be sorry :) 264 |
    265 |
    266 |
    267 |   268 |   269 |
    270 |
    271 | 280 |
    281 |

    Pair programming

    282 |
    283 |
    284 |
    285 | 286 |
    287 |
    288 |
    Draw 3 cards with another player and agree on how to use them or discard everything!
    289 |
    290 |
    291 | Hey mate! 292 |
    293 |
    294 |
    295 |   296 |   297 |
    298 |
    299 | 308 |
    309 |

    Pull request

    310 |
    311 |
    312 |
    313 |
    git checkout varA && git rebase varB
    or
    git checkout varB && git rebase varA
    314 |
    315 |
    316 |
    Merge (rebase)
    vars A and B. Fusion your 2 vars in 1.
    317 |
    318 |
    319 | 320 |
    321 |
    322 |
    323 |   324 |   325 |
    326 |
    327 | 336 |
    337 |

    Continuous deployment

    338 |
    339 |
    340 |
    341 | if (var % 7 == 0) {
      playTwice();
    } 342 |
    343 |
    344 |
    Play twice when the selected var is a
    multiple of 7.
    345 |
    346 |
    347 | 348 |
    349 |
    350 |
    351 | ❏  352 |  ♺ 353 |
    354 |
    355 | 364 |
    365 |

    Feature Flipping

    366 |
    367 |
    368 |
    369 |
    featureOff = true;
    370 |
    371 |
    372 | Delete 1 card anywhere
    (any vars, any hands). 373 |
    374 |
    375 | No mercy! 376 |
    377 |
    378 |
    379 |   380 |   381 |
    382 |
    383 | 392 |
    393 |

    Open Source

    394 |
    395 |
    396 |
    397 | 398 |
    399 |
    400 |
    All players put their hand face up on the table for 2 rounds.
    401 |
    402 |
    403 | ...and star us on Github :) 404 |
    405 |
    406 |
    407 |   408 |  ♴ 409 |
    410 |
    411 | 420 |
    421 |

    Mob Programming

    422 |
    423 |
    424 |
    425 | 426 |
    427 |
    428 |
    All cards change hands in the direction decided by the card player
    429 |
    430 |
    431 | Hey folks, let's work
    as a team! 432 |
    433 |
    434 |
    435 |   436 |   437 |
    438 |
    439 | 448 |
    449 |

    Increment by 1

    450 |
    451 |
    452 |
    453 |
    var += 1;
    454 |
    455 |
    456 | Increment one of
    your var by 1. 457 |
    458 |
    459 | 42 here we come! 460 |
    461 |
    462 |
    463 |   464 |   465 |
    466 |
    467 | 476 |
    477 |

    Increment by 2

    478 |
    479 |
    480 |
    481 |
    var += 2;
    482 |
    483 |
    484 | Increment one of
    your var by 2. 485 |
    486 |
    487 | 488 |
    489 |
    490 |
    491 |   492 |   493 |
    494 |
    495 | 504 |
    505 |

    Increment by 3

    506 |
    507 |
    508 |
    509 |
    var += 3;
    510 |
    511 |
    512 | Increment one of
    your var by 3. 513 |
    514 |
    515 | 516 |
    517 |
    518 |
    519 |   520 |   521 |
    522 |
    523 | 532 |
    533 |

    Increment by 5

    534 |
    535 |
    536 |
    537 |
    var += 5;
    538 |
    539 |
    540 | Increment one of
    your var by 5. 541 |
    542 |
    543 | 544 |
    545 |
    546 |
    547 |   548 |   549 |
    550 |
    551 | 560 |
    561 |

    Increment by 8

    562 |
    563 |
    564 |
    565 |
    var += 8;
    566 |
    567 |
    568 | Increment one of
    your var by 8. 569 |
    570 |
    571 | 572 |
    573 |
    574 |
    575 |   576 |   577 |
    578 |
    579 | 588 |
    589 |

    Decrement by 1

    590 |
    591 |
    592 |
    593 |
    var -= 1;
    594 |
    595 |
    596 | Decrement one of
    your var by 1. 597 |
    598 |
    599 | 600 |
    601 |
    602 |
    603 |   604 |   605 |
    606 |
    607 | 616 |
    617 |

    Decrement by 2

    618 |
    619 |
    620 |
    621 |
    var -= 2;
    622 |
    623 |
    624 | Decrement one of
    your var by 2. 625 |
    626 |
    627 | 628 |
    629 |
    630 |
    631 |   632 |   633 |
    634 |
    635 | 644 |
    645 |

    Repeat 2

    646 |
    647 |
    648 |
    649 |     2 times {
          ...
        } 650 |
    651 |
    652 | The next yellow card is valued twice. 653 |
    654 |
    655 | 656 |
    657 |
    658 |
    659 |   660 |   661 |
    662 |
    663 | 672 |
    673 |

    Repeat 3

    674 |
    675 |
    676 |
    677 |     3 times {
          ...
        } 678 |
    679 |
    680 | The next yellow card is valued three times. 681 |
    682 |
    683 | Reusing is caring! 684 |
    685 |
    686 |
    687 |   688 |   689 |
    690 |
    691 | 700 |
    701 |

    Repeat ${PlayersCount}

    702 |
    703 |
    704 |
    705 | val n = nbPlayers;
    (1 to n).foreach {
      ...
    } 706 |
    707 |
    708 | The next yellow card is valued as many times as there are players in the game. 709 |
    710 |
    711 | 712 |
    713 |
    714 | 718 |
    --------------------------------------------------------------------------------