Merge branch 'master' into GruenRoteBranch
@ -0,0 +1,16 @@
|
|||||||
|
import greenfoot.*;
|
||||||
|
import java.util.Arrays; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Erstellt eine gegebene Anzahl an DefenderDice's, welche dann nebeneinander eingereiht werden.
|
||||||
|
|
||||||
|
@author Felix Stupp
|
||||||
|
@version 15.06.2016
|
||||||
|
*/
|
||||||
|
public class DefenderDices extends DicesList {
|
||||||
|
|
||||||
|
public DefenderDices(int count) {
|
||||||
|
super(count, 2, new Color(0,0,0), (new Color(255,255,255));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,19 +1,89 @@
|
|||||||
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write a description of class Dice here.
|
Stellt einen Würfel (von 1-6) dar, welcher in der Welt sichtbar dargestellt werden soll.
|
||||||
*
|
|
||||||
* @author (your name)
|
@author Felix Stupp
|
||||||
* @version (a version number or a date)
|
@version 13.06.2016
|
||||||
*/
|
*/
|
||||||
public class Dice extends Actor
|
public class Dice extends GUI_Interface {
|
||||||
{
|
|
||||||
/**
|
private int number = 0;
|
||||||
* Act - do whatever the Dice wants to do. This method is called whenever
|
|
||||||
* the 'Act' or 'Run' button gets pressed in the environment.
|
/**
|
||||||
*/
|
Erstellt einen Würfel mit dem Startwert 0 (für noch nicht verwendet).
|
||||||
public void act()
|
*/
|
||||||
{
|
public Dice() {
|
||||||
// Add your action code here.
|
redraw();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
/**
|
||||||
|
Erstellt einen Würfel mit einem bestimmten Startwert, welcher sofort sichtbar ist.
|
||||||
|
*/
|
||||||
|
public Dice(int startNumber) {
|
||||||
|
number = startNumber;
|
||||||
|
redraw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Gibt die aktuelle Zahl, die der Würfel anzeigt, aus. Gibt die Methode 0 zurück, heißt dies, dass der Würfel noch nicht gewürfelt wurde.
|
||||||
|
@return Die aktuelle Augenzahl oder 0
|
||||||
|
*/
|
||||||
|
public int getNumber() {
|
||||||
|
return number;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Legt die Größe des Würfels als Quadrat fest.
|
||||||
|
*/
|
||||||
|
public void setSizeAsSquare(int l) {
|
||||||
|
setSize(l,l);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Würfelt den Würfel, erneuert die Darstellung und gibt die neue Augenzahl zurück.
|
||||||
|
*/
|
||||||
|
public int roll() {
|
||||||
|
number = (int) (Math.floor(Math.random()*6)+1);
|
||||||
|
redraw();
|
||||||
|
return number;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Zeichnet auf dem gegebenen GreenfootImage ein Oval an der gegebenen Stelle multipliziert mit der einheitlichen Größe.
|
||||||
|
*/
|
||||||
|
private void fO(GreenfootImage i, int eX, int eY, int x, int y) {
|
||||||
|
i.fillOval(eX*x,eY*y,eX*2,eY*2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Erneuert die Darstellung des Würfels.
|
||||||
|
*/
|
||||||
|
public void redraw() {
|
||||||
|
// einheitliche Größe X und Y (ein Vierzehntel der gesamten Breite und Höhe)
|
||||||
|
int eX = (int) Math.round(sx/8);
|
||||||
|
int eY = (int) Math.round(sy/8);
|
||||||
|
// Vereinfachung für die Augenzahl
|
||||||
|
int a = number;
|
||||||
|
GreenfootImage i = new GreenfootImage(sx,sy);
|
||||||
|
i.setColor(new java.awt.Color(0,0,0,0));
|
||||||
|
i.clear();
|
||||||
|
i.setColor(backC);
|
||||||
|
i.fillShape(new java.awt.geom.RoundRectangle2D.Double(0,0,sx,sy,eX,eY));
|
||||||
|
i.setColor(foreC);
|
||||||
|
// das "else" fehlt absichtlich
|
||||||
|
if(a==1||a==3||a==5) { //Mittlerer Punkt
|
||||||
|
fO(i,eX,eY,3,3);
|
||||||
|
} if(a>1) { //Punkte links-oben und rechts-unten
|
||||||
|
fO(i,eX,eY,1,1);
|
||||||
|
fO(i,eX,eY,5,5);
|
||||||
|
} if(a>3) { //Punkte links-unten und rechts-oben
|
||||||
|
fO(i,eX,eY,1,5);
|
||||||
|
fO(i,eX,eY,5,1);
|
||||||
|
} if(a>5) { //Punkte links-mitte und rechts-mitte
|
||||||
|
fO(i,eX,eY,1,3);
|
||||||
|
fO(i,eX,eY,5,3);
|
||||||
|
}
|
||||||
|
setImage(i);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,63 @@
|
|||||||
|
import greenfoot.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Erstellt eine gegebene Anzahl an Dices's, welche dann nebeneinander eingereiht werden.
|
||||||
|
|
||||||
|
@author Felix Stupp
|
||||||
|
@version 15.06.2016
|
||||||
|
*/
|
||||||
|
public abstract class DicesList extends Actor {
|
||||||
|
|
||||||
|
private final static int SQUARESIZE = 100; // Anpassbar
|
||||||
|
private Dice[] dices;
|
||||||
|
|
||||||
|
public DicesList(int count, int max, java.awt.Color bC, java.awt.Color fC) {
|
||||||
|
setImage(new GreenfootImage(2,2));
|
||||||
|
if(count < 1) {
|
||||||
|
count = 1;
|
||||||
|
} else if (count > max) {
|
||||||
|
count = max;
|
||||||
|
}
|
||||||
|
for(int i = 1; i < count; i++) {
|
||||||
|
Dice d = new Dice();
|
||||||
|
d.setBackColor(bC);
|
||||||
|
d.setForeColor(fC);
|
||||||
|
d.setSizeAsSquare(SQUARESIZE);
|
||||||
|
dices[i] = d;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void addedToWorld(World w) {
|
||||||
|
for(int i = 0; i < dices.length; i++) {
|
||||||
|
w.addObject(dices[i],getX()+(SQUARESIZE*(6/5)*i),getY());
|
||||||
|
}
|
||||||
|
//w.removeObject(this); // Zeile auskommentieren, wenn die Debug-Phase vorbei ist.
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getNumbers() {
|
||||||
|
int[] n = new int[dices.length];
|
||||||
|
for(int i = 0; i < dices.length; i++) {
|
||||||
|
n[i] = dices[i].getNumber();
|
||||||
|
}
|
||||||
|
Utils.sortDesc(n);
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] roll() {
|
||||||
|
int[] n = new int[dices.length];
|
||||||
|
for(int i = 0; i < dices.length; i++) {
|
||||||
|
n[i] = dices[i].roll();
|
||||||
|
}
|
||||||
|
Utils.sortDesc(n);
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeAll() {
|
||||||
|
for(int i = 0; i < dices.length; i++) {
|
||||||
|
dices[i].getWorld().removeObject(dices[i]);
|
||||||
|
}
|
||||||
|
getWorld().removeObject(this);
|
||||||
|
dices = new Dice[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
import greenfoot.*;
|
||||||
|
import java.util.Arrays; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Erstellt eine gegebene Anzahl an OffenderDice's, welche dann nebeneinander eingereiht werden.
|
||||||
|
|
||||||
|
@author Felix Stupp
|
||||||
|
@version 15.06.2016
|
||||||
|
*/
|
||||||
|
public class OffenderDices extends DicesList {
|
||||||
|
|
||||||
|
public OffenderDices(int count) {
|
||||||
|
super(count, 3, new Color(255,0,0), (new Color(255,255,255));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,200 @@
|
|||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
@ -1,32 +0,0 @@
|
|||||||
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a description of class Spieleranzahl here.
|
|
||||||
*
|
|
||||||
* @author (your name)
|
|
||||||
* @version (a version number or a date)
|
|
||||||
*/
|
|
||||||
public class Spieleranzahl extends Spieloptionen
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor for objects of class Spieleranzahl.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public Spieleranzahl()
|
|
||||||
{
|
|
||||||
addObject (new Button(), 100, 300);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void act()
|
|
||||||
{
|
|
||||||
if (handler.buttonClicked(this));
|
|
||||||
{
|
|
||||||
int s;
|
|
||||||
if (s > 3)
|
|
||||||
{
|
|
||||||
int s = Spieleranzahl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a description of class Spieloptionen here.
|
|
||||||
*
|
|
||||||
* @author (your name)
|
|
||||||
* @version (a version number or a date)
|
|
||||||
*/
|
|
||||||
public class Spieloptionen extends World
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor for objects of class Spieloptionen.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public Spieloptionen()
|
|
||||||
{
|
|
||||||
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
|
|
||||||
super(600, 400, 1);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a description of class Weltenauswahl here.
|
|
||||||
*
|
|
||||||
* @author (your name)
|
|
||||||
* @version (a version number or a date)
|
|
||||||
*/
|
|
||||||
public class Weltenauswahl extends Spieloptionen
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor for objects of class Weltenauswahl.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public Weltenauswahl()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
Before Width: | Height: | Size: 292 KiB After Width: | Height: | Size: 292 KiB |
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 216 KiB |
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 198 KiB |
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 188 KiB |
Before Width: | Height: | Size: 336 KiB After Width: | Height: | Size: 336 KiB |
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |