diff --git a/Colours.java b/Colours.java index 8675db2..fcd1200 100644 --- a/Colours.java +++ b/Colours.java @@ -8,118 +8,129 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) */ 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, 50, 30); - addObject ( blau, 170, 30); - addObject ( grün, 280, 30); - addObject ( rot, 390, 30); - addObject(gelb, 500, 30); - addObject(lila, 610, 30); - addObject (weiter, 335,90); - schwarz.setSize(100, 50); - gelb.setSize(100, 50); - blau.setSize(100, 50); - grün.setSize(100, 50); - rot.setSize(100, 50); - lila.setSize(100, 50); - weiter.setSize(100, 50); - - } - // Ü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); - } - } - + 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, 50, 30); + addObject ( blau, 170, 30); + addObject ( grün, 280, 30); + addObject ( rot, 390, 30); + addObject(gelb, 500, 30); + addObject(lila, 610, 30); + addObject (weiter, 335,90); + schwarz.setSize(100, 50); + gelb.setSize(100, 50); + blau.setSize(100, 50); + grün.setSize(100, 50); + rot.setSize(100, 50); + lila.setSize(100, 50); + weiter.setSize(100, 50); + + } + // Ü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; + System.out.println("HI"); + } + if (b == blau && posbl == true) + { + color[x] = bl; + pn[x] = "Blau"; + x+=1; + posbl = false; + System.out.println("HI"); + } + if (b == grün && posgr == true ) + { + color[x] = gr; + pn[x]="Grün"; + x+=1; + posgr = false; + System.out.println("HI"); + } + if ( b == rot && posrt == true) + { + color[x] = rt; + pn[x]="Rot"; + x+=1; + posrt = false; + System.out.println("HI"); + } + if ( b == gelb && posgb == true) + { + color [x] = gb; + pn[x]="Gelb"; + x+=1; + posgb = false; + System.out.println("HI"); + } + if ( b == lila && posli == true) + { + color [x] = li; + pn[x]="Lila"; + x+=1; + posli = false; + System.out.println("HI"); + } + 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); + System.out.println("HIFertig"); + System.out.println(x); + } + + } } + + diff --git a/Map.java b/Map.java index 59f39cf..f410d16 100644 --- a/Map.java +++ b/Map.java @@ -11,8 +11,8 @@ 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[] colour; + String[] pn; int pnu; //private int x; //private int y; @@ -20,11 +20,12 @@ public class Map extends World implements ButtonEvent private Map_World MW ; // int [] newcolour = new int [pnu]; // String [] newpn = new String [pnu]; - public Map( int [] bunt, int zahl , String [] name) + public Map( int[] bunt, int zahl , String [] name) { - super (1600,900,1); - for (int i=0; i