Province Update

Update vom Master
pull/60/head
Felix Stupp 10 years ago committed by GitHub
parent 0e9bd093d2
commit dd1efe3836

@ -24,9 +24,8 @@ public class Province extends Actor
private int eCount; private int eCount;
private boolean clicked = false; private boolean clicked = false;
/** /**
* Überprüft, ob die Provinz angeklickt wurde. * Überprüft, ob die Provinz angeklickt wurde.
*/ */
public void act() public void act()
{ {
@ -46,7 +45,7 @@ public class Province extends Actor
stars = st; stars = st;
} }
displayName = s1; displayName = s1;
// Der Teil, der sich um die Konvertierung des int-Array in ein boolean-Array kümmert. // Der Teil, der sich um die Konvertierung des int-Array in ein boolean-Array kümmert.
int maxNum = 0; int maxNum = 0;
for(int i = 0; i < ia1.length; i++) { for(int i = 0; i < ia1.length; i++) {
if(maxNum < ia1[i]) { if(maxNum < ia1[i]) {
@ -61,7 +60,7 @@ public class Province extends Actor
} }
} }
// Zweiter Konstruktor, um auch das boolean-Array gegebenenfalls verwenden zu könnnen. // Zweiter Konstruktor, um auch das boolean-Array gegebenenfalls verwenden zu könnnen.
public Province(int pID, int cID, int x, int y, int st, String s1, boolean[] ba1) public Province(int pID, int cID, int x, int y, int st, String s1, boolean[] ba1)
{ {
provinceID = pID; provinceID = pID;
@ -99,7 +98,7 @@ public class Province extends Actor
return continentID; return continentID;
} }
// Fragt ab, ob die angegebene Provinz in der Nähe von dieser liegt. // Fragt ab, ob die angegebene Provinz in der Nähe von dieser liegt.
public boolean isProvinceNear(int i) { public boolean isProvinceNear(int i) {
if(i >= nextProvinces.length) { if(i >= nextProvinces.length) {
return false; return false;
@ -125,7 +124,7 @@ public class Province extends Actor
return owner; return owner;
} }
// Setzt den Owner, benötigt String // Setzt den Owner, benötigt String
public void setOwner(int o) public void setOwner(int o)
{ {
if(o < -1) { if(o < -1) {
@ -172,10 +171,12 @@ public class Province extends Actor
GreenfootImage province = new GreenfootImage(120,100); GreenfootImage province = new GreenfootImage(120,100);
GreenfootImage provinceName = new GreenfootImage(displayName,textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f)); GreenfootImage provinceName = new GreenfootImage(displayName,textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(provinceName,0,0); province.drawImage(provinceName,0,0);
oDecide(province,textSize); setImage(province);
oDecide(province,textSize,owner,eCount);
} }
public void oDecide(GreenfootImage province,int textSize) public void oDecide(GreenfootImage province,int textSize, int owner, int eCount)
{ {
String ownerString; String ownerString;
if(owner == 0) if(owner == 0)
@ -214,20 +215,137 @@ public class Province extends Actor
} }
} }
} }
private void eCalculate(GreenfootImage province, String ownerString,int textSize) private void eCalculate(GreenfootImage province, String ownerString,int textSize)
{ {
int eCountTanks = eCount / 5; int eCountTanks = eCount / 5;
int eCountHorse = (eCount - (eCountTanks * 5))/3;
int eCountInf = eCount - (eCountTanks * 5) - (eCountHorse * 3);
if(eCountTanks >= 1 && eCountInf == 0 && eCountHorse == 0)
{
OnlyTanks(province,eCountTanks,ownerString,textSize);
}
if(eCountTanks == 0 && eCountInf == 0 && eCountHorse != 0)
{
OnlyHorses(province,eCountHorse,ownerString,textSize);
}
if(eCountTanks == 0 && eCountInf != 0 && eCountHorse == 0)
{
OnlyInf(province,eCountInf,ownerString,textSize);
}
if(eCountTanks == 0 && eCountInf != 0 && eCountHorse != 0)
{
NoTanks(province,eCountInf,eCountHorse, ownerString, textSize);
}
if(eCountTanks != 0 && eCountInf != 0 && eCountHorse == 0)
{
NoHorse(province,eCountInf,eCountTanks, ownerString, textSize);
}
if(eCountTanks != 0 && eCountInf == 0 && eCountHorse != 0)
{
NoInf(province,eCountInf,eCountTanks, ownerString, textSize);
}
if(eCountTanks == 0 && eCountInf == 0 && eCountHorse == 0)
{
NoEntity(province, ownerString, textSize);
}
if(eCountTanks != 0 && eCountInf != 0 && eCountHorse != 0)
{
AllEntity(province, ownerString,eCountTanks, eCountHorse, eCountInf, textSize);
}
}
private void NoEntity(GreenfootImage province, String ownerString, int textSize)
{
}
private void OnlyTanks(GreenfootImage province,int eCountTanks, String ownerString, int textSize)
{
GreenfootImage tank = new GreenfootImage("images\\dickebertaskal-" + ownerString + ".png"); GreenfootImage tank = new GreenfootImage("images\\dickebertaskal-" + ownerString + ".png");
tank.scale(textSize,textSize); tank.scale(textSize,textSize);
if(eCountTanks <= 3) if(eCountTanks <= 3)
{ {
if(eCountTanks == 0) if(eCountTanks == 1)
{
province.drawImage(tank,0,textSize);
}
if(eCountTanks == 2)
{
province.drawImage(tank,0,textSize);
province.drawImage(tank,textSize,textSize);
}
if(eCountTanks == 3)
{
province.drawImage(tank,0,textSize);
province.drawImage(tank,textSize,textSize);
province.drawImage(tank,textSize*2,textSize);
}
}
else
{
GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(eCountTanksImage,0,textSize);
province.drawImage(tank,eCountTanksImage.getWidth(),textSize);
}
setImage(province);
}
private void OnlyHorses(GreenfootImage province,int eCountHorse, String ownerString, int textSize)
{
GreenfootImage horse = new GreenfootImage("images\\pferdreiterskal-" + ownerString + ".png");
horse.scale(textSize,textSize);
province.drawImage(horse,0,textSize);
setImage(province);
}
private void OnlyInf(GreenfootImage province,int eCountInf, String ownerString, int textSize)
{
GreenfootImage Inf = new GreenfootImage("images\\infanterieskal-" + ownerString + ".png");
Inf.scale(textSize,textSize);
if(eCountInf == 1)
{
province.drawImage(Inf,0,textSize);
}
if(eCountInf == 2)
{ {
province.drawImage(Inf,0,textSize);
province.drawImage(Inf,textSize,textSize);
}
setImage(province);
}
private void NoTanks(GreenfootImage province,int eCountInf,int eCountHorse, String ownerString, int textSize)
{
GreenfootImage Inf = new GreenfootImage("images\\infanterieskal-" + ownerString + ".png");
Inf.scale(textSize,textSize);
GreenfootImage horse = new GreenfootImage("images\\pferdreiterskal-" + ownerString + ".png");
horse.scale(textSize,textSize);
province.drawImage(horse,0,textSize);
setImage(province);
if(eCountInf == 1)
{
province.drawImage(Inf,textSize,textSize);
}
if(eCountInf == 2)
{
province.drawImage(Inf,textSize,textSize);
province.drawImage(Inf,2*textSize,textSize);
}
setImage(province);
} }
private void NoHorse(GreenfootImage province,int eCountInf,int eCountTanks, String ownerString, int textSize)
{
GreenfootImage Inf = new GreenfootImage("images\\infanterieskal-" + ownerString + ".png");
Inf.scale(textSize,textSize);
GreenfootImage tank = new GreenfootImage("images\\dickebertaskal-" + ownerString + ".png");
tank.scale(textSize,textSize);
if(eCountTanks <= 3)
{
if(eCountTanks == 1) if(eCountTanks == 1)
{ {
province.drawImage(tank,0,textSize); province.drawImage(tank,0,textSize);
@ -248,34 +366,159 @@ public class Province extends Actor
{ {
GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f)); GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(eCountTanksImage,0,textSize); province.drawImage(eCountTanksImage,0,textSize);
province.drawImage(tank,45,textSize); province.drawImage(tank,eCountTanksImage.getWidth(),textSize);
} }
int eCountHorse = (eCount - (eCountTanks * 5))/3; if(eCountTanks<=3)
{
if(eCountInf == 1)
{
province.drawImage(Inf,eCountTanks * textSize,textSize);
}
if(eCountInf == 2)
{
province.drawImage(Inf,eCountTanks * textSize,textSize);
province.drawImage(Inf,eCountTanks * 2 *textSize,textSize);
}
}
if(eCountTanks>3)
{
if(eCountInf == 1)
{
GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(Inf,eCountTanksImage.getWidth() + textSize,textSize);
}
if(eCountInf == 2)
{
GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(Inf,eCountTanksImage.getWidth() + textSize,textSize);
province.drawImage(Inf,eCountTanksImage.getWidth() + (2 *textSize),textSize);
}
}
setImage(province);
}
private void NoInf(GreenfootImage province,int eCountHorse,int eCountTanks, String ownerString, int textSize)
{
GreenfootImage tank = new GreenfootImage("images\\dickebertaskal-" + ownerString + ".png");
tank.scale(textSize,textSize);
GreenfootImage horse = new GreenfootImage("images\\pferdreiterskal-" + ownerString + ".png"); GreenfootImage horse = new GreenfootImage("images\\pferdreiterskal-" + ownerString + ".png");
horse.scale(textSize,textSize); horse.scale(textSize,textSize);
if(eCountHorse == 1)
if(eCountTanks <= 3)
{ {
province.drawImage(horse,4*textSize,textSize); if(eCountTanks == 1)
{
province.drawImage(tank,0,textSize);
}
if(eCountTanks == 2)
{
province.drawImage(tank,0,textSize);
province.drawImage(tank,textSize,textSize);
}
if(eCountTanks == 3)
{
province.drawImage(tank,0,textSize);
province.drawImage(tank,textSize,textSize);
province.drawImage(tank,textSize*2,textSize);
}
}
else
{
GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(eCountTanksImage,0,textSize);
province.drawImage(tank,eCountTanksImage.getWidth(),textSize);
}
if(eCountTanks<=3)
{
province.drawImage(horse,eCountTanks * textSize,textSize);
setImage(province);
}
if(eCountTanks>3)
{
GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(horse,eCountTanksImage.getWidth() + textSize,textSize);
setImage(province);
}
setImage(province);
} }
private void AllEntity(GreenfootImage province, String ownerString,int eCountTanks, int eCountHorse, int eCountInf,int textSize)
{
GreenfootImage tank = new GreenfootImage("images\\dickebertaskal-" + ownerString + ".png");
tank.scale(textSize,textSize);
GreenfootImage horse = new GreenfootImage("images\\pferdreiterskal-" + ownerString + ".png");
horse.scale(textSize,textSize);
GreenfootImage Inf = new GreenfootImage("images\\infanterieskal-" + ownerString + ".png"); GreenfootImage Inf = new GreenfootImage("images\\infanterieskal-" + ownerString + ".png");
int eCountInf = eCount - (eCountTanks * 5) - (eCountHorse * 3);
Inf.scale(textSize,textSize); Inf.scale(textSize,textSize);
if(eCountInf <= 4) if(eCountTanks <= 3)
{
if(eCountTanks == 1)
{
province.drawImage(tank,0,textSize);
}
if(eCountTanks == 2)
{
province.drawImage(tank,0,textSize);
province.drawImage(tank,textSize,textSize);
}
if(eCountTanks == 3)
{ {
province.drawImage(tank,0,textSize);
province.drawImage(tank,textSize,textSize);
province.drawImage(tank,textSize*2,textSize);
}
}
else
{
GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(eCountTanksImage,0,textSize);
province.drawImage(tank,eCountTanksImage.getWidth(),textSize);
}
if(eCountHorse == 1)
{
if(eCountTanks<=3)
{
province.drawImage(horse,eCountTanks * textSize,textSize);
if(eCountInf == 1) if(eCountInf == 1)
{ {
province.drawImage(Inf,5*textSize,textSize); province.drawImage(Inf,eCountTanks * textSize + textSize,textSize);
} }
if(eCountInf == 2) if(eCountInf == 2)
{ {
province.drawImage(Inf,5*textSize,textSize); province.drawImage(Inf,eCountTanks * textSize + textSize + textSize,textSize);
province.drawImage(Inf,5*textSize,textSize); }
setImage(province);
}
if(eCountTanks>3)
{
GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",textSize,Color.BLACK,new Color(1.0f,1.0f,1.0f,0.5f));
province.drawImage(horse,eCountTanksImage.getWidth() + textSize,textSize);
if(eCountInf == 1)
{
province.drawImage(Inf,eCountTanksImage.getWidth() + textSize + textSize,textSize);
}
if(eCountInf == 2)
{
province.drawImage(Inf,eCountTanksImage.getWidth() + textSize + textSize + textSize + textSize,textSize);
}
setImage(province);
} }
} }
setImage(province); setImage(province);
} }
public boolean hasClicked() {
public boolean hasClicked()
{
boolean b = clicked; boolean b = clicked;
clicked = false; clicked = false;
return b; return b;

Loading…
Cancel
Save