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

Fehlerkorrektur Player laden
pull/72/head
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
{
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;
}
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);
}
}
}

@ -2,7 +2,7 @@ public class Debug3 extends Map_World {
public Debug3() {
super(
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 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<pnu; i++)
colour = new int[zahl];
pn = new String[zahl];
for (int i=0; i<zahl; i++)
{
colour[i] = bunt[i];
pn[i] = name[i];
@ -38,14 +39,14 @@ public class Map extends World implements ButtonEvent
fertigst.setSize(100, 50);
// for ( int i=0; i<=pnu; i++)
// {
// newpn[i] = pn[i];
// newcolour[i] = colour[i];
// newpn[i] = pn[i];
// newcolour[i] = colour[i];
// }
}
// Die Map Buttons geben der Variable m einen Wert
public void buttonClicked(Button b)
{
if (b== map1)
{
//x= ;

@ -24,6 +24,7 @@ public class Player extends Actor
String n;
int color;
int textsize;
int c;
//definiert die ID und Namens Variable
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 + ".");
redrawPlayer();
}
}
//eine Methode um addToStars zu testen
public void add ()
@ -93,7 +94,7 @@ public class Player extends Actor
stars = set;
redrawPlayer();
return stars;
}
//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)
@ -111,37 +112,37 @@ public class Player extends Actor
}
redrawPlayer();
return stars;
}
public int getProvinceCount ()
{
GeneralMap w= getWorld();
int[] provinces = w.getProvinceOwners();
for (int x=0; x<=42; x++ )
// int[] provinces = w.getProvinceOwners();
for (int x=1; x<=42; x++ )
{
if ( provinces [x] ==id)
c = w.provinces[x].getOwner();
if (c ==id+1)
{
provZahl++;
stats[2] = provZahl;
redrawPlayer();
}
}
if(stats[2] < provZahl)
{
stats[2]=provZahl;
}
return provZahl;
}
public void gotEntities(int gotEnt)
{
stats[3]+= gotEnt;
redrawPlayer();
}
public void lostEntity()
{
stats[4]+=1;
redrawPlayer();
}
private void maxEntities(int entNumber)
@ -149,6 +150,7 @@ public class Player extends Actor
if (stats[5]< entNumber)
{
stats[5]=entNumber;
redrawPlayer();
}
}
@ -168,6 +170,7 @@ public class Player extends Actor
}
}
redrawPlayer();
return pBesitzer;
}
@ -191,38 +194,47 @@ public class Player extends Actor
lostProv = true;
stats[1]+=1;
}
redrawPlayer();
provVgl = provZahl;
}
public boolean getGotProvince ()
{
redrawPlayer();
return gotProv;
}
public boolean getLostProvince()
{
redrawPlayer();
return lostProv;
}
public int[] getStatistics()
{
redrawPlayer();
return stats;
}
public int setColor(int c)
{
color = c;
redrawPlayer();
return color;
color = c;
redrawPlayer();
return color;
}
public void redrawPlayer()
{
int textSize = 20;
if(n == null)
{
n = "leererSpieler";
}
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));
statistics.drawImage(Name,0,0);
setImage(statistics);
oDecide(statistics,textSize);
}
@ -235,32 +247,32 @@ public class Player extends Actor
{
case 2:
flag = new GreenfootImage("images\\BlaueArmee.jpg");
redraw(statistics,flag,textSize);
break;
case 5:
flag = new GreenfootImage("images\\GelbeArmee.jpg");
redraw(statistics,flag,textSize);
break;
case 6:
flag = new GreenfootImage("images\\LilaArmee.jpg");
redraw(statistics,flag,textSize);
break;
case 4:
flag = new GreenfootImage("images\\RoteArmee.jpg");
redraw(statistics,flag,textSize);
break;
case 1:
flag = new GreenfootImage("images\\SchwarzeArmee.jpg");
redraw(statistics,flag,textSize);
break;
case 3:
flag = new GreenfootImage("images\\GrueneArmee.jpg");
redraw(statistics,flag,textSize);
break;
}
@ -269,14 +281,12 @@ public class Player extends Actor
private void redraw(GreenfootImage statistics,GreenfootImage flag, int textSize)
{
flag.scale(137,83);
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 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, 123);
statistics.drawImage(playerStatistics2, 0, 123 + textSize);
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));
statistics.drawImage(playerStatistics, 0, 103);
setImage(statistics);
}
}

Loading…
Cancel
Save