/* Externes */ Save the date! CCC Camp in germany 13th - 17th August 2015 #ccc15
[stratum0-wiki.git] / Gesellschaftsspiel-Replikator%2FDomino_V1.mw
1 [[Datei:Blinden-Domino.png|thumb|Blinden-Domino]]
2
3 [[Datei:Stratum0 Dominosteine V1.png|thumb|Dominosteine für Blinde]]
4
5
6 ==Regeln==
7
8 * [http://www.pegasus.de/fileadmin/_downloads/_regeln/Domino_Dominoes.pdf http://www.pegasus.de/fileadmin/_downloads/_regeln/Domino_Dominoes.pdf]
9 * Wikipedia: [http://de.wikipedia.org/wiki/Domino http://de.wikipedia.org/wiki/Domino]
10 * Online-Spiel und Regeln: [http://www.brettspielnetz.de/spielregeln/domino.php http://www.brettspielnetz.de/spielregeln/domino.php]
11
12 == OpenSCAD Code für Steine ==
13
14 <pre>
15
16 // Blindendomino
17 // 2014-10-31 V1.1
18 // by Stratum 0
19 // License: WTFPL
20
21
22 $fn=20;
23 LangeKante=40;
24 KurzeKante=LangeKante/2;
25 Hoehe=LangeKante/8;
26 Ausschnitt=15;
27 Kerbe=2;
28 Punktpos=LangeKante/2-Kerbe;
29 Punkthoehe=Kerbe;
30 Punktbasis=2;
31 Punktspitze=0;
32 Punktabstand=4;
33 Rechts=1;
34 Links=-1;
35 Abstand=2;
36
37 //MyDomino();
38
39
40 //module MyDomino()
41 {
42
43
44 for (i = [1:6]) // Hier Anfangswert und Endwert für linke Steinhaelfte eintragen
45 {
46 for (j = [1:6]) // Hier Anfangswert und Endwert für rechte Steinhaelfte eintragen
47 {
48 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CutDomino();
49 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CreateValue("purple", i, Links);
50 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CreateValue("pink", j, Rechts);
51 } // End For J
52 } // End For I
53 } // End Module
54
55
56 module CutDomino()
57 {
58 difference()
59 {
60 // Basisdomino erstellen
61 cube([LangeKante, KurzeKante, Hoehe], center=true);
62
63 // Ausschnitt für Einkerbungen erstellen
64 // Rechte Seite
65
66 color("lightblue") translate ([LangeKante/4,0,Kerbe]) cube([Ausschnitt, Ausschnitt, Kerbe*2],center=true);
67
68 // Ausschnitt für Einkerbungen erstellen
69 // Linke Seite
70
71 color("blue") translate ([-LangeKante/4,0,Kerbe]) cube([Ausschnitt, Ausschnitt,Kerbe*2],center=true);
72
73 };// End Difference
74 }; // End Module
75
76
77 // Punkte hinzufügen
78
79 module CreateValue(Farbe, Value, Seite)
80 {
81 if (Value==1)
82 {
83 punkt(Farbe, 8, Seite);
84 }
85
86 if (Value==2)
87 {
88 punkt(Farbe, 1, Seite);
89 punkt(Farbe, 6, Seite);
90 }
91
92 if (Value==3)
93 {
94 punkt(Farbe, 1, Seite);
95 punkt(Farbe, 8, Seite);
96 punkt(Farbe, 6, Seite);
97 }
98
99 if (Value==4)
100 {
101 punkt(Farbe, 1, Seite);
102 punkt(Farbe, 3, Seite);
103 punkt(Farbe, 4, Seite);
104 punkt(Farbe, 6, Seite);
105 }
106
107 if (Value==5)
108 {
109 punkt(Farbe, 1, Seite);
110 punkt(Farbe, 3, Seite);
111 punkt(Farbe, 8, Seite);
112 punkt(Farbe, 4, Seite);
113 punkt(Farbe, 6, Seite);
114 }
115
116 if (Value==6)
117 {
118 punkt(Farbe, 1, Seite);
119 punkt(Farbe, 2, Seite);
120 punkt(Farbe, 3, Seite);
121 punkt(Farbe, 4, Seite);
122 punkt(Farbe, 5, Seite);
123 punkt(Farbe, 6, Seite);
124
125 }
126 };
127
128
129
130
131
132 module punkt(Farbe,PunktPos,Seite)
133 {
134
135 if (PunktPos==1)
136 {
137 color(Farbe)
138 translate([LangeKante/4*Seite-Punktabstand,Punktabstand,Kerbe*0])
139 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
140 }
141
142
143 if (PunktPos==2)
144 {
145 color(Farbe)
146 translate([LangeKante/4*Seite-Punktabstand,0,Kerbe*0])
147 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
148 }
149
150
151 if (PunktPos==3)
152 {
153 color(Farbe)
154 translate([LangeKante/4*Seite-Punktabstand,-Punktabstand,Kerbe*0])
155 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
156 }
157
158
159 if (PunktPos==4)
160 {
161 color(Farbe)
162 translate([LangeKante/4*Seite+Punktabstand,+Punktabstand,Kerbe*0])
163 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
164 }
165
166
167 if (PunktPos==5)
168 {
169 color(Farbe)
170 translate([LangeKante/4*Seite+Punktabstand,0,Kerbe*0])
171 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
172 }
173
174
175 if (PunktPos==6)
176 {
177 color(Farbe)
178 translate([LangeKante/4*Seite+Punktabstand,-Punktabstand,Kerbe*0])
179 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
180 }
181
182
183 if (PunktPos==7)
184 {
185 color(Farbe)
186 translate([LangeKante/4*Seite,Punktabstand,Kerbe*0])
187 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
188 }
189
190
191 if (PunktPos==8)
192 {
193 color(Farbe)
194 translate([LangeKante/4*Seite,0,Kerbe*0])
195 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
196 }
197
198
199 if (PunktPos==9)
200 {
201 color(Farbe)
202 translate([LangeKante/4*Seite,-Punktabstand,Kerbe*0])
203 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
204 }
205
206 };
207
208
209 </pre>
This page took 0.061914 seconds and 5 git commands to generate.