Zuweisung zu Packages

Um eine bessere Sortierung zu erhalten und um identisch benannte Klassen
von unserem Projekt und von JavaFX unterscheiden zu können.
master
Zocker1999NET 8 years ago
parent 4097b17320
commit 7027ff806f

@ -1,142 +1,144 @@
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
import java.awt.Graphics2D;
/**
Diese Klasse stellt einen Button dar.
Als funktionelles Vorbild dafuer haelt der Button aus dem .NET-Framework fuer UWP-Apps dar.
@author Felix Stupp
@version 20.05.2016
*/
public class Bildbutton extends GUI_Interface {
private boolean autoSize = false;
protected GreenfootImage picture = new GreenfootImage(1,1);
private ButtonEvent handler;
/**
Erstellt einen Button mit dem gegebenen Text und der zugehoerigen Textgroeße.
@param txt Der Text, den der Button darstellen soll.
@param size Die Textgroeße, in der der Button den Text darstellen soll.
*/
public Bildbutton(GreenfootImage pict) {
picture = pict;
redrawInternal();
}
/**
Erstellt einen Button mit dem gegebenen Objekt als Event-Handler.
@param h Der Handler mit dem Interface ButtonEvent implementiert.
*/
public Bildbutton(ButtonEvent h) {
handler = h;
redrawInternal();
}
/**
Erstellt einen Button mit dem gegebenen Text, der zugehoerigen Textgroeße und dem gegebenen Objekt als Event-Handler.
@param txt Der Text, den der Button darstellen soll.
@param size Die Textgroeße, in der der Button den Text darstellen soll.
@param h Der Handler mit dem Interface ButtonEvent implementiert.
*/
public Bildbutton(GreenfootImage pict, ButtonEvent h) {
picture = pict;
handler = h;
redrawInternal();
}
/**
Fragt ab, ob ein Klick auf den Button gekommen ist.
Wird intern von Greenfoot benoetigt.
*/
public void act() {
if(Greenfoot.mouseClicked(this) && handler != this) {
handler.buttonClicked(this);
}
}
/**
Gibt zurueck, ob die Groeße des Buttons von dem Text bestimmt werden soll.
@return Wert der AutoSize-Eigenschaft
*/
public boolean getAutoSize() {
return autoSize;
}
/**
Legt fest, ob die Groeße des Buttons von dem Text bestimmt werden soll.
Wird der Wert auf TRUE geaendert, erfolgt automatisch ein Redraw des Objekts.
@param b Der neue Wert der AutoSize-Eigenschaft.
*/
public void setAutoSize(boolean b) {
autoSize = b;
if(autoSize) {
redraw();
}
}
/**
Gibt den aktuellen Text zurueck.
@return Der aktuelle Text
*/
public GreenfootImage getPicture() {
return picture;
}
/**
Setzt den darzustellenden Text auf den neuen Wert.
@param s Der neue Text
@return Gibt an, ob sich der Text geaendert hat. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setPicture(GreenfootImage s) {
if(picture != s) {
picture = s;
redraw();
return true;
}
return false;
}
/**
Gibt den aktuellen EventHandler des Buttons zurueck.
@return Der Handler als ButtonEvent
*/
public ButtonEvent getHandler() {
return handler;
}
/**
Setzt den EventHandler auf ein neues Objekt.
@param h Der Handler mit implementiertem ButtonEvent-Interface
*/
public void setHandler(ButtonEvent h) {
handler = h;
}
/**
Entfernt den aktuellen EventHandler, um die Ausfuehrung zukuenftiger Events zu verhindern.
*/
public void removeHandler() {
handler = null;
}
protected void redrawInternal() {
GreenfootImage tI = picture;
if(autoSize) {
sx = tI.getWidth() + (6 * 2) + 4;
sy = tI.getHeight() + (6 * 2) + 4;
}
GreenfootImage all = new GreenfootImage(sx,sy);
Color trans = new Color(0,0,0,0);
all.setColor(trans);
all.fill();
Graphics2D g = all.getAwtImage().createGraphics();
g.setColor(backC);
g.fillRoundRect(0,0,sx,sy,24,24);
all.drawImage(tI,(sx-tI.getWidth())/2,(sy-tI.getHeight())/2);
setImage(all);
}
/**
Zeichnet das GreenfootImage des Buttons erneut und zeigt es an.
*/
public void redraw() {
redrawInternal();
}
}
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
import java.awt.Graphics2D;
/**
Diese Klasse stellt einen Button dar.
Als funktionelles Vorbild dafuer haelt der Button aus dem .NET-Framework fuer UWP-Apps dar.
@author Felix Stupp
@version 20.05.2016
*/
public class Bildbutton extends GUI_Interface {
private boolean autoSize = false;
protected GreenfootImage picture = new GreenfootImage(1,1);
private ButtonEvent handler;
/**
Erstellt einen Button mit dem gegebenen Text und der zugehoerigen Textgroeße.
@param txt Der Text, den der Button darstellen soll.
@param size Die Textgroeße, in der der Button den Text darstellen soll.
*/
public Bildbutton(GreenfootImage pict) {
picture = pict;
redrawInternal();
}
/**
Erstellt einen Button mit dem gegebenen Objekt als Event-Handler.
@param h Der Handler mit dem Interface ButtonEvent implementiert.
*/
public Bildbutton(ButtonEvent h) {
handler = h;
redrawInternal();
}
/**
Erstellt einen Button mit dem gegebenen Text, der zugehoerigen Textgroeße und dem gegebenen Objekt als Event-Handler.
@param txt Der Text, den der Button darstellen soll.
@param size Die Textgroeße, in der der Button den Text darstellen soll.
@param h Der Handler mit dem Interface ButtonEvent implementiert.
*/
public Bildbutton(GreenfootImage pict, ButtonEvent h) {
picture = pict;
handler = h;
redrawInternal();
}
/**
Fragt ab, ob ein Klick auf den Button gekommen ist.
Wird intern von Greenfoot benoetigt.
*/
public void act() {
if(Greenfoot.mouseClicked(this) && handler != this) {
handler.buttonClicked(this);
}
}
/**
Gibt zurueck, ob die Groeße des Buttons von dem Text bestimmt werden soll.
@return Wert der AutoSize-Eigenschaft
*/
public boolean getAutoSize() {
return autoSize;
}
/**
Legt fest, ob die Groeße des Buttons von dem Text bestimmt werden soll.
Wird der Wert auf TRUE geaendert, erfolgt automatisch ein Redraw des Objekts.
@param b Der neue Wert der AutoSize-Eigenschaft.
*/
public void setAutoSize(boolean b) {
autoSize = b;
if(autoSize) {
redraw();
}
}
/**
Gibt den aktuellen Text zurueck.
@return Der aktuelle Text
*/
public GreenfootImage getPicture() {
return picture;
}
/**
Setzt den darzustellenden Text auf den neuen Wert.
@param s Der neue Text
@return Gibt an, ob sich der Text geaendert hat. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setPicture(GreenfootImage s) {
if(picture != s) {
picture = s;
redraw();
return true;
}
return false;
}
/**
Gibt den aktuellen EventHandler des Buttons zurueck.
@return Der Handler als ButtonEvent
*/
public ButtonEvent getHandler() {
return handler;
}
/**
Setzt den EventHandler auf ein neues Objekt.
@param h Der Handler mit implementiertem ButtonEvent-Interface
*/
public void setHandler(ButtonEvent h) {
handler = h;
}
/**
Entfernt den aktuellen EventHandler, um die Ausfuehrung zukuenftiger Events zu verhindern.
*/
public void removeHandler() {
handler = null;
}
protected void redrawInternal() {
GreenfootImage tI = picture;
if(autoSize) {
sx = tI.getWidth() + (6 * 2) + 4;
sy = tI.getHeight() + (6 * 2) + 4;
}
GreenfootImage all = new GreenfootImage(sx,sy);
Color trans = new Color(0,0,0,0);
all.setColor(trans);
all.fill();
Graphics2D g = all.getAwtImage().createGraphics();
g.setColor(backC);
g.fillRoundRect(0,0,sx,sy,24,24);
all.drawImage(tI,(sx-tI.getWidth())/2,(sy-tI.getHeight())/2);
setImage(all);
}
/**
Zeichnet das GreenfootImage des Buttons erneut und zeigt es an.
*/
public void redraw() {
redrawInternal();
}
}

