X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/a59a17bc06ff588310f7ae3deb90600e25052694..7f4903d1cf2b1db51543452b6bcfbf6927b11fca:/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw diff --git a/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw b/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw index e9f00dfda..2682a1509 100644 --- a/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw +++ b/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw @@ -1,14 +1,23 @@ + +[[Datei:Ein Viertel Scrabble-Brett.PNG|thumb|OpenSCAD Entwurf von einem Scrabble-Brett (ein Viertel)]] + +* Andere Anbieter: +**[http://www.amazon.com/Maxi-Aids-Tactile-Braille-Crossword-Puzzle-Game/dp/B004USI2H6/ref=pd_sim_t_10?ie=UTF8&refRID=1CRT5HWAZZD53CGR5XT8] +** [http://www.amazon.com/Deluxe-Scrabble-Game-Braille-Version/dp/B000YL1XEM/ref=pd_sim_hpc_7?ie=UTF8&refRID=1ZV6GKYKWP7PTT01XTER] +
 
-// Scrabble Spielbrett
-// 2014-05-15 V1
+
+// Scrabble Spielbrett 
+// (ein Viertel)
+// 2014-05-15 V1.2
 // by Stratum 0
 // License: WTFPL
 
 // $fn=20;
 
-Kante = 20;
-Kantenbreite = 2;
+Kante = 14;
+Kantenbreite = 1;
 Hoehe = 4;
 Randhoehe = 2;
 Abstand=0;
@@ -16,6 +25,19 @@ Zaehler=1;
 Viertelfeld=8;
 
 
+
+//Hauptprogramm
+
+intersection()
+{
+    ViertelBrett();
+    cube ([Kante*(Viertelfeld+0.5), Kante*(Viertelfeld+0.5), Kante*(Viertelfeld+0.5)]);    
+}
+
+
+module ViertelBrett()
+{
+
 for (i = [1:Viertelfeld])
      {
      for (j = [1:Viertelfeld])
@@ -23,43 +45,41 @@ for (i = [1:Viertelfeld])
           translate([(Kante+Abstand)*i+Abstand,(Kante+Abstand)*j,0])  
            { 
             //Dreifacher Wortwert
-            if ((i==1) && (j==1)) {   Feld("red");   }
-            if ((i==1) && (j==8)) {   Feld("red");   }
-            if ((i==8) && (j==1)) {   Feld("red");   }
+            if ((i==1) && (j==1)) {   Feld("red");   Striche(3);}
+            if ((i==1) && (j==8)) {   Feld("red");   Striche(3);}
+            if ((i==8) && (j==1)) {   Feld("red");   Striche(3);}
             
             //Doppelter Wortwert
-            if ((i==2) && (j==2)) {   Feld("pink");   }
-            if ((i==3) && (j==3)) {   Feld("pink");   }
-            if ((i==4) && (j==4)) {   Feld("pink");   }
-            if ((i==5) && (j==5)) {   Feld("pink");   }
-            if ((i==8) && (j==8)) {   Feld("pink");   }
+            if ((i==2) && (j==2)) {   Feld("pink");   Striche(2);}
+            if ((i==3) && (j==3)) {   Feld("pink");   Striche(2);}
+            if ((i==4) && (j==4)) {   Feld("pink");   Striche(2);}
+            if ((i==5) && (j==5)) {   Feld("pink");   Striche(2);}
+            if ((i==8) && (j==8)) {   Feld("pink");   Striche(2);}
 
             // Dreifacher Buchstabenwert
-            if ((i==2) && (j==6)) {   Feld("blue");   }
-            if ((i==6) && (j==2)) {   Feld("blue");   }
-            if ((i==6) && (j==6)) {   Feld("blue");   }
+            if ((i==2) && (j==6)) {   Feld("blue");   Punkte(3);}
+            if ((i==6) && (j==2)) {   Feld("blue");   Punkte(3);}
+            if ((i==6) && (j==6)) {   Feld("blue");   Punkte(3);}
 
             // Doppelter Buchstabenwert
-            if ((i==7) && (j==7)) {   Feld("lightblue");   }
-            if ((i==3) && (j==7)) {   Feld("lightblue");   }
-            if ((i==7) && (j==3)) {   Feld("lightblue");   }
-            if ((i==8) && (j==4)) {   Feld("lightblue");   }
-            if ((i==4) && (j==8)) {   Feld("lightblue");   }
-            if ((i==1) && (j==4)) {   Feld("lightblue");   }
-            if ((i==4) && (j==1)) {   Feld("lightblue");   }
+            if ((i==7) && (j==7)) {   Feld("lightblue");   Punkte(2); }
+            if ((i==3) && (j==7)) {   Feld("lightblue");   Punkte(2);}
+            if ((i==7) && (j==3)) {   Feld("lightblue");   Punkte(2);}
+            if ((i==8) && (j==4)) {   Feld("lightblue");   Punkte(2);}
+            if ((i==4) && (j==8)) {   Feld("lightblue");   Punkte(2);}
+            if ((i==1) && (j==4)) {   Feld("lightblue");   Punkte(2);}
+            if ((i==4) && (j==1)) {   Feld("lightblue");   Punkte(2);}
 
             // ansonsten normales Feld
             Feld("lightgreen");
-            
-        
          }
           } // End For J
      } // End For I
 
 
+}
 
-
-     // Basisfeld erstellen
+// Basisfeld erstellen
 module Feld(Farbe)
 {
     difference()
@@ -74,5 +94,39 @@ module Feld(Farbe)
    
 }
 
+module Punkte(AnzahlPunkte)
+{
+    if (AnzahlPunkte==2)
+    {
+        translate ([Kante/3, Kante/3, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
+        translate ([Kante/3*2, Kante/3*2, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false); 
+    }
+    if (AnzahlPunkte==3)
+    {
+        translate ([Kante/4, Kante/4, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false);
+        translate ([Kante/4*2, Kante/4*2, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false); 
+        translate ([Kante/4*3, Kante/4*3, Hoehe-Randhoehe]) cylinder(Randhoehe/2,2,1, center=false); 
+    }
+}
+
+
+
+module Striche(AnzahlStriche)
+{
+  if (AnzahlStriche==2)
+    {
+        translate ([Kante/3-Kantenbreite/2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
+        translate ([Kante/3*2-Kantenbreite/2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]); 
+    }
+    if (AnzahlStriche==3)
+    {
+        translate ([Kante/4, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]);
+        translate ([Kante/4*2, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]); 
+        translate ([Kante/4*3, Kante/4, Hoehe-Randhoehe]) cube([Randhoehe/2,Kante/2,Randhoehe/2]); 
+    }
+}
+
+
+