Merge pull request #65 from HGE-IT-Course-2016/Fehlerkorrekturen-by-SR

Fehlerkorrektur Player laden
master
Felix Stupp 8 years ago committed by GitHub
commit 9d04469c00

@ -8,118 +8,127 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
*/ */
public class Colours extends World implements ButtonEvent public class Colours extends World implements ButtonEvent
{ {
Button schwarz = new Button ("Schwarz", 16, this); Button schwarz = new Button ("Schwarz", 16, this);
Button blau = new Button ("Blau", 16, this); Button blau = new Button ("Blau", 16, this);
Button grün = new Button ("Grün", 16, this); Button grün = new Button ("Grün", 16, this);
Button rot = new Button ("Rot", 16, this); Button rot = new Button ("Rot", 16, this);
Button lila = new Button ("Lila", 16, this); Button lila = new Button ("Lila", 16, this);
Button gelb = new Button ("Gelb", 16, this); Button gelb = new Button ("Gelb", 16, this);
Button weiter = new Button ("Weiter", 16, this); Button weiter = new Button ("Weiter", 16, this);
int [] color = new int [6]; int [] color = new int [6];
String [] pn = new String [6]; String [] pn = new String [6];
int x = 0; int x = 0;
boolean possw = true; boolean possw = true;
boolean posbl = true; boolean posbl = true;
boolean posgr = true; boolean posgr = true;
boolean posrt = true; boolean posrt = true;
boolean posgb = true; boolean posgb = true;
boolean posli = true; boolean posli = true;
int sw = 1; int sw = 1;
int bl = 2; int bl = 2;
int gr = 3; int gr = 3;
int rt = 4; int rt = 4;
int gb = 5; int gb = 5;
int li = 6; int li = 6;
/** /**
* Constructor for objects of class Colors. * Constructor for objects of class Colors.
* *
*/ */
public Colours(int x, int y, int z) public Colours(int x, int y, int z)
{ {
super(x, y, z); super(x, y, z);
addObject(schwarz, 50, 30); addObject(schwarz, 50, 30);
addObject ( blau, 170, 30); addObject ( blau, 170, 30);
addObject ( grün, 280, 30); addObject ( grün, 280, 30);
addObject ( rot, 390, 30); addObject ( rot, 390, 30);
addObject(gelb, 500, 30); addObject(gelb, 500, 30);
addObject(lila, 610, 30); addObject(lila, 610, 30);
addObject (weiter, 335,90); addObject (weiter, 335,90);
schwarz.setSize(100, 50); schwarz.setSize(100, 50);
gelb.setSize(100, 50); gelb.setSize(100, 50);
blau.setSize(100, 50); blau.setSize(100, 50);
grün.setSize(100, 50); grün.setSize(100, 50);
rot.setSize(100, 50); rot.setSize(100, 50);
lila.setSize(100, 50); lila.setSize(100, 50);
weiter.setSize(100, 50); weiter.setSize(100, 50);
} }
// Überprüft, ob ein Farbbutton geklickt wurde // Überprüft, ob ein Farbbutton geklickt wurde
//Überprüft, ob die Farbe noch nicht ausgewählt wurde //Überprüft, ob die Farbe noch nicht ausgewählt wurde
// Wenn alle Bedingungen erfüllt wurden: // Wenn alle Bedingungen erfüllt wurden:
// Setzt die aktuelle Stelle des Farbarrays gleich der Zahl der aktuellen Farbe // Setzt die aktuelle Stelle des Farbarrays gleich der Zahl der aktuellen Farbe
// erhöht die Variable zum Durchzählen um eins // erhöht die Variable zum Durchzählen um eins
// verhindert durch falschsetzten einer Variable die Wiederauswahl einer Farbe // 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, // 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 //der per Konstruktor die Daten der Colorklasse übertragen werden, dannach wird die Map die aktive Welt
public void buttonClicked (Button b) public void buttonClicked (Button b)
{ {
if ( b == schwarz && possw == true)
if ( b == schwarz && possw == true) {
{ color[x] = sw;
color [x] = sw; pn[x]="Schwarz";
pn[x]="Schwarz"; x+=1;
x+=1; possw = false;
possw = false;
} }
if (b == blau && posbl == true) if (b == blau && posbl == true)
{ {
color[x] = bl; color[x] = bl;
pn[x] = "Blau"; pn[x] = "Blau";
x+=1; x+=1;
posbl = false; posbl = false;
}
if (b == grün && posgr == true ) }
{ if (b == grün && posgr == true )
color[x] = gr; {
pn[x]="Grün"; color[x] = gr;
x+=1; pn[x]="Grün";
posgr = false; x+=1;
} posgr = false;
if ( b == rot && posrt == true)
{ }
color[x] = rt; if ( b == rot && posrt == true)
pn[x]="Rot"; {
x+=1; color[x] = rt;
posrt = false; pn[x]="Rot";
} x+=1;
if ( b == gelb && posgb == true) posrt = false;
{
color [x] = gb; }
pn[x]="Gelb"; if ( b == gelb && posgb == true)
x+=1; {
posgb = false; color [x] = gb;
} pn[x]="Gelb";
if ( b == lila && posli == true) x+=1;
{ posgb = false;
color [x] = li;
pn[x]="Lila"; }
x+=1; if ( b == lila && posli == true)
posli = false; {
} color [x] = li;
if ( b == weiter && x >=2 ) pn[x]="Lila";
{ x+=1;
String[] newpn = new String[x]; posli = false;
int[] newcolor = new int[x];
for (int i = 0; i< x; i++) }
{ if ( b == weiter && x >=2 )
newpn[i] = pn[i]; {
newcolor[i] = color[i]; String[] newpn = new String[x];
} int[] newcolor = new int[x];
World m = new Map(newcolor, x,newpn); for (int i = 0; i< x; i++)
Greenfoot.setWorld(m); {
} newpn[i] = pn[i];
} newcolor[i] = color[i];
}
World m = new Map(newcolor,x,newpn);
Greenfoot.setWorld(m);
}
}
} }