@ -1,107 +1,111 @@
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
import java.awt.Graphics2D;
/**
Diese Klasse stellt einen Button dar.
Als funktionelles Vorbild dafuer haelt der Button aus dem .NET-Framework fuer UWP-Apps dar.
@author Felix Stupp
@version 20.05.2016
*/
public class Button extends Bildbutton {
private int textSize = 32; // as default text size
private String text = "";
/**
Erstellt einen Button mit dem gegebenen Text und der zugehoerigen Textgroeße.
@param txt Der Text, den der Button darstellen soll.
@param size Die Textgroeße, in der der Button den Text darstellen soll.
*/
public Button(String txt, int size) {
super(new GreenfootImage(txt,size,Color.WHITE,Color.BLACK));
text = txt;
textSize = size;
redraw();
}
/**
Erstellt einen Button mit dem gegebenen Objekt als Event-Handler.
@param h Der Handler mit dem Interface ButtonEvent implementiert.
*/
public Button(ButtonEvent h) {
super(h);
redraw();
}
/**
Erstellt einen Button mit dem gegebenen Text, der zugehoerigen Textgroeße und dem gegebenen Objekt als Event-Handler.
@param txt Der Text, den der Button darstellen soll.
@param size Die Textgroeße, in der der Button den Text darstellen soll.
@param h Der Handler mit dem Interface ButtonEvent implementiert.
*/
public Button(String txt, int size, ButtonEvent h) {
super(new GreenfootImage(txt,size,Color.WHITE,Color.BLACK),h);
text = txt;
textSize = size;
redraw();
}
/**
Gibt die aktelle Textgroeße zurueck.
@return Aktuelle Textgroeße
*/
public int getTextSize() {
return textSize;
}
/**
Legt eine neue Textgroeße fest.
@param s Neue Textgroeße
@return Gibt an, ob sich die Textgroeße geaendert hat. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setTextSize(int s) {
if(textSize != s && s > 0) {
textSize = s;
redraw();
return true;
}
return false;
}
/**
Gibt den aktuellen Text zurueck.
@return Der aktuelle Text
*/
public String getText() {
return text;
}
/**
Setzt den darzustellenden Text auf den neuen Wert.
@param s Der neue Text
@return Gibt an, ob sich der Text geaendert hat. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setText(String s) {
if(text != s) {
text = s;
redraw();
return true;
}
return false;
}
public GreenfootImage getPicture() {
return null;
}
public boolean setPicture(GreenfootImage i) {
return false;
}
/**
Zeichnet das GreenfootImage des Buttons erneut und zeigt es an.
*/
public void redraw() {
//picture = new GreenfootImage(text,textSize,Color.BLACK,Color.WHITE);
picture = new GreenfootImage(text,textSize,foreC,backC);
super.redraw();
}
}
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
import java.awt.Graphics2D;
/**
Diese Klasse stellt einen Button dar.
Als funktionelles Vorbild dafuer haelt der Button aus dem .NET-Framework fuer UWP-Apps dar.
@author Felix Stupp
@version 20.05.2016
*/
public class Button extends Bildbutton {
private int textSize = 32; // as default text size
private String text = "";
/**
Erstellt einen Button mit dem gegebenen Text und der zugehoerigen Textgroeße.
@param txt Der Text, den der Button darstellen soll.
@param size Die Textgroeße, in der der Button den Text darstellen soll.
*/
public Button(String txt, int size) {
super(new GreenfootImage(txt,size,Color.WHITE,Color.BLACK));
text = txt;
textSize = size;
redraw();
}
/**
Erstellt einen Button mit dem gegebenen Objekt als Event-Handler.
@param h Der Handler mit dem Interface ButtonEvent implementiert.
*/
public Button(ButtonEvent h) {
super(h);
redraw();
}
/**
Erstellt einen Button mit dem gegebenen Text, der zugehoerigen Textgroeße und dem gegebenen Objekt als Event-Handler.
@param txt Der Text, den der Button darstellen soll.
@param size Die Textgroeße, in der der Button den Text darstellen soll.
@param h Der Handler mit dem Interface ButtonEvent implementiert.
*/
public Button(String txt, int size, ButtonEvent h) {
super(new GreenfootImage(txt,size,Color.WHITE,Color.BLACK),h);
text = txt;
textSize = size;
redraw();
}
/**
Gibt die aktelle Textgroeße zurueck.
@return Aktuelle Textgroeße
*/
public int getTextSize() {
return textSize;
}
/**
Legt eine neue Textgroeße fest.
@param s Neue Textgroeße
@return Gibt an, ob sich die Textgroeße geaendert hat. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setTextSize(int s) {
if(textSize != s && s > 0) {
textSize = s;
redraw();
return true;
}
return false;
}
/**
Gibt den aktuellen Text zurueck.
@return Der aktuelle Text
*/
public String getText() {
return text;
}
/**
Setzt den darzustellenden Text auf den neuen Wert.
@param s Der neue Text
@return Gibt an, ob sich der Text geaendert hat. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setText(String s) {
if(text != s) {
text = s;
redraw();
return true;
}
return false;
}
public GreenfootImage getPicture() {
return null;
}
public boolean setPicture(GreenfootImage i) {
return false;
}
/**
Zeichnet das GreenfootImage des Buttons erneut und zeigt es an.
*/
public void redraw() {
//picture = new GreenfootImage(text,textSize,Color.BLACK,Color.WHITE);
picture = new GreenfootImage(text,textSize,foreC,backC);
super.redraw();
}
}

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*;
/**

@ -1,223 +1,227 @@
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
import javax.swing.JOptionPane;
/**
* Write a description of class Colors here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Colours extends World implements ButtonEvent
{
Bildbutton schwarz = new Bildbutton (new GreenfootImage("SchwarzeArmeeSkal.png"), this);
Bildbutton blau = new Bildbutton (new GreenfootImage("BlaueArmeeSkal.png"), this);
Bildbutton rot = new Bildbutton (new GreenfootImage("RoteArmeeSkal.png"), this);
Bildbutton gelb = new Bildbutton (new GreenfootImage("GelbeArmeeSkal.png"), this);
Bildbutton lila = new Bildbutton (new GreenfootImage("LilaArmeeSkal.png"), this);
Bildbutton gruen = new Bildbutton (new GreenfootImage("GrueneArmeeSkal.png"), this);
Button weiter = new Button ("Weiter", 16, this);
int[] color = new int [5];
String[] pn = new String [5];
int x = 0;
boolean possw = true; // schwarz
boolean posbl = true; // blau
boolean posgr = true; // gruen
boolean posrt = true; // rot
boolean posgb = true; // gelb
boolean posli = true; // lila
int sw = 1;
int bl = 2;
int gr = 3;
int rt = 4;
int gb = 5;
int li = 6;
Label header = new Label("Klicke auf eine Farbe, um einen Spieler hinzuzufuegen:",16);
Button remove = new Button("Rueckgaengig",16,this);
Label pl1 = new Label("",22);
Label pl2 = new Label("",22);
Label pl3 = new Label("",22);
Label pl4 = new Label("",22);
Label pl5 = new Label("",22);
/**
* Constructor for objects of class Colors.
*
*/
public Colours(int x, int y, int z)
{
super(x, y, z);
setBackground(Start_Load.backgroundImage);
Bildbutton[] bList = new Bildbutton[] {schwarz,gelb,blau,gruen,rot,lila,weiter,remove};
Label[] lList = new Label[] {header,pl1,pl2,pl3,pl4,pl5};
addObject(header,200,15);
addObject(schwarz, 80, 50);
addObject ( blau, 240, 50);
addObject ( gruen, 400, 50);
addObject ( rot, 560, 50);
addObject(gelb, 720, 50);
addObject(lila, 880, 50);
addObject(remove,300,160);
addObject (weiter, 510,160);
addObject(pl1,355,360);
addObject(pl2,355,380);
addObject(pl3,355,400);
addObject(pl4,355,420);
addObject(pl5,355,440);
//schwarz.setForeColor(Color.black);
//gelb.setForeColor(Color.yellow);
//blau.setForeColor(Color.blue);
//gruen.setForeColor(Color.green);
//rot.setForeColor(Color.red);
//lila.setForeColor(new Color(161,70,255));
pl1.setForeColor(Color.black);
pl2.setForeColor(Color.black);
pl3.setForeColor(Color.black);
pl4.setForeColor(Color.black);
pl5.setForeColor(Color.black);
for(int i = 0; i < bList.length; i++) {
bList[i].setSize(164,100);
}
for(int i = 0; i < lList.length; i++) {
lList[i].setBackColor(new Color(0,0,0,0));
}
redraw();
}
// ueberprueft, ob ein Farbbutton geklickt wurde
//ueberprueft, ob die Farbe noch nicht ausgewaehlt wurde
// Wenn alle Bedingungen erfuellt wurden:
// Setzt die aktuelle Stelle des Farbarrays gleich der Zahl der aktuellen Farbe
// erhoeht die Variable zum Durchzaehlen um eins
// verhindert durch falschsetzten einer Variable die Wiederauswahl einer Farbe
// wenn Weiter geklickt wurde und x groeßer 1 ist wird eine neue Welt Map erzeugt,
//der per Konstruktor die Daten der Colorklasse uebertragen werden, dannach wird die Map die aktive Welt
public void buttonClicked (Bildbutton b)
{
if (x < 5) {
if (b == schwarz && possw == true) {
color[x] = sw;
pn[x]=getName(x,"Schwarz");
if(pn[x].length() > 0) {
x+=1;
possw = false;
}
} else if (b == blau && posbl == true) {
color[x] = bl;
pn[x]=getName(x,"Blau");
if(pn[x].length() > 0) {
x+=1;
posbl = false;
}
} else if (b == gruen && posgr == true ) {
color[x] = gr;
pn[x]=getName(x,"Gruen");
if(pn[x].length() > 0) {
x+=1;
posgr = false;
}
} else if (b == rot && posrt == true) {
color[x] = rt;
pn[x]=getName(x,"Rot");
if(pn[x].length() > 0) {
x+=1;
posrt = false;
}
} else if (b == gelb && posgb == true) {
color [x] = gb;
pn[x]=getName(x,"Gelb");
if(pn[x].length() > 0) {
x+=1;
posgb = false;
}
} else if (b == lila && posli == true) {
color [x] = li;
pn[x]=getName(x,"Lila");
if(pn[x].length() > 0) {
x+=1;
posli = false;
}
}
}
if(b == remove && x > 0) {
x -= 1;
switch(color[x]) {
case 1: possw = true; break;
case 2: posbl = true; break;
case 3: posgr = true; break;
case 4: posrt = true; break;
case 5: posgb = true; break;
case 6: posli = true; break;
}
}
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);
}
redraw();
}
private Color getC(boolean pos) {
if(x >= 5) {
return Color.gray;
}
return (pos) ? Color.lightGray : Color.gray;
}
/**
Passt alle adaptiven Parameter automatisch an.
*/
private void redraw() {
schwarz.setBackColor(getC(possw));
blau.setBackColor(getC(posbl));
gruen.setBackColor(getC(posgr));
rot.setBackColor(getC(posrt));
lila.setBackColor(getC(posli));
gelb.setBackColor(getC(posgb));
remove.setBackColor((x > 0) ? Color.black : Color.gray);
weiter.setBackColor((x > 2) ? Color.black : Color.gray);
pl1.setText("");
pl2.setText("");
pl3.setText("");
pl4.setText("");
pl5.setText("");
switch(x) {
case 5:
pl5.setText(pn[4]);
case 4:
pl4.setText(pn[3]);
case 3:
pl3.setText(pn[2]);
case 2:
pl2.setText(pn[1]);
case 1:
pl1.setText(pn[0]);
}
}
private String getName(int id, String col) {
String name = JOptionPane.showInputDialog(null, "Wie soll Spieler Nr. "+(id+1)+" mit der Farbe "+col+" heißen?");
if(name == null) {
name = "";
}
return name;
}
}
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
import javax.swing.JOptionPane;
/**
* Write a description of class Colors here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Colours extends World implements ButtonEvent
{
Bildbutton schwarz = new Bildbutton (new GreenfootImage("SchwarzeArmeeSkal.png"), this);
Bildbutton blau = new Bildbutton (new GreenfootImage("BlaueArmeeSkal.png"), this);
Bildbutton rot = new Bildbutton (new GreenfootImage("RoteArmeeSkal.png"), this);
Bildbutton gelb = new Bildbutton (new GreenfootImage("GelbeArmeeSkal.png"), this);
Bildbutton lila = new Bildbutton (new GreenfootImage("LilaArmeeSkal.png"), this);
Bildbutton gruen = new Bildbutton (new GreenfootImage("GrueneArmeeSkal.png"), this);
Button weiter = new Button ("Weiter", 16, this);
int[] color = new int [5];
String[] pn = new String [5];
int x = 0;
boolean possw = true; // schwarz
boolean posbl = true; // blau
boolean posgr = true; // gruen
boolean posrt = true; // rot
boolean posgb = true; // gelb
boolean posli = true; // lila
int sw = 1;
int bl = 2;
int gr = 3;
int rt = 4;
int gb = 5;
int li = 6;
Label header = new Label("Klicke auf eine Farbe, um einen Spieler hinzuzufuegen:",16);
Button remove = new Button("Rueckgaengig",16,this);
Label pl1 = new Label("",22);
Label pl2 = new Label("",22);
Label pl3 = new Label("",22);
Label pl4 = new Label("",22);
Label pl5 = new Label("",22);
/**
* Constructor for objects of class Colors.
*
*/
public Colours(int x, int y, int z)
{
super(x, y, z);
setBackground(Start_Load.backgroundImage);
Bildbutton[] bList = new Bildbutton[] {schwarz,gelb,blau,gruen,rot,lila,weiter,remove};
Label[] lList = new Label[] {header,pl1,pl2,pl3,pl4,pl5};
addObject(header,200,15);
addObject(schwarz, 80, 50);
addObject ( blau, 240, 50);
addObject ( gruen, 400, 50);
addObject ( rot, 560, 50);
addObject(gelb, 720, 50);
addObject(lila, 880, 50);
addObject(remove,300,160);
addObject (weiter, 510,160);
addObject(pl1,355,360);
addObject(pl2,355,380);
addObject(pl3,355,400);
addObject(pl4,355,420);
addObject(pl5,355,440);
//schwarz.setForeColor(Color.black);
//gelb.setForeColor(Color.yellow);
//blau.setForeColor(Color.blue);
//gruen.setForeColor(Color.green);
//rot.setForeColor(Color.red);
//lila.setForeColor(new Color(161,70,255));
pl1.setForeColor(Color.black);
pl2.setForeColor(Color.black);
pl3.setForeColor(Color.black);
pl4.setForeColor(Color.black);
pl5.setForeColor(Color.black);
for(int i = 0; i < bList.length; i++) {
bList[i].setSize(164,100);
}
for(int i = 0; i < lList.length; i++) {
lList[i].setBackColor(new Color(0,0,0,0));
}
redraw();
}
// ueberprueft, ob ein Farbbutton geklickt wurde
//ueberprueft, ob die Farbe noch nicht ausgewaehlt wurde
// Wenn alle Bedingungen erfuellt wurden:
// Setzt die aktuelle Stelle des Farbarrays gleich der Zahl der aktuellen Farbe
// erhoeht die Variable zum Durchzaehlen um eins
// verhindert durch falschsetzten einer Variable die Wiederauswahl einer Farbe
// wenn Weiter geklickt wurde und x groeßer 1 ist wird eine neue Welt Map erzeugt,
//der per Konstruktor die Daten der Colorklasse uebertragen werden, dannach wird die Map die aktive Welt
public void buttonClicked (Bildbutton b)
{
if (x < 5) {
if (b == schwarz && possw == true) {
color[x] = sw;
pn[x]=getName(x,"Schwarz");
if(pn[x].length() > 0) {
x+=1;
possw = false;
}
} else if (b == blau && posbl == true) {
color[x] = bl;
pn[x]=getName(x,"Blau");
if(pn[x].length() > 0) {
x+=1;
posbl = false;
}
} else if (b == gruen && posgr == true ) {
color[x] = gr;
pn[x]=getName(x,"Gruen");
if(pn[x].length() > 0) {
x+=1;
posgr = false;
}
} else if (b == rot && posrt == true) {
color[x] = rt;
pn[x]=getName(x,"Rot");
if(pn[x].length() > 0) {
x+=1;
posrt = false;
}
} else if (b == gelb && posgb == true) {
color [x] = gb;
pn[x]=getName(x,"Gelb");
if(pn[x].length() > 0) {
x+=1;
posgb = false;
}
} else if (b == lila && posli == true) {
color [x] = li;
pn[x]=getName(x,"Lila");
if(pn[x].length() > 0) {
x+=1;
posli = false;
}
}
}
if(b == remove && x > 0) {
x -= 1;
switch(color[x]) {
case 1: possw = true; break;
case 2: posbl = true; break;
case 3: posgr = true; break;
case 4: posrt = true; break;
case 5: posgb = true; break;
case 6: posli = true; break;
}
}
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);
}
redraw();
}
private Color getC(boolean pos) {
if(x >= 5) {
return Color.gray;
}
return (pos) ? Color.lightGray : Color.gray;
}
/**
Passt alle adaptiven Parameter automatisch an.
*/
private void redraw() {
schwarz.setBackColor(getC(possw));
blau.setBackColor(getC(posbl));
gruen.setBackColor(getC(posgr));
rot.setBackColor(getC(posrt));
lila.setBackColor(getC(posli));
gelb.setBackColor(getC(posgb));
remove.setBackColor((x > 0) ? Color.black : Color.gray);
weiter.setBackColor((x > 2) ? Color.black : Color.gray);
pl1.setText("");
pl2.setText("");
pl3.setText("");
pl4.setText("");
pl5.setText("");
switch(x) {
case 5:
pl5.setText(pn[4]);
case 4:
pl4.setText(pn[3]);
case 3:
pl3.setText(pn[2]);
case 2:
pl2.setText(pn[1]);
case 1:
pl1.setText(pn[0]);
}
}
private String getName(int id, String col) {
String name = JOptionPane.showInputDialog(null, "Wie soll Spieler Nr. "+(id+1)+" mit der Farbe "+col+" heißen?");
if(name == null) {
name = "";
}
return name;
}
}

