X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/a59a17bc06ff588310f7ae3deb90600e25052694..b67a17c452cd0b434aa200228f6c707704f155b5:/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw diff --git a/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw b/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw index e9f00dfda..8b30bbc24 100644 --- a/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw +++ b/Gesellschaftsspiel-Replikator%2FScrabbleBrett.mw @@ -1,14 +1,19 @@ + +[[Datei:Ein Viertel Scrabble-Brett.PNG|thumb|OpenSCAD Entwurf von einem Scrabble-Brett (ein Viertel)]] +
-// 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 +21,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 +41,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 +90,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]); + } +} + + +