You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
201 lines
4.5 KiB
Java
201 lines
4.5 KiB
Java
import greenfoot.*;
|
|
|
|
/**
|
|
* Write a description of class Player here.
|
|
*
|
|
* @author (Genosse Betakevin und Genosse Julien)
|
|
* @version (version 666)
|
|
*/
|
|
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];
|
|
boolean [] pBesitzer = new boolean [42];
|
|
boolean gotProv = false;
|
|
boolean lostProv = false;
|
|
|
|
private String n;
|
|
private int c;
|
|
//definiert die ID und Namens Variable
|
|
public Player( int identity,String name, int color)
|
|
{
|
|
n = name;
|
|
id = identity;
|
|
c = color;
|
|
}
|
|
//gibt die Spieler ID zurück
|
|
public int getID()
|
|
{
|
|
return id;
|
|
}
|
|
// gibt den Spielernamen zurück
|
|
public String getDisplayName ()
|
|
{
|
|
return n;
|
|
}
|
|
//gibt die Sternenanzahl zurück
|
|
public int getStars ()
|
|
{
|
|
return stars;
|
|
}
|
|
// erhöht die Sternenzahl um eine random ausgewählte 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;
|
|
}
|
|
if (rand == 4|| rand == 5)
|
|
{
|
|
add = 2;
|
|
}
|
|
if (rand == 6)
|
|
{
|
|
add = 3;
|
|
}
|
|
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 beträgt " + stars + ".");
|
|
|
|
}
|
|
}
|
|
//eine Methode um addToStars zu testen
|
|
public void add ()
|
|
{
|
|
addToStars();
|
|
}
|
|
//eine für das Testen gedachte Methode, die die Anzahl der Sterne auf ein gewünschtes Maß setzt
|
|
public int setStars (int set)
|
|
{
|
|
stars = set;
|
|
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)
|
|
{
|
|
int s;
|
|
|
|
s = stars - sub;
|
|
if (s>=0)
|
|
{
|
|
stars = s;
|
|
}
|
|
else
|
|
{
|
|
System.out.println ("Du hast nur " + stars + " Sterne, du kannst also nicht " + sub + " Sterne abziehen");
|
|
}
|
|
return stars;
|
|
}
|
|
|
|
public int getProvinceCount ()
|
|
{
|
|
GeneralMap w= getWorld();
|
|
int[] provinces = w.getProvinceOwners();
|
|
for (int x=0; x<=42; x++ )
|
|
{
|
|
if ( provinces [x] ==id)
|
|
{
|
|
provZahl++;
|
|
|
|
}
|
|
}
|
|
if(stats[2] < provZahl)
|
|
{
|
|
stats[2]=provZahl;
|
|
|
|
}
|
|
return provZahl;
|
|
}
|
|
|
|
public void gotEntities(int gotEnt)
|
|
{
|
|
stats[3]+= gotEnt;
|
|
}
|
|
public void lostEntity()
|
|
{
|
|
stats[4]+=1;
|
|
}
|
|
private void maxEntities(int entNumber)
|
|
{
|
|
if (stats[5]< entNumber)
|
|
{
|
|
stats[5]=entNumber;
|
|
}
|
|
}
|
|
public boolean[] getMyProvinces()
|
|
{
|
|
GeneralMap w= getWorld();
|
|
int[] provinces = w.getProvinceOwners();
|
|
for (int x=0; x<=42; x++)
|
|
{
|
|
if (provinces[x]== id)
|
|
{
|
|
pBesitzer[x]=true;
|
|
}
|
|
else
|
|
{
|
|
pBesitzer[x]=false;
|
|
}
|
|
|
|
}
|
|
return pBesitzer;
|
|
}
|
|
|
|
private void gotlostProvince()
|
|
{
|
|
if (provVgl== provZahl)
|
|
{
|
|
gotProv = false;
|
|
lostProv =false;
|
|
|
|
}
|
|
if(provVgl< provZahl)
|
|
{
|
|
gotProv = true;
|
|
lostProv = false;
|
|
stats[0]+=1;
|
|
}
|
|
if (provVgl > provZahl)
|
|
{
|
|
gotProv = false;
|
|
lostProv = true;
|
|
stats[1]+=1;
|
|
}
|
|
provVgl = provZahl;
|
|
}
|
|
|
|
public boolean getGotProvince ()
|
|
{
|
|
return gotProv;
|
|
}
|
|
|
|
public boolean getLostProvince()
|
|
{
|
|
return lostProv;
|
|
}
|
|
public int[] getStatistics()
|
|
{
|
|
return stats;
|
|
}
|
|
private void redrawPlayer()
|
|
{
|
|
//Platzhalter
|
|
int x=0;
|
|
}
|
|
}
|