/* 31C3, Hamburg */ +Assembly-Link
[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-01-22 V1
18 // by Stratum 0
19 // License: WTF
20
21 // **************************************
22 // ** Dominos bitte *massiv* drucken! **
23 // **************************************
24
25 $fn=20;
26 LangeKante=40;
27 KurzeKante=LangeKante/2;
28 Hoehe=LangeKante/8;
29 Ausschnitt=15;
30 Kerbe=2;
31 Punktpos=LangeKante/2-Kerbe;
32 Punkthoehe=Kerbe;
33 Punktbasis=2;
34 Punktspitze=0;
35 Punktabstand=4;
36 Rechts=1;
37 Links=-1;
38 Abstand=2;
39
40 //MyDomino();
41
42
43 //module MyDomino()
44 {
45
46
47 for (i = [1:6])
48 {
49 for (j = [1:6])
50 {
51 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CutDomino();
52 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CreateValue("purple", i, Links);
53 translate([(LangeKante+Abstand)*i+Abstand,(KurzeKante+Abstand)*j,0]) CreateValue("pink", j, Rechts);
54 } // End For J
55 } // End For I
56 } // End Module
57
58
59 module CutDomino()
60 {
61 difference()
62 {
63 // Basisdomino erstellen
64 cube([LangeKante, KurzeKante, Hoehe], center=true);
65
66 // Ausschnitt für Einkerbungen erstellen
67 // Rechte Seite
68
69 color("lightblue") translate ([LangeKante/4,0,Kerbe]) cube([Ausschnitt, Ausschnitt, Kerbe*2],center=true);
70
71 // Ausschnitt für Einkerbungen erstellen
72 // Linke Seite
73
74 color("blue") translate ([-LangeKante/4,0,Kerbe]) cube([Ausschnitt, Ausschnitt,Kerbe*2],center=true);
75
76 };// End Difference
77 }; // End Module
78
79
80 // Punkte hinzufügen
81
82 module CreateValue(Farbe, Value, Seite)
83 {
84 if (Value==1)
85 {
86 punkt(Farbe, 8, Seite);
87 }
88
89 if (Value==2)
90 {
91 punkt(Farbe, 1, Seite);
92 punkt(Farbe, 6, Seite);
93 }
94
95 if (Value==3)
96 {
97 punkt(Farbe, 1, Seite);
98 punkt(Farbe, 8, Seite);
99 punkt(Farbe, 6, Seite);
100 }
101
102 if (Value==4)
103 {
104 punkt(Farbe, 1, Seite);
105 punkt(Farbe, 3, Seite);
106 punkt(Farbe, 4, Seite);
107 punkt(Farbe, 6, Seite);
108 }
109
110 if (Value==5)
111 {
112 punkt(Farbe, 1, Seite);
113 punkt(Farbe, 3, Seite);
114 punkt(Farbe, 8, Seite);
115 punkt(Farbe, 4, Seite);
116 punkt(Farbe, 6, Seite);
117 }
118
119 if (Value==6)
120 {
121 punkt(Farbe, 1, Seite);
122 punkt(Farbe, 2, Seite);
123 punkt(Farbe, 3, Seite);
124 punkt(Farbe, 4, Seite);
125 punkt(Farbe, 5, Seite);
126 punkt(Farbe, 6, Seite);
127
128 }
129 };
130
131
132
133
134
135 module punkt(Farbe,PunktPos,Seite)
136 {
137
138 if (PunktPos==1)
139 {
140 color(Farbe)
141 translate([LangeKante/4*Seite-Punktabstand,Punktabstand,Kerbe*0])
142 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
143 }
144
145
146 if (PunktPos==2)
147 {
148 color(Farbe)
149 translate([LangeKante/4*Seite-Punktabstand,0,Kerbe*0])
150 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
151 }
152
153
154 if (PunktPos==3)
155 {
156 color(Farbe)
157 translate([LangeKante/4*Seite-Punktabstand,-Punktabstand,Kerbe*0])
158 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
159 }
160
161
162 if (PunktPos==4)
163 {
164 color(Farbe)
165 translate([LangeKante/4*Seite+Punktabstand,+Punktabstand,Kerbe*0])
166 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
167 }
168
169
170 if (PunktPos==5)
171 {
172 color(Farbe)
173 translate([LangeKante/4*Seite+Punktabstand,0,Kerbe*0])
174 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
175 }
176
177
178 if (PunktPos==6)
179 {
180 color(Farbe)
181 translate([LangeKante/4*Seite+Punktabstand,-Punktabstand,Kerbe*0])
182 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
183 }
184
185
186 if (PunktPos==7)
187 {
188 color(Farbe)
189 translate([LangeKante/4*Seite,Punktabstand,Kerbe*0])
190 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
191 }
192
193
194 if (PunktPos==8)
195 {
196 color(Farbe)
197 translate([LangeKante/4*Seite,0,Kerbe*0])
198 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
199 }
200
201
202 if (PunktPos==9)
203 {
204 color(Farbe)
205 translate([LangeKante/4*Seite,-Punktabstand,Kerbe*0])
206 cylinder(Punkthoehe,Punktbasis,Punktspitze,center=yes);
207 }
208
209 };
210
211
212 </pre>
This page took 0.062298 seconds and 5 git commands to generate.