diff --git a/Colours.java b/Colours.java new file mode 100644 index 0000000..8675db2 --- /dev/null +++ b/Colours.java @@ -0,0 +1,125 @@ +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, 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); + } + } + +} diff --git a/Map.java b/Map.java new file mode 100644 index 0000000..59f39cf --- /dev/null +++ b/Map.java @@ -0,0 +1,72 @@ +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