@ -1,3 +1,7 @@
package zweiundvierzig;
public class Debug3 extends Map_World {
public Debug3() {
super(

@ -1,3 +1,7 @@
package zweiundvierzig;
public class Debug4 extends Map_World {
public Debug4() {
super(

@ -1,3 +1,7 @@
package zweiundvierzig;
public class Debug5 extends Map_World {
public Debug5() {
super(

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*;
import java.util.Arrays; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**

@ -1,3 +1,7 @@
package zweiundvierzig;
/*
Hinweis zum Verbleib der Klasse:
Diese Klasse soll, da sie zurzeit weder vollstaendig, noch in Verwendung, noch in der Architektur definiert ist, zum Beta-Meilenstein entfernt werden.

@ -1,3 +1,7 @@
package zweiundvierzig;
/*
Hinweis zum Verbleib der Klasse:
Diese Klasse soll, da sie zurzeit weder vollstaendig, noch in Verwendung, noch in der Architektur definiert ist, zum Beta-Meilenstein entfernt werden.

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*;
/**

@ -1,106 +1,110 @@
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
/**
Oberklasse fuer saemtliche GUI Objekte, wie Labels und Buttons
@author Felix Stupp
@version 04.06.2016
*/
public abstract class GUI_Interface extends Actor
{
/**
Die Breite des Objektes
*/
protected int sx = 20;
/**
Die Hoehe des Objektes
*/
protected int sy = 20;
/**
Die Hintergrundfarbe des Objektes
*/
protected Color backC = Color.BLACK;
/**
Die Vordergrundfarbe (meist die Textfarbe) des Objektes
*/
protected Color foreC = Color.WHITE;
/**
Gibt die Breite des Objektes zurueck.
@return Die aktuelle Breite
*/
public int getWidth() {
return sx;
}
/**
Gibt die Hoehe des Objektes zurueck.
@return Die aktuelle Hoehe
*/
public int getHeight() {
return sy;
}
/**
Legt die Groeße des Objektes neu fest und zeichnet es danach damit neu.
Je nach Objekttyp kann diese Groeße wieder vom Objekt selbst angepasst werden, falls noetig.
@param w Die neue Breite
@param h Die neue Hoehe
*/
public void setSize(int w, int h) {
if(w < 1 || h < 1) {
return;
}
sx = w;
sy = h;
redraw();
}
/**
Gibt die aktuelle Hintergrundfarbe des Objektes zurueck.
@return Die aktuelle Hintergrundfarbe als System.awt.Color
*/
public Color getBackColor() {
return backC;
}
/**
Legt die Hintergrundfarbe des Objektes fest.
@param c Die neue Hintergrundfarbe als System.awt.Color
@return Gibt an, ob diese Farbe unterschiedlich zur bisherig genutzten Farbe wahr. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setBackColor(Color c) {
if(!c.equals(backC)) {
backC = c;
redraw();
return true;
}
return false;
}
/**
Gibt die aktuelle Vordergrundfarbe (meist die Textfarbe) des Objektes zurueck.
@return Die aktuelle Vordergrundfarbe als System.awt.Color
*/
public Color getForeColor() {
return foreC;
}
/**
Legt die Vordergrundfarbe (meist die Textfarbe) des Objektes fest.
@param c Die neue Vordergrundfarbe als System.awt.Color
@return Gibt an, ob diese Farbe unterschiedlich zur bisherig genutzten Farbe wahr. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setForeColor(Color c) {
if(!c.equals(foreC)) {
foreC = c;
redraw();
return true;
}
return false;
}
public void act() {}
/**
Diese Funktion soll die erneute Zeichnung des Objekts erzwingen und wird daher auch von (fast) allen set-Methoden aufgerufen, sollte der neue Wert sich von dem alten unterscheiden.
*/
public abstract void redraw();
}
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
/**
Oberklasse fuer saemtliche GUI Objekte, wie Labels und Buttons
@author Felix Stupp
@version 04.06.2016
*/
public abstract class GUI_Interface extends Actor
{
/**
Die Breite des Objektes
*/
protected int sx = 20;
/**
Die Hoehe des Objektes
*/
protected int sy = 20;
/**
Die Hintergrundfarbe des Objektes
*/
protected Color backC = Color.BLACK;
/**
Die Vordergrundfarbe (meist die Textfarbe) des Objektes
*/
protected Color foreC = Color.WHITE;
/**
Gibt die Breite des Objektes zurueck.
@return Die aktuelle Breite
*/
public int getWidth() {
return sx;
}
/**
Gibt die Hoehe des Objektes zurueck.
@return Die aktuelle Hoehe
*/
public int getHeight() {
return sy;
}
/**
Legt die Groeße des Objektes neu fest und zeichnet es danach damit neu.
Je nach Objekttyp kann diese Groeße wieder vom Objekt selbst angepasst werden, falls noetig.
@param w Die neue Breite
@param h Die neue Hoehe
*/
public void setSize(int w, int h) {
if(w < 1 || h < 1) {
return;
}
sx = w;
sy = h;
redraw();
}
/**
Gibt die aktuelle Hintergrundfarbe des Objektes zurueck.
@return Die aktuelle Hintergrundfarbe als System.awt.Color
*/
public Color getBackColor() {
return backC;
}
/**
Legt die Hintergrundfarbe des Objektes fest.
@param c Die neue Hintergrundfarbe als System.awt.Color
@return Gibt an, ob diese Farbe unterschiedlich zur bisherig genutzten Farbe wahr. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setBackColor(Color c) {
if(!c.equals(backC)) {
backC = c;
redraw();
return true;
}
return false;
}
/**
Gibt die aktuelle Vordergrundfarbe (meist die Textfarbe) des Objektes zurueck.
@return Die aktuelle Vordergrundfarbe als System.awt.Color
*/
public Color getForeColor() {
return foreC;
}
/**
Legt die Vordergrundfarbe (meist die Textfarbe) des Objektes fest.
@param c Die neue Vordergrundfarbe als System.awt.Color
@return Gibt an, ob diese Farbe unterschiedlich zur bisherig genutzten Farbe wahr. Bei TRUE erfolgte bereits ein Redraw.
*/
public boolean setForeColor(Color c) {
if(!c.equals(foreC)) {
foreC = c;
redraw();
return true;
}
return false;
}
public void act() {}
/**
Diese Funktion soll die erneute Zeichnung des Objekts erzwingen und wird daher auch von (fast) allen set-Methoden aufgerufen, sollte der neue Wert sich von dem alten unterscheiden.
*/
public abstract void redraw();
}

File diff suppressed because it is too large Load Diff

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*;
import java.awt.Color;

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;

@ -1,3 +1,5 @@
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**

@ -1,29 +1,33 @@
/*
Hinweis zum Verbleib der Klasse:
Diese Klasse soll, da sie zurzeit weder vollstaendig, noch in Verwendung, noch in der Architektur definiert ist, zum Beta-Meilenstein entfernt werden.
Sollte die Klasse jedoch zuvor noch Verwendung finden, wird sie nach Absprache mit den jeweiligen Autoren/Benutzern in die Architektur aufgenommen.
*/
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Menue_Button here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Menue_Button extends Button
{
public Menue_Button(ButtonEvent h) {
super(h);
}
/**
* Act - do whatever the Menue_Button wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
setLocation(100,38);// Add your action code here.
}
}
package zweiundvierzig;
/*
Hinweis zum Verbleib der Klasse:
Diese Klasse soll, da sie zurzeit weder vollstaendig, noch in Verwendung, noch in der Architektur definiert ist, zum Beta-Meilenstein entfernt werden.
Sollte die Klasse jedoch zuvor noch Verwendung finden, wird sie nach Absprache mit den jeweiligen Autoren/Benutzern in die Architektur aufgenommen.
*/
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Menue_Button here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Menue_Button extends Button
{
public Menue_Button(ButtonEvent h) {
super(h);
}
/**
* Act - do whatever the Menue_Button wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
setLocation(100,38);// Add your action code here.
}
}

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*;
import java.util.Arrays; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;

@ -1,291 +1,295 @@
import greenfoot.*;
import java.awt.Color;
/**
* Write a description of class Player here.
*
* @author (Genosse Betakevin und Genosse Julien und Genosse GruenerWal)
* @version 6.6.6-build2
*/
public class Player extends Actor
{
@Override public GeneralMap getWorld(){
return (GeneralMap) super.getWorld();
}
int stars=0;
int add=0;
int id=0;
int provZahl=0;
int provVgl=0;
int[] stats = new int [6];
String n;
int color;
int textsize;
int c;
public int active;
boolean starsNeeded = false;
//definiert die ID und Namens Variable
public Player(int identity,String name, int c)
{
n = name;
id = identity;
color = c;
// redrawPlayer();
}
//gibt die Spieler ID zurueck
public int getID()
{
return id;
}
// gibt den Spielernamen zurueck
public String getDisplayName ()
{
return n;
}
//gibt die Sternenanzahl zurueck
public int getStars()
{
return stars;
}
/**
* Gibt die Farbe des Spielers als int-Wert heraus.
* Wahnsinn, dass du dir den Scheiß hier grad durchliest.
* ~GruenerWal
*/
public int getColor()
{
return color;
}
// Von Felix: Methode nicht architektur-konform
/* // erhoeht die Sternenzahl um eine random ausgewaehlte Anzahl von 1-3
public void addToStars()
{
int rand;
int pre;
rand = (int)(1+6*Math.random());
if (rand == 1 || rand == 2|| rand == 3)
{
add = 1;
redrawPlayer();
}
if (rand == 4|| rand == 5)
{
add = 2;
redrawPlayer();
}
if (rand == 6)
{
add = 3;
redrawPlayer();
}
if (gotProv== true)
{
pre = stars;
stars+=add;
System.out.println("Deine vorherige Sternenanzahl betrug " + pre + ".");
System.out.println("Du hast " + add + " Sterne erhalten.");
System.out.println("Deine aktuelle Sternenanzahl betraegt " + stars + ".");
redrawPlayer();
}
} */
private void checkStars() {
if(stars < 0) {
stars = 0;
}
}
// Von Felix: Architektur-konforme Funktion
public int addToStars(int s) {
stars += s;
checkStars();
redrawPlayer();
return stars;
}
//eine fuer das Testen gedachte Methode, die die Anzahl der Sterne auf ein gewuenschtes Maß setzt
public int setStars (int set)
{
stars = set;
checkStars();
redrawPlayer();
return stars;
}
//eine Methode, die das Abziehen von Sternen testet und, wenn das Ergebnis >= 0 ist, die Sternenanzahl um eine gewaehlte Anzahl verringert
public int removeFromStars(int sub)
{
stars -= sub;
checkStars();
redrawPlayer();
return stars;
}
public boolean canStarsRemoved(int s) {
return (stars - s) >= 0;
}
public int getProvinceCount()
{
int p = 0;
int[] provinces = getWorld().getProvinceOwners();
for (int x=1; x < provinces.length; x++)
{
if (provinces[x] == id)
{
p++;
}
}
return p;
}
public int getEntitiesCount() {
return getWorld().getPlayerEntityCount(id);
}
public void gotEntities(int gotEnt)
{
stats[3]+= gotEnt;
reloadMaxEntities();
redrawPlayer();
}
public void lostEntity()
{
stats[4]+=1;
redrawPlayer();
}
public void gotProvince() {
stats[0]++;
reloadMaxInfluence();
redrawPlayer();
starsNeeded = true;
}
public void lostProvince() {
stats[1]++;
redrawPlayer();
}
public void reloadMaxInfluence()
{
int c = getProvinceCount();
if(stats[2]< c)
{
stats[2]=c;
redrawPlayer();
}
}
public void reloadMaxEntities()
{
int c = getEntitiesCount();
if (stats[5]< c)
{
stats[5]=c;
redrawPlayer();
}
}
public boolean[] getMyProvinces()
{
int[] provinces = getWorld().getProvinceOwners();
boolean[] myProvinces = new boolean[provinces.length];
for (int x=0; x < provinces.length; x++)
{
if (provinces[x]== id)
{
myProvinces[x]=true;
}
else
{
myProvinces[x]=false;
}
}
redrawPlayer();
return myProvinces;
}
public int[] getStatistics()
{
return stats;
}
public int setColor(int c)
{
color = c;
redrawPlayer();
return color;
}
private Color getTextCol() {
return (getWorld().getCurrentPlayerID() == id) ? new Color(0,0,0) : new Color(255,255,255);
}
private Color getTransBackCol() {
return (getWorld().getCurrentPlayerID() == id) ? new Color(255,255,255) : new Color(0,0,0);
}
public void redrawPlayer()
{
getWorld().reloadPlayerStat();
int textSize = 20;
if(n == null)
{
n = "leererSpieler";
}
GreenfootImage statistics = new GreenfootImage(137,120);
if(getWorld().getCurrentPlayerID() == id) {
statistics.setColor(new Color(255,255,255));
statistics.fill();
}
GreenfootImage name = new GreenfootImage(n,textSize,getTextCol(),getTransBackCol());
statistics.drawImage(name,0,0);
setImage(statistics);
oDecide(statistics,textSize);
}
private void oDecide(GreenfootImage statistics,int textSize)
{
GreenfootImage flag = new GreenfootImage("images\\BlaueArmee.jpg");
switch(color)
{
case 2:
flag = new GreenfootImage("images\\BlaueArmee.jpg");
break;
case 5:
flag = new GreenfootImage("images\\GelbeArmee.jpg");
break;
case 6:
flag = new GreenfootImage("images\\LilaArmee.jpg");
break;
case 4:
flag = new GreenfootImage("images\\RoteArmee.jpg");
break;
case 1:
flag = new GreenfootImage("images\\SchwarzeArmee.jpg");
break;
case 3:
flag = new GreenfootImage("images\\GrueneArmee.jpg");
break;
}
redraw(statistics,flag,textSize);
}
private void redraw(GreenfootImage statistics,GreenfootImage flag, int textSize)
{
flag.scale(137,83);
statistics.drawImage(flag,0,textSize);
String statTxt = (getWorld().getCurrentPlayerID() == id) ? "Du bist dran!" : stats[0] + " | " + stats[1] + " | " + stats[2] + " | " +stats[3] + " | " + stats[4] + " | " + stats[5];
GreenfootImage playerStatistics = new GreenfootImage(statTxt,textSize,getTextCol(),getTransBackCol());
statistics.drawImage(playerStatistics, 0, 103);
setImage(statistics);
}
package zweiundvierzig;
import greenfoot.*;
import java.awt.Color;
/**
* Write a description of class Player here.
*
* @author (Genosse Betakevin und Genosse Julien und Genosse GruenerWal)
* @version 6.6.6-build2
*/
public class Player extends Actor
{
@Override public GeneralMap getWorld(){
return (GeneralMap) super.getWorld();
}
int stars=0;
int add=0;
int id=0;
int provZahl=0;
int provVgl=0;
int[] stats = new int [6];
String n;
int color;
int textsize;
int c;
public int active;
boolean starsNeeded = false;
//definiert die ID und Namens Variable
public Player(int identity,String name, int c)
{
n = name;
id = identity;
color = c;
// redrawPlayer();
}
//gibt die Spieler ID zurueck
public int getID()
{
return id;
}
// gibt den Spielernamen zurueck
public String getDisplayName ()
{
return n;
}
//gibt die Sternenanzahl zurueck
public int getStars()
{
return stars;
}
/**
* Gibt die Farbe des Spielers als int-Wert heraus.
* Wahnsinn, dass du dir den Scheiß hier grad durchliest.
* ~GruenerWal
*/
public int getColor()
{
return color;
}
// Von Felix: Methode nicht architektur-konform
/* // erhoeht die Sternenzahl um eine random ausgewaehlte Anzahl von 1-3
public void addToStars()
{
int rand;
int pre;
rand = (int)(1+6*Math.random());
if (rand == 1 || rand == 2|| rand == 3)
{
add = 1;
redrawPlayer();
}
if (rand == 4|| rand == 5)
{
add = 2;
redrawPlayer();
}
if (rand == 6)
{
add = 3;
redrawPlayer();
}
if (gotProv== true)
{
pre = stars;
stars+=add;
System.out.println("Deine vorherige Sternenanzahl betrug " + pre + ".");
System.out.println("Du hast " + add + " Sterne erhalten.");
System.out.println("Deine aktuelle Sternenanzahl betraegt " + stars + ".");
redrawPlayer();
}
} */
private void checkStars() {
if(stars < 0) {
stars = 0;
}
}
// Von Felix: Architektur-konforme Funktion
public int addToStars(int s) {
stars += s;
checkStars();
redrawPlayer();
return stars;
}
//eine fuer das Testen gedachte Methode, die die Anzahl der Sterne auf ein gewuenschtes Maß setzt
public int setStars (int set)
{
stars = set;
checkStars();
redrawPlayer();
return stars;
}
//eine Methode, die das Abziehen von Sternen testet und, wenn das Ergebnis >= 0 ist, die Sternenanzahl um eine gewaehlte Anzahl verringert
public int removeFromStars(int sub)
{
stars -= sub;
checkStars();
redrawPlayer();
return stars;
}
public boolean canStarsRemoved(int s) {
return (stars - s) >= 0;
}
public int getProvinceCount()
{
int p = 0;
int[] provinces = getWorld().getProvinceOwners();
for (int x=1; x < provinces.length; x++)
{
if (provinces[x] == id)
{
p++;
}
}
return p;
}
public int getEntitiesCount() {
return getWorld().getPlayerEntityCount(id);
}
public void gotEntities(int gotEnt)
{
stats[3]+= gotEnt;
reloadMaxEntities();
redrawPlayer();
}
public void lostEntity()
{
stats[4]+=1;
redrawPlayer();
}
public void gotProvince() {
stats[0]++;
reloadMaxInfluence();
redrawPlayer();
starsNeeded = true;
}
public void lostProvince() {
stats[1]++;
redrawPlayer();
}
public void reloadMaxInfluence()
{
int c = getProvinceCount();
if(stats[2]< c)
{
stats[2]=c;
redrawPlayer();
}
}
public void reloadMaxEntities()
{
int c = getEntitiesCount();
if (stats[5]< c)
{
stats[5]=c;
redrawPlayer();
}
}
public boolean[] getMyProvinces()
{
int[] provinces = getWorld().getProvinceOwners();
boolean[] myProvinces = new boolean[provinces.length];
for (int x=0; x < provinces.length; x++)
{
if (provinces[x]== id)
{
myProvinces[x]=true;
}
else
{
myProvinces[x]=false;
}
}
redrawPlayer();
return myProvinces;
}
public int[] getStatistics()
{
return stats;
}
public int setColor(int c)
{
color = c;
redrawPlayer();
return color;
}
private Color getTextCol() {
return (getWorld().getCurrentPlayerID() == id) ? new Color(0,0,0) : new Color(255,255,255);
}
private Color getTransBackCol() {
return (getWorld().getCurrentPlayerID() == id) ? new Color(255,255,255) : new Color(0,0,0);
}
public void redrawPlayer()
{
getWorld().reloadPlayerStat();
int textSize = 20;
if(n == null)
{
n = "leererSpieler";
}
GreenfootImage statistics = new GreenfootImage(137,120);
if(getWorld().getCurrentPlayerID() == id) {
statistics.setColor(new Color(255,255,255));
statistics.fill();
}
GreenfootImage name = new GreenfootImage(n,textSize,getTextCol(),getTransBackCol());
statistics.drawImage(name,0,0);
setImage(statistics);
oDecide(statistics,textSize);
}
private void oDecide(GreenfootImage statistics,int textSize)
{
GreenfootImage flag = new GreenfootImage("images\\BlaueArmee.jpg");
switch(color)
{
case 2:
flag = new GreenfootImage("images\\BlaueArmee.jpg");
break;
case 5:
flag = new GreenfootImage("images\\GelbeArmee.jpg");
break;
case 6:
flag = new GreenfootImage("images\\LilaArmee.jpg");
break;
case 4:
flag = new GreenfootImage("images\\RoteArmee.jpg");
break;
case 1:
flag = new GreenfootImage("images\\SchwarzeArmee.jpg");
break;
case 3:
flag = new GreenfootImage("images\\GrueneArmee.jpg");
break;
}
redraw(statistics,flag,textSize);
}
private void redraw(GreenfootImage statistics,GreenfootImage flag, int textSize)
{
flag.scale(137,83);
statistics.drawImage(flag,0,textSize);
String statTxt = (getWorld().getCurrentPlayerID() == id) ? "Du bist dran!" : stats[0] + " | " + stats[1] + " | " + stats[2] + " | " +stats[3] + " | " + stats[4] + " | " + stats[5];
GreenfootImage playerStatistics = new GreenfootImage(statTxt,textSize,getTextCol(),getTransBackCol());
statistics.drawImage(playerStatistics, 0, 103);
setImage(statistics);
}
}

File diff suppressed because it is too large Load Diff

@ -1,9 +1,13 @@
package zweiundvierzig;
/*
Hinweis zum Verbleib der Klasse:
Diese Klasse soll, da sie zurzeit weder vollstaendig, noch in Verwendung, noch in der Architektur definiert ist, zum Beta-Meilenstein entfernt werden.
Sollte die Klasse jedoch zuvor noch Verwendung finden, wird sie nach Absprache mit den jeweiligen Autoren/Benutzern in die Architektur aufgenommen.
*/
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**

@ -1,20 +1,24 @@
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Spielanleitung here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Spielanleitung extends Actor
{
public void act()
{
setImage ("Spielanleitung.png");
}
}
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Spielanleitung here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Spielanleitung extends Actor
{
public void act()
{
setImage ("Spielanleitung.png");
}
}

@ -1,63 +1,67 @@
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Beginnt neues Spiel/ laedt altes Spiel.
*
* @author 4ngelica
* @version 04.07.16
*/
public class Start_Load extends World implements ButtonEvent
{
static String backgroundImage = "backgroundLight.png"; // Gibt an, welches Bild in allen Menues als Hintergrund gewaehlt werden soll.
// Light Theme: "backgroundLight.png"
// Dark Theme: "backgroundDark.png"
Button chulien = new Button("Neues Spiel", 16 , this);
Button spielanleitung = new Button("Spielanleitung", 16, this);
Button zurueck = new Button("zurueck", 16, this);
/**
* Constructor for objects of class Start_Load.
*
*/
public Start_Load()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(1600, 900, 1);
setBackground(backgroundImage);
chulien.setSize(100,50);
spielanleitung.setSize(100,50);
zurueck.setSize(100,50);
addObject (chulien, (1600-chulien.getWidth())/2+100, (900-chulien.getHeight())/2);
addObject (spielanleitung, (1600-spielanleitung.getWidth())/2+100, (900-spielanleitung.getHeight())/2 + 80);
Greenfoot.setSpeed(100);
Greenfoot.start();
}
public void buttonClicked ( Bildbutton b)
{
if ( b == chulien)
{
World chean = new Colours (1600, 900, 1);
Greenfoot.setWorld(chean);
}
if (b == spielanleitung)
{
addObject (new Spielanleitung(), 800, 410);
addObject (zurueck, 800 , 870);
}
if (b == zurueck)
{
removeObjects(getObjects(Spielanleitung.class));
removeObject(zurueck);
}
}
public void Load()
{
}
}
package zweiundvierzig;
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Beginnt neues Spiel/ laedt altes Spiel.
*
* @author 4ngelica
* @version 04.07.16
*/
public class Start_Load extends World implements ButtonEvent
{
static String backgroundImage = "backgroundLight.png"; // Gibt an, welches Bild in allen Menues als Hintergrund gewaehlt werden soll.
// Light Theme: "backgroundLight.png"
// Dark Theme: "backgroundDark.png"
Button chulien = new Button("Neues Spiel", 16 , this);
Button spielanleitung = new Button("Spielanleitung", 16, this);
Button zurueck = new Button("zurueck", 16, this);
/**
* Constructor for objects of class Start_Load.
*
*/
public Start_Load()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(1600, 900, 1);
setBackground(backgroundImage);
chulien.setSize(100,50);
spielanleitung.setSize(100,50);
zurueck.setSize(100,50);
addObject (chulien, (1600-chulien.getWidth())/2+100, (900-chulien.getHeight())/2);
addObject (spielanleitung, (1600-spielanleitung.getWidth())/2+100, (900-spielanleitung.getHeight())/2 + 80);
Greenfoot.setSpeed(100);
Greenfoot.start();
}
public void buttonClicked ( Bildbutton b)
{
if ( b == chulien)
{
World chean = new Colours (1600, 900, 1);
Greenfoot.setWorld(chean);
}
if (b == spielanleitung)
{
addObject (new Spielanleitung(), 800, 410);
addObject (zurueck, 800 , 870);
}
if (b == zurueck)
{
removeObjects(getObjects(Spielanleitung.class));
removeObject(zurueck);
}
}
public void Load()
{
}
}

@ -1,3 +1,7 @@
package zweiundvierzig;
import greenfoot.*;
import java.awt.Color;
import java.util.*;
Loading…
Cancel
Save