diff --git a/Colors.java b/Colors.java new file mode 100644 index 0000000..aef76cf --- /dev/null +++ b/Colors.java @@ -0,0 +1,109 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Write a description of class Colors here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class Colors extends World implements ButtonEvent +{ + Button schwarz = new Button ("Schwarz", 16, this); + Button blau = new Button ("Blau", 16, this); + Button grün = new Button ("Grün", 16, this); + Button rot = new Button ("Rot", 16, this); + Button lila = new Button ("Lila", 16, this); + Button gelb = new Button ("Gelb", 16, this); + Button weiter = new Button ("Weiter", 16, this); + int [] color = new int [6]; + String [] pn = new String [6]; + int x; + boolean possw = true; + boolean posbl = true; + boolean posgr = true; + boolean posrt = true; + boolean posgb = true; + boolean posli = true; + int sw = 1; + int bl = 2; + int gr = 3; + int rt = 4; + int gb = 5; + int li = 6; + + /** + * Constructor for objects of class Colors. + * + */ + public Colors() + { + super(1600, 900, 1); + addObject(schwarz, 10, 10); + addObject ( blau, 25, 10); + addObject ( grün, 40, 10); + addObject ( rot, 55, 10); + addObject(gelb, 70, 10); + addObject(lila, 85, 10); + + } + // Überprüft, ob ein Farbbutton geklickt wurde + //Überprüft, ob die Farbe noch nicht ausgewählt wurde + // Wenn alle Bedingungen erfüllt wurden: + // Setzt die aktuelle Stelle des Farbarrays gleich der Zahl der aktuellen Farbe + // erhöht die Variable zum Durchzählen um eins + // verhindert durch falschsetzten einer Variable die Wiederauswahl einer Farbe + // wenn Weiter geklickt wurde und x größer 1 ist wird eine neue Welt Map erzeugt, + //der per Konstruktor die Daten der Colorklasse übertragen werden, dannach wird die Map die aktive Welt + public void buttonClicked (Button b) + { + if ( b == schwarz && possw == true) + { + color [x] = sw; + pn[x]="Schwarz"; + x+=1; + possw = false; + } + if (b == blau && posbl == true) + { + color[x] = bl; + pn[x] = "Blau"; + x+=1; + posbl = false; + } + if (b == grün && posgr == true ) + { + color[x] = gr; + pn[x]="Grün"; + x+=1; + posgr = false; + } + if ( b == rot && posrt == true) + { + color[x] = rt; + pn[x]="Rot"; + x+=1; + posrt = false; + } + if ( b == gelb && posgb == true) + { + color [x] = gb; + pn[x]="Gelb"; + x+=1; + posgb = false; + } + if ( b == lila && posli == true) + { + color [x] = li; + pn[x]="Lila"; + x+=1; + posli = false; + } + if ( b == weiter && x >1) + { + Map m = new Map(color, x,pn); + addObject(m); + setWorld(Map,m); + } + } + +} diff --git a/Colours.class b/Colours.class new file mode 100644 index 0000000..2dde27b Binary files /dev/null and b/Colours.class differ diff --git a/Colours.ctxt b/Colours.ctxt new file mode 100644 index 0000000..a4c8b15 --- /dev/null +++ b/Colours.ctxt @@ -0,0 +1,9 @@ +#BlueJ class context +comment0.target=Colours +comment0.text=\r\n\ Write\ a\ description\ of\ class\ Colours\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n +comment1.params= +comment1.target=Colours() +comment1.text=\r\n\ Constructor\ for\ objects\ of\ class\ Colours.\r\n\ \r\n +comment2.params=b +comment2.target=void\ buttonClicked(Button) +numComments=3 diff --git a/Colours.java b/Colours.java new file mode 100644 index 0000000..1f16b6a --- /dev/null +++ b/Colours.java @@ -0,0 +1,117 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Write a description of class Colors here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class Colours extends World implements ButtonEvent +{ + Button schwarz = new Button ("Schwarz", 16, this); + Button blau = new Button ("Blau", 16, this); + Button grün = new Button ("Grün", 16, this); + Button rot = new Button ("Rot", 16, this); + Button lila = new Button ("Lila", 16, this); + Button gelb = new Button ("Gelb", 16, this); + Button weiter = new Button ("Weiter", 16, this); + int [] color = new int [6]; + String [] pn = new String [6]; + int x = 0; + boolean possw = true; + boolean posbl = true; + boolean posgr = true; + boolean posrt = true; + boolean posgb = true; + boolean posli = true; + int sw = 1; + int bl = 2; + int gr = 3; + int rt = 4; + int gb = 5; + int li = 6; + + /** + * Constructor for objects of class Colors. + * + */ + public Colours(int x, int y, int z) + { + + super(x, y, z); + addObject(schwarz, 10, 10); + addObject ( blau, 35, 10); + addObject ( grün, 55, 10); + addObject ( rot, 75, 10); + addObject(gelb, 100, 10); + addObject(lila, 125, 10); + addObject (weiter, 200,10); + + } + // Überprüft, ob ein Farbbutton geklickt wurde + //Überprüft, ob die Farbe noch nicht ausgewählt wurde + // Wenn alle Bedingungen erfüllt wurden: + // Setzt die aktuelle Stelle des Farbarrays gleich der Zahl der aktuellen Farbe + // erhöht die Variable zum Durchzählen um eins + // verhindert durch falschsetzten einer Variable die Wiederauswahl einer Farbe + // wenn Weiter geklickt wurde und x größer 1 ist wird eine neue Welt Map erzeugt, + //der per Konstruktor die Daten der Colorklasse übertragen werden, dannach wird die Map die aktive Welt + public void buttonClicked (Button b) + { + if ( b == schwarz && possw == true) + { + color [x] = sw; + pn[x]="Schwarz"; + x+=1; + possw = false; + } + if (b == blau && posbl == true) + { + color[x] = bl; + pn[x] = "Blau"; + x+=1; + posbl = false; + } + if (b == grün && posgr == true ) + { + color[x] = gr; + pn[x]="Grün"; + x+=1; + posgr = false; + } + if ( b == rot && posrt == true) + { + color[x] = rt; + pn[x]="Rot"; + x+=1; + posrt = false; + } + if ( b == gelb && posgb == true) + { + color [x] = gb; + pn[x]="Gelb"; + x+=1; + posgb = false; + } + if ( b == lila && posli == true) + { + color [x] = li; + pn[x]="Lila"; + x+=1; + posli = false; + } + if ( b == weiter && x >=2 ) + { + String[] newpn = new String[x]; + int[] newcolor = new int[x]; + for (int i = 0; i< x; i++) + { + newpn[i] = pn[i]; + newcolor[i] = color[i]; + } + World m = new Map(newcolor, x,newpn); + Greenfoot.setWorld(m); + } + } + +} diff --git a/GeneralMap.class b/GeneralMap.class new file mode 100644 index 0000000..6babcee Binary files /dev/null and b/GeneralMap.class differ diff --git a/GeneralMap.ctxt b/GeneralMap.ctxt new file mode 100644 index 0000000..abb1e5b --- /dev/null +++ b/GeneralMap.ctxt @@ -0,0 +1,31 @@ +#BlueJ class context +comment0.target=GeneralMap +comment0.text=\r\n\tOberklasse\ f\u00FCr\ verschiedene\ Maps;\r\n\tneue\ Maps\ werden\ als\ Unterklasse\ dieser\ Klasse\ eingef\u00FCgt.\r\n\r\n\t@author\ GruenerWal,\ MaxiJohl,\ Felix\ Stupp\r\n\t@version\ 0.3.0\r\n +comment1.params=backImage\ playerList\ colorList +comment1.target=GeneralMap(java.lang.String,\ java.lang.String[],\ int[]) +comment1.text=\r\n\t\tErstellt\ eine\ GeneralMap\ mit\ allen\ Eigenschaften\ und\ initialisiert\ die\ Arrays\ f\u00FCr\ Provinzen\ und\ Spieler.\r\n\t\t@param\ backImage\ Das\ Hintergrundbild,\ welches\ von\ dieser\ Klasse\ geladen\ und\ dargestellt\ wird.\r\n\t\t@param\ playerList\ Die\ Liste\ mit\ den\ Namen\ der\ Spieler\r\n\t\t@param\ colorList\ Die\ Liste\ mit\ den\ Farben\ der\ Spieler\r\n +comment2.params= +comment2.target=void\ initProvinces() +comment2.text=\r\n\t\tF\u00FCgt\ alle\ Provinzen\ aus\ dem\ Array\ der\ Welt\ an\ der\ entsprechden\ Stelle\ zu.\r\n +comment3.params= +comment3.target=int\ getPlayerCount() +comment3.text=\r\n\t\tGibt\ die\ Anzahl\ der\ vorhandenen\ Spieler\ aus.\r\n +comment4.params= +comment4.target=java.lang.String\ getPlayerName() +comment4.text=\r\n\t\tGibt\ den\ Namen\ des\ aktuellen\ Spielers\ aus.\r\n\t\t@return\ Der\ Name\ des\ aktuellen\ Spielers\r\n +comment5.params=plID +comment5.target=java.lang.String\ getPlayerName(int) +comment5.text=\r\n\t\tGibt\ den\ Namen\ des\ Spielers\ aus,\ dem\ dessen\ ID\ geh\u00F6rt.\r\n\t\t@param\ plID\ Die\ ID\ des\ zu\ findenden\ Spielers\r\n\t\t@return\ Der\ Name\ des\ Spielers\r\n +comment6.params= +comment6.target=int\ getPlayerStars() +comment6.text=\r\n\t\tGibt\ die\ Anzahl\ der\ Sterne\ des\ aktuellen\ Spielers\ zur\u00FCck.\r\n\t\t@return\ Die\ Anzahl\ der\ Sterne\ des\ aktuellen\ Spielers\r\n +comment7.params=prID +comment7.target=int\ getProvinceOwner(int) +comment7.text=\r\n\t\tGibt\ die\ ID\ des\ Spielers\ zur\u00FCck,\ dem\ die\ gefragte\ Provinz\ geh\u00F6rt.\r\n\t\t@param\ prID\ Die\ gefragte\ Provinz\r\n +comment8.params= +comment8.target=int[]\ getProvinceOwners() +comment8.text=\r\n\t\tGibt\ eine\ Liste\ mit\ allen\ Provinzen\ und\ deren\ Besitzern\ zur\u00FCck.\r\n\t\t@return\ Array\ mit\ der\ Provinz-ID\ als\ Index\ und\ dem\ Besitzer\ als\ Wert\r\n +comment9.params=playerID +comment9.target=int\ getProvinceEntityCount(int) +comment9.text=\r\n\t\tZ\u00E4hlt\ die\ Anzahl\ der\ Einheiten\ von\ allen\ Provinzen\ zusammen,\ die\ einem\ bestimmten\ Spieler\ geh\u00F6rt.\r\n\t\t@param\ playerID\ Die\ ID\ des\ Spielers,\ f\u00FCr\ den\ die\ Einheiten\ gez\u00E4hlt\ werden\ sollen.\r\n\t\t@return\ Die\ Anzahl\ der\ Einheiten,\ die\ dem\ Spieler\ geh\u00F6ren.\r\n +numComments=10 diff --git a/Map.class b/Map.class new file mode 100644 index 0000000..e2f2d47 Binary files /dev/null and b/Map.class differ diff --git a/Map.ctxt b/Map.ctxt new file mode 100644 index 0000000..e275363 --- /dev/null +++ b/Map.ctxt @@ -0,0 +1,8 @@ +#BlueJ class context +comment0.target=Map +comment0.text=\r\n\ Write\ a\ description\ of\ class\ Map\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n +comment1.params=bunt\ zahl\ name +comment1.target=Map(int[],\ int,\ java.lang.String[]) +comment2.params=b +comment2.target=void\ buttonClicked(Button) +numComments=3 diff --git a/Map.java b/Map.java new file mode 100644 index 0000000..bbc56b2 --- /dev/null +++ b/Map.java @@ -0,0 +1,68 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Write a description of class Map here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class Map extends World implements ButtonEvent +{ + private Button map1 = new Button ("map1",16,this); + private Button map2 = new Button ("map2",16,this); + private Button fertigst = new Button (" Fertigstellen",16,this); + int [] colour = new int[6]; + String [] pn = new String [6]; + int pnu; + //private int x; + //private int y; + private int m=0; + private Map_World MW ; + // int [] newcolour = new int [pnu]; + // String [] newpn = new String [pnu]; + public Map( int [] bunt, int zahl , String [] name) + { + + super (1600,900,1); + for (int i=0; i