@ -2,7 +2,7 @@ public class Debug3 extends Map_World {
public Debug3() { public Debug3() {
super( super(
new String[] {"Spieler Nr. 1", "Player No. 2", "Spieler Nr. 3"}, new String[] {"Spieler Nr. 1", "Player No. 2", "Spieler Nr. 3"},
new int[] {0,1,2} new int[] {1,2,3}
); );
} }
} }

@ -11,8 +11,8 @@ public class Map extends World implements ButtonEvent
private Button map1 = new Button ("map1",16,this); private Button map1 = new Button ("map1",16,this);
private Button map2 = new Button ("map2",16,this); private Button map2 = new Button ("map2",16,this);
private Button fertigst = new Button (" Fertigstellen",16,this); private Button fertigst = new Button (" Fertigstellen",16,this);
int [] colour = new int[6]; int[] colour;
String [] pn = new String [6]; String[] pn;
int pnu; int pnu;
//private int x; //private int x;
//private int y; //private int y;
@ -20,11 +20,12 @@ public class Map extends World implements ButtonEvent
private Map_World MW ; private Map_World MW ;
// int [] newcolour = new int [pnu]; // int [] newcolour = new int [pnu];
// String [] newpn = new String [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); super (1600,900,1);
for (int i=0; i<pnu; i++) colour = new int[zahl];
pn = new String[zahl];
for (int i=0; i<zahl; i++)
{ {
colour[i] = bunt[i]; colour[i] = bunt[i];
pn[i] = name[i]; pn[i] = name[i];
@ -38,14 +39,14 @@ public class Map extends World implements ButtonEvent
fertigst.setSize(100, 50); fertigst.setSize(100, 50);
// for ( int i=0; i<=pnu; i++) // for ( int i=0; i<=pnu; i++)
// { // {
// newpn[i] = pn[i]; // newpn[i] = pn[i];
// newcolour[i] = colour[i]; // newcolour[i] = colour[i];
// } // }
} }
// Die Map Buttons geben der Variable m einen Wert // Die Map Buttons geben der Variable m einen Wert
public void buttonClicked(Button b) public void buttonClicked(Button b)
{ {
if (b== map1) if (b== map1)
{ {
//x= ; //x= ;

@ -24,6 +24,7 @@ public class Player extends Actor
String n; String n;
int color; int color;
int textsize; int textsize;
int c;
//definiert die ID und Namens Variable //definiert die ID und Namens Variable
public Player(int identity,String name, int c) public Player(int identity,String name, int c)
@ -79,7 +80,7 @@ public class Player extends Actor
System.out.println("Deine aktuelle Sternenanzahl beträgt " + stars + "."); System.out.println("Deine aktuelle Sternenanzahl beträgt " + stars + ".");
redrawPlayer(); redrawPlayer();
} }
} }
//eine Methode um addToStars zu testen //eine Methode um addToStars zu testen
public void add () public void add ()
@ -93,7 +94,7 @@ public class Player extends Actor
stars = set; stars = set;
redrawPlayer(); redrawPlayer();
return stars; return stars;
} }
//eine Methode, die das Abziehen von Sternen testet und, wenn das Ergebnis >= 0 ist, die Sternenanzahl um eine gewählte Anzahl verringert //eine Methode, die das Abziehen von Sternen testet und, wenn das Ergebnis >= 0 ist, die Sternenanzahl um eine gewählte Anzahl verringert
public int removeFromStars(int sub) public int removeFromStars(int sub)
@ -111,37 +112,37 @@ public class Player extends Actor
} }
redrawPlayer(); redrawPlayer();
return stars; return stars;
} }
public int getProvinceCount () public int getProvinceCount ()
{ {
GeneralMap w= getWorld(); GeneralMap w= getWorld();
int[] provinces = w.getProvinceOwners(); // int[] provinces = w.getProvinceOwners();
for (int x=0; x<=42; x++ ) for (int x=1; x<=42; x++ )
{ {
if ( provinces [x] ==id) c = w.provinces[x].getOwner();
if (c ==id+1)
{ {
provZahl++; provZahl++;
stats[2] = provZahl;
redrawPlayer();
} }
} }
if(stats[2] < provZahl)
{
stats[2]=provZahl;
}
return provZahl; return provZahl;
} }
public void gotEntities(int gotEnt) public void gotEntities(int gotEnt)
{ {
stats[3]+= gotEnt; stats[3]+= gotEnt;
redrawPlayer();
} }
public void lostEntity() public void lostEntity()
{ {
stats[4]+=1; stats[4]+=1;
redrawPlayer();
} }
private void maxEntities(int entNumber) private void maxEntities(int entNumber)
@ -149,6 +150,7 @@ public class Player extends Actor
if (stats[5]< entNumber) if (stats[5]< entNumber)
{ {
stats[5]=entNumber; stats[5]=entNumber;
redrawPlayer();
} }
} }
@ -168,6 +170,7 @@ public class Player extends Actor
} }
} }
redrawPlayer();
return pBesitzer; return pBesitzer;
} }
@ -191,38 +194,47 @@ public class Player extends Actor
lostProv = true; lostProv = true;
stats[1]+=1; stats[1]+=1;
} }
redrawPlayer();
provVgl = provZahl; provVgl = provZahl;
} }
public boolean getGotProvince () public boolean getGotProvince ()
{ {
redrawPlayer();
return gotProv; return gotProv;
} }
public boolean getLostProvince() public boolean getLostProvince()
{ {
redrawPlayer();
return lostProv; return lostProv;
} }
public int[] getStatistics() public int[] getStatistics()
{ {
redrawPlayer();
return stats; return stats;
} }
public int setColor(int c) public int setColor(int c)
{ {
color = c; color = c;
redrawPlayer(); redrawPlayer();
return color; return color;
} }
public void redrawPlayer() public void redrawPlayer()
{ {
int textSize = 20; int textSize = 20;
if(n == null)
{
n = "leererSpieler";
}
GreenfootImage statistics = new GreenfootImage(137,120); GreenfootImage statistics = new GreenfootImage(137,120);
GreenfootImage Name = new GreenfootImage(n,textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f)); GreenfootImage Name = new GreenfootImage(n,textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f));
statistics.drawImage(Name,0,0); statistics.drawImage(Name,0,0);
setImage(statistics); setImage(statistics);
oDecide(statistics,textSize); oDecide(statistics,textSize);
} }
@ -235,32 +247,32 @@ public class Player extends Actor
{ {
case 2: case 2:
flag = new GreenfootImage("images\\BlaueArmee.jpg"); flag = new GreenfootImage("images\\BlaueArmee.jpg");
redraw(statistics,flag,textSize); redraw(statistics,flag,textSize);
break; break;
case 5: case 5:
flag = new GreenfootImage("images\\GelbeArmee.jpg"); flag = new GreenfootImage("images\\GelbeArmee.jpg");
redraw(statistics,flag,textSize); redraw(statistics,flag,textSize);
break; break;
case 6: case 6:
flag = new GreenfootImage("images\\LilaArmee.jpg"); flag = new GreenfootImage("images\\LilaArmee.jpg");
redraw(statistics,flag,textSize); redraw(statistics,flag,textSize);
break; break;
case 4: case 4:
flag = new GreenfootImage("images\\RoteArmee.jpg"); flag = new GreenfootImage("images\\RoteArmee.jpg");
redraw(statistics,flag,textSize); redraw(statistics,flag,textSize);
break; break;
case 1: case 1:
flag = new GreenfootImage("images\\SchwarzeArmee.jpg"); flag = new GreenfootImage("images\\SchwarzeArmee.jpg");
redraw(statistics,flag,textSize); redraw(statistics,flag,textSize);
break; break;
case 3: case 3:
flag = new GreenfootImage("images\\GrueneArmee.jpg"); flag = new GreenfootImage("images\\GrueneArmee.jpg");
redraw(statistics,flag,textSize); redraw(statistics,flag,textSize);
break; break;
} }
@ -269,14 +281,12 @@ public class Player extends Actor
private void redraw(GreenfootImage statistics,GreenfootImage flag, int textSize) private void redraw(GreenfootImage statistics,GreenfootImage flag, int textSize)
{ {
flag.scale(137,83); flag.scale(137,83);
statistics.drawImage(flag,0,textSize); statistics.drawImage(flag,0,textSize);
GreenfootImage playerStatistics = new GreenfootImage(stats[0] + "||" + stats[1] + "||" + stats[2],textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f)); GreenfootImage playerStatistics = new GreenfootImage(stats[0] + "||" + stats[1] + "||" + stats[2] + "||" +stats[3] + "||" + stats[4] + "||" + stats[5],textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f));
GreenfootImage playerStatistics2 = new GreenfootImage(stats[3] + "||" + stats[4] + "||" + stats[5],textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f)); statistics.drawImage(playerStatistics, 0, 103);
statistics.drawImage(playerStatistics, 0, 123);
statistics.drawImage(playerStatistics2, 0, 123 + textSize);
setImage(statistics); setImage(statistics);
} }
} }

Loading…
Cancel
Save