Initial sharing of project
This commit is contained in:
21
Block.java
Normal file
21
Block.java
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse Wand.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class Block extends Spielobjekt
|
||||||
|
{
|
||||||
|
|
||||||
|
public Block(int x, int y){
|
||||||
|
super(x,y);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(Graphics2D g, int SpielobjektGröße){
|
||||||
|
g.setColor(Color.BLUE);
|
||||||
|
g.fillRect(x*SpielobjektGröße,y*SpielobjektGröße,SpielobjektGröße,SpielobjektGröße);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
31
Display.java
Normal file
31
Display.java
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse Display.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class Display extends JPanel
|
||||||
|
{
|
||||||
|
private final Spiel spiel;
|
||||||
|
public Display(Spiel spiel){
|
||||||
|
super();
|
||||||
|
this.spiel = spiel;
|
||||||
|
spiel.add(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paint(Graphics g){
|
||||||
|
Graphics2D g2 = (Graphics2D) g;
|
||||||
|
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
|
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BICUBIC);
|
||||||
|
g2.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);
|
||||||
|
|
||||||
|
spiel.render(g2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
12
GameObject.java
Normal file
12
GameObject.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse GameObject.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public abstract class GameObject
|
||||||
|
{
|
||||||
|
public abstract void render(Graphics2D g,int SpielobjektGröße);
|
||||||
|
}
|
||||||
|
|
||||||
96
GeistGegner.java
Normal file
96
GeistGegner.java
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.geom.Rectangle2D;
|
||||||
|
import java.awt.event.KeyListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse PacMan.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class GeistGegner extends Spielfiguren implements KeyListener
|
||||||
|
{
|
||||||
|
protected PacMan pacman;
|
||||||
|
|
||||||
|
GeistGegner(Spiel spiel, double centerX, double centerY, double radius, double Geschwindigkeit){
|
||||||
|
super(spiel, centerX, centerY, radius, Geschwindigkeit, Color.RED);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void tickSpielerkollision() {
|
||||||
|
int x = (int) centerX;
|
||||||
|
int y = (int) centerY;
|
||||||
|
|
||||||
|
double dx = pacman.getCenterX() - centerX;
|
||||||
|
double dy = pacman.getCenterY() - centerY;
|
||||||
|
double r = pacman.getRadius() + radius;
|
||||||
|
|
||||||
|
if (dx * dx + dy * dy < r * r) {
|
||||||
|
spiel.lose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void tickPunktKollision(){
|
||||||
|
int x = (int) centerX;
|
||||||
|
int y = (int) centerY;
|
||||||
|
if(spiel.getLabyrinth().getSpielobjekt(x,y) instanceof Punkt punkt){
|
||||||
|
double dx = punkt.getCenterX() - centerX;
|
||||||
|
double dy = punkt.getCenterY() - centerY;
|
||||||
|
double r = punkt.getRadius() + radius;
|
||||||
|
|
||||||
|
if (dx * dy + dy * dx < r * r){
|
||||||
|
spiel.getLabyrinth().setSpielobjekt(x, y, new Nichts(x, y));
|
||||||
|
if (spiel.getLabyrinth().PunkteZaehler() == 0) {
|
||||||
|
spiel.win();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyTyped(KeyEvent e){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyPressed(KeyEvent e) {
|
||||||
|
int keyCode = e.getKeyCode();
|
||||||
|
|
||||||
|
if (keyCode == KeyEvent.VK_T) {
|
||||||
|
bevorzugteRichtungX = 0;
|
||||||
|
bevorzugteRichtungY = -1;
|
||||||
|
}else if (keyCode == KeyEvent.VK_F) {
|
||||||
|
bevorzugteRichtungX = -1;
|
||||||
|
bevorzugteRichtungY = 0;
|
||||||
|
}else if (keyCode == KeyEvent.VK_G) {
|
||||||
|
bevorzugteRichtungX = 0;
|
||||||
|
bevorzugteRichtungY = 1;
|
||||||
|
}else if (keyCode == KeyEvent.VK_H) {
|
||||||
|
bevorzugteRichtungX = 1;
|
||||||
|
bevorzugteRichtungY = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyReleased(KeyEvent e){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tick(){
|
||||||
|
super.tick();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(Graphics2D g, int SpielobjektGröße){
|
||||||
|
double centerXOnScreen = centerX * SpielobjektGröße;
|
||||||
|
double centerYOnScreen = centerY* SpielobjektGröße;
|
||||||
|
double radiusOnScreen = radius * SpielobjektGröße;
|
||||||
|
double diameterOnScreen = radiusOnScreen * 2.0;
|
||||||
|
|
||||||
|
g.setColor(color);
|
||||||
|
g.fill(new Rectangle2D.Double(centerXOnScreen - radiusOnScreen, centerYOnScreen - radiusOnScreen, diameterOnScreen, diameterOnScreen));
|
||||||
|
}
|
||||||
|
}
|
||||||
97
GeistGegner2.java
Normal file
97
GeistGegner2.java
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.geom.Rectangle2D;
|
||||||
|
import java.awt.event.KeyListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse PacMan.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class GeistGegner2 extends Spielfiguren implements KeyListener
|
||||||
|
{
|
||||||
|
protected PacMan pacman;
|
||||||
|
|
||||||
|
GeistGegner2(Spiel spiel, double centerX, double centerY, double radius, double Geschwindigkeit){
|
||||||
|
super(spiel, centerX, centerY, radius, Geschwindigkeit, Color.BLUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void tickSpielerkollision() {
|
||||||
|
int x = (int) centerX;
|
||||||
|
int y = (int) centerY;
|
||||||
|
|
||||||
|
double dx = pacman.getCenterX() - centerX;
|
||||||
|
double dy = pacman.getCenterY() - centerY;
|
||||||
|
double r = pacman.getRadius() + radius;
|
||||||
|
|
||||||
|
if (dx * dx + dy * dy < r * r) {
|
||||||
|
spiel.lose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void tickPunktKollision(){
|
||||||
|
int x = (int) centerX;
|
||||||
|
int y = (int) centerY;
|
||||||
|
if(spiel.getLabyrinth().getSpielobjekt(x,y) instanceof Punkt punkt){
|
||||||
|
double dx = punkt.getCenterX() - centerX;
|
||||||
|
double dy = punkt.getCenterY() - centerY;
|
||||||
|
double r = punkt.getRadius() + radius;
|
||||||
|
|
||||||
|
if (dx * dy + dy * dx < r * r){
|
||||||
|
spiel.getLabyrinth().setSpielobjekt(x, y, new Nichts(x, y));
|
||||||
|
if (spiel.getLabyrinth().PunkteZaehler() == 0) {
|
||||||
|
spiel.win();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyTyped(KeyEvent e){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyPressed(KeyEvent e) {
|
||||||
|
int keyCode = e.getKeyCode();
|
||||||
|
|
||||||
|
if (keyCode == KeyEvent.VK_UP) {
|
||||||
|
bevorzugteRichtungX = 0;
|
||||||
|
bevorzugteRichtungY = -1;
|
||||||
|
}else if (keyCode == KeyEvent.VK_LEFT) {
|
||||||
|
bevorzugteRichtungX = -1;
|
||||||
|
bevorzugteRichtungY = 0;
|
||||||
|
}else if (keyCode == KeyEvent.VK_DOWN) {
|
||||||
|
bevorzugteRichtungX = 0;
|
||||||
|
bevorzugteRichtungY = 1;
|
||||||
|
}else if (keyCode == KeyEvent.VK_RIGHT) {
|
||||||
|
bevorzugteRichtungX = 1;
|
||||||
|
bevorzugteRichtungY = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyReleased(KeyEvent e){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tick(){
|
||||||
|
super.tick();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(Graphics2D g, int SpielobjektGröße){
|
||||||
|
double centerXOnScreen = centerX * SpielobjektGröße;
|
||||||
|
double centerYOnScreen = centerY* SpielobjektGröße;
|
||||||
|
double radiusOnScreen = radius * SpielobjektGröße;
|
||||||
|
double diameterOnScreen = radiusOnScreen * 2.0;
|
||||||
|
|
||||||
|
g.setColor(color);
|
||||||
|
g.fill(new Rectangle2D.Double(centerXOnScreen - radiusOnScreen, centerYOnScreen - radiusOnScreen, diameterOnScreen, diameterOnScreen));
|
||||||
|
}
|
||||||
|
}
|
||||||
112
Labyrinth.java
Normal file
112
Labyrinth.java
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse Labyrinth.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class Labyrinth extends GameObject
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final int[][] MAP = {
|
||||||
|
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
||||||
|
{1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1},
|
||||||
|
{1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1},
|
||||||
|
{1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, 0, 2, 2, 2, 0, 1, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1},
|
||||||
|
{1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1},
|
||||||
|
{1, 2, 2, 2, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 2, 2, 2, 1},
|
||||||
|
{1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1},
|
||||||
|
{1, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 1},
|
||||||
|
{1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1},
|
||||||
|
{1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1},
|
||||||
|
{1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1},
|
||||||
|
{1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1},
|
||||||
|
{1, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1},
|
||||||
|
{1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1},
|
||||||
|
{1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1},
|
||||||
|
{1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1},
|
||||||
|
{1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1},
|
||||||
|
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||||||
|
};
|
||||||
|
|
||||||
|
private final int SpielobjektGröße;
|
||||||
|
Spielobjekt[][]Spielobjekte;
|
||||||
|
|
||||||
|
Labyrinth(int SpielobjektGröße){
|
||||||
|
this.SpielobjektGröße = SpielobjektGröße;
|
||||||
|
Spielobjekte = new Spielobjekt[MAP.length][MAP[0].length];
|
||||||
|
zuruecksetzen();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void zuruecksetzen(){
|
||||||
|
for(int y = 0; y < getHöhe(); y++){
|
||||||
|
for(int x = 0; x < getBreite(); x++){
|
||||||
|
int SpielobjektID = MAP[y][x];
|
||||||
|
|
||||||
|
if(SpielobjektID == 0){
|
||||||
|
Spielobjekte[y][x] = new Nichts(x,y);
|
||||||
|
}else if(SpielobjektID == 1){
|
||||||
|
Spielobjekte[y][x] = new Block(x,y);
|
||||||
|
}else if(SpielobjektID == 2){
|
||||||
|
Spielobjekte[y][x] = new Punkt(x,y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(Graphics2D g, int SpielobjektGröße){
|
||||||
|
for(Spielobjekt[] row: Spielobjekte){
|
||||||
|
for(Spielobjekt spielobjekt: row){
|
||||||
|
spielobjekt.render(g, SpielobjektGröße);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int PunkteZaehler(){
|
||||||
|
int sum = 0;
|
||||||
|
|
||||||
|
for (Spielobjekt[] reihe : Spielobjekte){
|
||||||
|
for (Spielobjekt spielobjekt : reihe){
|
||||||
|
if (spielobjekt instanceof Punkt){
|
||||||
|
sum++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isFrei(int x, int y){
|
||||||
|
if(x < 0){
|
||||||
|
return false;
|
||||||
|
}else if(y < 0){
|
||||||
|
return false;
|
||||||
|
}else if(x >= getBreite()){
|
||||||
|
return false;
|
||||||
|
}else if(y >= getHöhe()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return !(Spielobjekte[y][x] instanceof Block);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBreite(){
|
||||||
|
return Spielobjekte[0].length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHöhe(){
|
||||||
|
return Spielobjekte.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSpielobjektGröße(){
|
||||||
|
return SpielobjektGröße;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Spielobjekt getSpielobjekt(int x, int y){
|
||||||
|
return Spielobjekte[y][x];
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpielobjekt(int x, int y, Spielobjekt spielobjekt){
|
||||||
|
Spielobjekte[y][x] = spielobjekt;
|
||||||
|
}
|
||||||
|
}
|
||||||
18
Nichts.java
Normal file
18
Nichts.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse Nichts.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class Nichts extends Spielobjekt
|
||||||
|
{
|
||||||
|
Nichts(int x, int y){
|
||||||
|
super(x,y);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(Graphics2D g, int SpielobjektGröße){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
83
PacMan.java
Normal file
83
PacMan.java
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
import java.awt.geom.Ellipse2D;
|
||||||
|
import java.awt.event.KeyListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse PacMan.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class PacMan extends Spielfiguren implements KeyListener
|
||||||
|
{
|
||||||
|
PacMan(Spiel spiel, double centerX, double centerY, double radius, double Geschwindigkeit){
|
||||||
|
super(spiel, centerX, centerY, radius, Geschwindigkeit, Color.YELLOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tickPunktKollision(){
|
||||||
|
int x = (int) centerX;
|
||||||
|
int y = (int) centerY;
|
||||||
|
if(spiel.getLabyrinth().getSpielobjekt(x,y) instanceof Punkt punkt){
|
||||||
|
double dx = punkt.getCenterX() - centerX;
|
||||||
|
double dy = punkt.getCenterY() - centerY;
|
||||||
|
double r = punkt.getRadius() + radius;
|
||||||
|
|
||||||
|
if (dx * dy + dy * dx < r * r){
|
||||||
|
spiel.getLabyrinth().setSpielobjekt(x, y, new Nichts(x, y));
|
||||||
|
if (spiel.getLabyrinth().PunkteZaehler() == 0) {
|
||||||
|
spiel.win();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tick(){
|
||||||
|
super.tick();
|
||||||
|
tickPunktKollision();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(Graphics2D g, int SpielobjektGröße){
|
||||||
|
double centerXOnScreen = centerX * SpielobjektGröße;
|
||||||
|
double centerYOnScreen = centerY* SpielobjektGröße;
|
||||||
|
double radiusOnScreen = radius * SpielobjektGröße;
|
||||||
|
double diameterOnScreen = radiusOnScreen * 2.0;
|
||||||
|
|
||||||
|
g.setColor(color);
|
||||||
|
g.fill(new Ellipse2D.Double(centerXOnScreen - radiusOnScreen, centerYOnScreen - radiusOnScreen, diameterOnScreen, diameterOnScreen));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyTyped(KeyEvent e){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyPressed(KeyEvent e) {
|
||||||
|
int keyCode = e.getKeyCode();
|
||||||
|
|
||||||
|
if (keyCode == KeyEvent.VK_W) {
|
||||||
|
bevorzugteRichtungX = 0;
|
||||||
|
bevorzugteRichtungY = -1;
|
||||||
|
}else if (keyCode == KeyEvent.VK_A) {
|
||||||
|
bevorzugteRichtungX = -1;
|
||||||
|
bevorzugteRichtungY = 0;
|
||||||
|
}else if (keyCode == KeyEvent.VK_S) {
|
||||||
|
bevorzugteRichtungX = 0;
|
||||||
|
bevorzugteRichtungY = 1;
|
||||||
|
}else if (keyCode == KeyEvent.VK_D) {
|
||||||
|
bevorzugteRichtungX = 1;
|
||||||
|
bevorzugteRichtungY = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyReleased(KeyEvent e){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
44
Punkt.java
Normal file
44
Punkt.java
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
import java.awt.geom.Ellipse2D;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse Punkt.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class Punkt extends Spielobjekt
|
||||||
|
{
|
||||||
|
double radius;
|
||||||
|
|
||||||
|
Punkt(int x, int y, double radius){
|
||||||
|
super(x,y);
|
||||||
|
this.radius = radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Punkt(int x, int y){
|
||||||
|
this(x,y, 0.125);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(Graphics2D g, int SpielobjektGröße){
|
||||||
|
double centerXOnScreen = getCenterX() * SpielobjektGröße;
|
||||||
|
double centerYOnScreen = getCenterY()* SpielobjektGröße;
|
||||||
|
double radiusOnScreen = radius * SpielobjektGröße;
|
||||||
|
double diameterOnScreen = radiusOnScreen * 2.0;
|
||||||
|
|
||||||
|
g.setColor(Color.YELLOW);
|
||||||
|
g.fill(new Ellipse2D.Double(centerXOnScreen - radiusOnScreen, centerYOnScreen - radiusOnScreen, diameterOnScreen, diameterOnScreen));
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getCenterX(){
|
||||||
|
return x + 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getCenterY(){
|
||||||
|
return y + 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getRadius(){
|
||||||
|
return radius;
|
||||||
|
}
|
||||||
|
}
|
||||||
24
README.TXT
Normal file
24
README.TXT
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
PROJEKTBEZEICHNUNG: Grafikdokument
|
||||||
|
|
||||||
|
PROJEKTZWECK:
|
||||||
|
Ein erstes Einstiegsprojekt in die Entwicklungsumgebung BlueJ.
|
||||||
|
Dient zur Wiederholung der Begriffe Klasse, Objekt, Attribut, Methode, etc.
|
||||||
|
aus dem Informatikunterricht der Unterstufe.
|
||||||
|
|
||||||
|
Man kann verschiedene Figuren erzeugen, die mit ihrem zugehörigen Grafiksymbol
|
||||||
|
in einem Grafikfenster eingezeichnet werden.
|
||||||
|
|
||||||
|
Diese Figuren können, durch den Aufruf von Methoden interaktiv verändert werden.
|
||||||
|
Nach jedem Methodenaufruf wird das Grafiksymbol und damit die ganze Zeichnung
|
||||||
|
automatisch angepasst.
|
||||||
|
|
||||||
|
WIE IST DAS PROJEKT ZU STARTEN:
|
||||||
|
Erzeugen neuer Figur-Objekte über das Kontextmenü.
|
||||||
|
|
||||||
|
VERSION:
|
||||||
|
1.0
|
||||||
|
|
||||||
|
AUTOR(EN):
|
||||||
|
U.Freiberger
|
||||||
|
|
||||||
102
Spiel.java
Normal file
102
Spiel.java
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse Spiel.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public class Spiel extends JFrame
|
||||||
|
{
|
||||||
|
private final Display display;
|
||||||
|
private final Labyrinth labyrinth;
|
||||||
|
private final PacMan pacman;
|
||||||
|
private final GeistGegner geistgegner;
|
||||||
|
private final GeistGegner2 geistgegner2;
|
||||||
|
|
||||||
|
private boolean won;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Spiel(){
|
||||||
|
super("Game");
|
||||||
|
|
||||||
|
display = new Display(this);
|
||||||
|
labyrinth = new Labyrinth(40);
|
||||||
|
pacman = new PacMan(this, 13.5, 10.5, 0.375, 0.07);
|
||||||
|
addKeyListener(pacman);
|
||||||
|
|
||||||
|
geistgegner = new GeistGegner(this,12.5, 8.5, 0.375, 0.06);
|
||||||
|
addKeyListener(geistgegner);
|
||||||
|
|
||||||
|
geistgegner2 = new GeistGegner2(this,14.5, 8.5, 0.375, 0.06);
|
||||||
|
addKeyListener(geistgegner2);
|
||||||
|
|
||||||
|
|
||||||
|
setSize(1096, 759);
|
||||||
|
setResizable(false);
|
||||||
|
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
||||||
|
setLocationRelativeTo(null);
|
||||||
|
setVisible(true);
|
||||||
|
|
||||||
|
startSpielLoop();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void startSpielLoop(){
|
||||||
|
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(()-> {tick();display.repaint();}, 0L, 1000L / 60L, TimeUnit.MILLISECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void zuruecksetzen(){
|
||||||
|
won = false;
|
||||||
|
labyrinth.zuruecksetzen();
|
||||||
|
pacman.zuruecksetzen();
|
||||||
|
geistgegner.zuruecksetzen();
|
||||||
|
geistgegner2.zuruecksetzen();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void win() {
|
||||||
|
won = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void lose(){
|
||||||
|
JOptionPane.showMessageDialog(null, "Game Over!");
|
||||||
|
zuruecksetzen();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tick(){
|
||||||
|
if (won) {
|
||||||
|
JOptionPane.showMessageDialog(null, "Du hast gewonnen!");
|
||||||
|
zuruecksetzen();
|
||||||
|
}
|
||||||
|
pacman.tick();
|
||||||
|
geistgegner.tick();
|
||||||
|
geistgegner2.tick();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(Graphics2D g2){
|
||||||
|
g2.setColor(Color.BLACK);
|
||||||
|
g2.fillRect(0,0,getWidth(), getHeight());
|
||||||
|
|
||||||
|
labyrinth.render(g2, labyrinth.getSpielobjektGröße());
|
||||||
|
pacman.render(g2, labyrinth.getSpielobjektGröße());
|
||||||
|
|
||||||
|
geistgegner.render(g2, labyrinth.getSpielobjektGröße());
|
||||||
|
geistgegner2.render(g2, labyrinth.getSpielobjektGröße());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Labyrinth getLabyrinth(){
|
||||||
|
return labyrinth;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GeistGegner getGegner() {
|
||||||
|
return geistgegner;
|
||||||
|
}
|
||||||
|
}
|
||||||
127
Spielfiguren.java
Normal file
127
Spielfiguren.java
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
import java.awt.geom.Ellipse2D;
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse Spielfiguren.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public abstract class Spielfiguren extends GameObject
|
||||||
|
{
|
||||||
|
protected final Spiel spiel;
|
||||||
|
protected double centerX;
|
||||||
|
protected double centerY;
|
||||||
|
protected final double radius;
|
||||||
|
protected final double Geschwindigkeit;
|
||||||
|
protected Color color;
|
||||||
|
|
||||||
|
protected int bevorzugteRichtungX;
|
||||||
|
protected int bevorzugteRichtungY;
|
||||||
|
protected int bewegteRichtungX;
|
||||||
|
protected int bewegteRichtungY;
|
||||||
|
|
||||||
|
private final double initialX;
|
||||||
|
private final double initialY;
|
||||||
|
|
||||||
|
public Spielfiguren(Spiel spiel, double centerX, double centerY, double radius, double Geschwindigkeit, Color color){
|
||||||
|
this.spiel = spiel;
|
||||||
|
this.centerX = centerX;
|
||||||
|
this.centerY = centerY;
|
||||||
|
this.radius = radius;
|
||||||
|
this.Geschwindigkeit = Geschwindigkeit;
|
||||||
|
this.color = color;
|
||||||
|
|
||||||
|
initialX = centerX;
|
||||||
|
initialY = centerY;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void zuruecksetzen(){
|
||||||
|
centerX = initialX;
|
||||||
|
centerY = initialY;
|
||||||
|
bevorzugteRichtungX= 0;
|
||||||
|
bevorzugteRichtungY = 0;
|
||||||
|
bewegteRichtungX = 0;
|
||||||
|
bewegteRichtungY = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void tickBewegteRichtung(){
|
||||||
|
if(bewegteRichtungX == 0 && bewegteRichtungY == 0){
|
||||||
|
bewegteRichtungX = bevorzugteRichtungX;
|
||||||
|
bewegteRichtungY = bevorzugteRichtungY;
|
||||||
|
}else if(bewegteRichtungX != 0 && bevorzugteRichtungX != 0){
|
||||||
|
bewegteRichtungX = bevorzugteRichtungX;
|
||||||
|
}else if(bewegteRichtungY != 0 && bevorzugteRichtungY != 0){
|
||||||
|
bewegteRichtungY = bevorzugteRichtungY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void tickWallCollisions(){
|
||||||
|
Labyrinth labyrinth = spiel.getLabyrinth();
|
||||||
|
|
||||||
|
if(bewegteRichtungX == 1 && !labyrinth.isFrei((int) (centerX + 0.5), (int) centerY)){
|
||||||
|
centerX = (int) centerX + 0.5;
|
||||||
|
bewegteRichtungX = 0;
|
||||||
|
}else if(bewegteRichtungX == -1 && !labyrinth.isFrei((int) (centerX -0.5), (int) centerY)){
|
||||||
|
centerX = (int) centerX + 0.5;
|
||||||
|
bewegteRichtungX = 0;
|
||||||
|
}else if(bewegteRichtungY == 1 && !labyrinth.isFrei((int) centerX, (int) (centerY + 0.5))){
|
||||||
|
centerY = (int) centerY + 0.5;
|
||||||
|
bewegteRichtungY = 0;
|
||||||
|
}else if(bewegteRichtungY == -1 && !labyrinth.isFrei((int) centerX, (int) (centerY - 0.5))){
|
||||||
|
centerY = (int) centerY + 0.5;
|
||||||
|
bewegteRichtungY = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void tickTurn(boolean crossedCenterX, boolean crossedCenterY){
|
||||||
|
boolean turnXToY = crossedCenterX && bewegteRichtungX != 0 && bevorzugteRichtungY != 0 && spiel.getLabyrinth().isFrei((int) centerX, (int) (centerY + bevorzugteRichtungY));
|
||||||
|
boolean turnYToX = crossedCenterY && bewegteRichtungY != 0 && bevorzugteRichtungX != 0 && spiel.getLabyrinth().isFrei((int) (centerX + bevorzugteRichtungX), (int) centerY);
|
||||||
|
if(turnXToY){
|
||||||
|
centerX = (int) centerX + 0.5;
|
||||||
|
bewegteRichtungX = 0;
|
||||||
|
bewegteRichtungY = bevorzugteRichtungY;
|
||||||
|
}else if(turnYToX){
|
||||||
|
centerX = (int) centerX + 0.5;
|
||||||
|
bewegteRichtungY = 0;
|
||||||
|
bewegteRichtungX = bevorzugteRichtungX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void tick(){
|
||||||
|
tickBewegteRichtung();
|
||||||
|
|
||||||
|
double newX = centerX + bewegteRichtungX * Geschwindigkeit;
|
||||||
|
double newY = centerY + bewegteRichtungY * Geschwindigkeit;
|
||||||
|
|
||||||
|
boolean crossedCenterX = Math.abs((centerX - 0.5)%1.0 - (newX - 0.5) % 1.0)> 0.5;
|
||||||
|
boolean crossedCenterY = Math.abs((centerY - 0.5)%1.0 - (newY - 0.5) % 1.0)> 0.5;
|
||||||
|
|
||||||
|
centerX = newX;
|
||||||
|
centerY = newY;
|
||||||
|
|
||||||
|
|
||||||
|
tickTurn(crossedCenterX, crossedCenterY);
|
||||||
|
tickWallCollisions();
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getCenterX(){
|
||||||
|
return centerX;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getCenterY(){
|
||||||
|
return centerY;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getRadius(){
|
||||||
|
return radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBewegteRichtungX() {
|
||||||
|
return bewegteRichtungX;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBewegteRichtungY() {
|
||||||
|
return bewegteRichtungY;
|
||||||
|
}
|
||||||
|
}
|
||||||
17
Spielobjekt.java
Normal file
17
Spielobjekt.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
/**
|
||||||
|
* Beschreiben Sie hier die Klasse Spielobjekte.
|
||||||
|
*
|
||||||
|
* @author (Ihr Name)
|
||||||
|
* @version (eine Versionsnummer oder ein Datum)
|
||||||
|
*/
|
||||||
|
public abstract class Spielobjekt extends GameObject
|
||||||
|
{
|
||||||
|
protected final int x;
|
||||||
|
protected final int y;
|
||||||
|
|
||||||
|
public Spielobjekt(int x, int y){
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
}
|
||||||
|
}
|
||||||
178
bluej.pkg
Normal file
178
bluej.pkg
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
#BlueJ package file
|
||||||
|
dependency1.from=PacMan
|
||||||
|
dependency1.to=Spiel
|
||||||
|
dependency1.type=UsesDependency
|
||||||
|
dependency10.from=GeistGegner
|
||||||
|
dependency10.to=Punkt
|
||||||
|
dependency10.type=UsesDependency
|
||||||
|
dependency11.from=GeistGegner
|
||||||
|
dependency11.to=Nichts
|
||||||
|
dependency11.type=UsesDependency
|
||||||
|
dependency12.from=Labyrinth
|
||||||
|
dependency12.to=Spielobjekt
|
||||||
|
dependency12.type=UsesDependency
|
||||||
|
dependency13.from=Labyrinth
|
||||||
|
dependency13.to=Nichts
|
||||||
|
dependency13.type=UsesDependency
|
||||||
|
dependency14.from=Labyrinth
|
||||||
|
dependency14.to=Block
|
||||||
|
dependency14.type=UsesDependency
|
||||||
|
dependency15.from=Labyrinth
|
||||||
|
dependency15.to=Punkt
|
||||||
|
dependency15.type=UsesDependency
|
||||||
|
dependency16.from=Spiel
|
||||||
|
dependency16.to=Display
|
||||||
|
dependency16.type=UsesDependency
|
||||||
|
dependency17.from=Spiel
|
||||||
|
dependency17.to=Labyrinth
|
||||||
|
dependency17.type=UsesDependency
|
||||||
|
dependency18.from=Spiel
|
||||||
|
dependency18.to=PacMan
|
||||||
|
dependency18.type=UsesDependency
|
||||||
|
dependency19.from=Spiel
|
||||||
|
dependency19.to=GeistGegner
|
||||||
|
dependency19.type=UsesDependency
|
||||||
|
dependency2.from=PacMan
|
||||||
|
dependency2.to=Punkt
|
||||||
|
dependency2.type=UsesDependency
|
||||||
|
dependency20.from=Spiel
|
||||||
|
dependency20.to=GeistGegner2
|
||||||
|
dependency20.type=UsesDependency
|
||||||
|
dependency21.from=Spielfiguren
|
||||||
|
dependency21.to=Spiel
|
||||||
|
dependency21.type=UsesDependency
|
||||||
|
dependency22.from=Spielfiguren
|
||||||
|
dependency22.to=Labyrinth
|
||||||
|
dependency22.type=UsesDependency
|
||||||
|
dependency23.from=Display
|
||||||
|
dependency23.to=Spiel
|
||||||
|
dependency23.type=UsesDependency
|
||||||
|
dependency3.from=PacMan
|
||||||
|
dependency3.to=Nichts
|
||||||
|
dependency3.type=UsesDependency
|
||||||
|
dependency4.from=GeistGegner2
|
||||||
|
dependency4.to=PacMan
|
||||||
|
dependency4.type=UsesDependency
|
||||||
|
dependency5.from=GeistGegner2
|
||||||
|
dependency5.to=Spiel
|
||||||
|
dependency5.type=UsesDependency
|
||||||
|
dependency6.from=GeistGegner2
|
||||||
|
dependency6.to=Punkt
|
||||||
|
dependency6.type=UsesDependency
|
||||||
|
dependency7.from=GeistGegner2
|
||||||
|
dependency7.to=Nichts
|
||||||
|
dependency7.type=UsesDependency
|
||||||
|
dependency8.from=GeistGegner
|
||||||
|
dependency8.to=PacMan
|
||||||
|
dependency8.type=UsesDependency
|
||||||
|
dependency9.from=GeistGegner
|
||||||
|
dependency9.to=Spiel
|
||||||
|
dependency9.type=UsesDependency
|
||||||
|
editor.fx.0.height=0
|
||||||
|
editor.fx.0.width=0
|
||||||
|
editor.fx.0.x=0
|
||||||
|
editor.fx.0.y=0
|
||||||
|
objectbench.height=82
|
||||||
|
objectbench.width=1256
|
||||||
|
package.divider.horizontal=0.6
|
||||||
|
package.divider.vertical=0.8469852104664392
|
||||||
|
package.editor.height=488
|
||||||
|
package.editor.width=1132
|
||||||
|
package.editor.x=0
|
||||||
|
package.editor.y=0
|
||||||
|
package.frame.height=685
|
||||||
|
package.frame.width=1294
|
||||||
|
package.numDependencies=23
|
||||||
|
package.numTargets=12
|
||||||
|
package.showExtends=true
|
||||||
|
package.showUses=true
|
||||||
|
project.charset=windows-1252
|
||||||
|
readme.height=60
|
||||||
|
readme.name=@README
|
||||||
|
readme.width=48
|
||||||
|
readme.x=10
|
||||||
|
readme.y=10
|
||||||
|
target1.height=70
|
||||||
|
target1.name=PacMan
|
||||||
|
target1.showInterface=false
|
||||||
|
target1.type=ClassTarget
|
||||||
|
target1.width=120
|
||||||
|
target1.x=780
|
||||||
|
target1.y=270
|
||||||
|
target10.height=70
|
||||||
|
target10.name=Block
|
||||||
|
target10.showInterface=false
|
||||||
|
target10.type=ClassTarget
|
||||||
|
target10.width=120
|
||||||
|
target10.x=480
|
||||||
|
target10.y=390
|
||||||
|
target11.height=70
|
||||||
|
target11.name=Spielobjekt
|
||||||
|
target11.showInterface=false
|
||||||
|
target11.type=AbstractTarget
|
||||||
|
target11.width=120
|
||||||
|
target11.x=320
|
||||||
|
target11.y=210
|
||||||
|
target12.height=70
|
||||||
|
target12.name=Display
|
||||||
|
target12.showInterface=false
|
||||||
|
target12.type=ClassTarget
|
||||||
|
target12.width=120
|
||||||
|
target12.x=10
|
||||||
|
target12.y=150
|
||||||
|
target2.height=70
|
||||||
|
target2.name=GeistGegner2
|
||||||
|
target2.showInterface=false
|
||||||
|
target2.type=ClassTarget
|
||||||
|
target2.width=120
|
||||||
|
target2.x=930
|
||||||
|
target2.y=90
|
||||||
|
target3.height=70
|
||||||
|
target3.name=GeistGegner
|
||||||
|
target3.showInterface=false
|
||||||
|
target3.type=ClassTarget
|
||||||
|
target3.width=120
|
||||||
|
target3.x=770
|
||||||
|
target3.y=90
|
||||||
|
target4.height=70
|
||||||
|
target4.name=Labyrinth
|
||||||
|
target4.showInterface=false
|
||||||
|
target4.type=ClassTarget
|
||||||
|
target4.width=120
|
||||||
|
target4.x=530
|
||||||
|
target4.y=110
|
||||||
|
target5.height=70
|
||||||
|
target5.name=Punkt
|
||||||
|
target5.showInterface=false
|
||||||
|
target5.type=ClassTarget
|
||||||
|
target5.width=120
|
||||||
|
target5.x=160
|
||||||
|
target5.y=390
|
||||||
|
target6.height=70
|
||||||
|
target6.name=Nichts
|
||||||
|
target6.showInterface=false
|
||||||
|
target6.type=ClassTarget
|
||||||
|
target6.width=120
|
||||||
|
target6.x=320
|
||||||
|
target6.y=350
|
||||||
|
target7.height=70
|
||||||
|
target7.name=Spiel
|
||||||
|
target7.showInterface=false
|
||||||
|
target7.type=ClassTarget
|
||||||
|
target7.width=120
|
||||||
|
target7.x=100
|
||||||
|
target7.y=40
|
||||||
|
target8.height=70
|
||||||
|
target8.name=GameObject
|
||||||
|
target8.showInterface=false
|
||||||
|
target8.type=AbstractTarget
|
||||||
|
target8.width=120
|
||||||
|
target8.x=320
|
||||||
|
target8.y=110
|
||||||
|
target9.height=70
|
||||||
|
target9.name=Spielfiguren
|
||||||
|
target9.showInterface=false
|
||||||
|
target9.type=AbstractTarget
|
||||||
|
target9.width=120
|
||||||
|
target9.x=560
|
||||||
|
target9.y=240
|
||||||
178
package.bluej
Normal file
178
package.bluej
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
#BlueJ package file
|
||||||
|
dependency1.from=PacMan
|
||||||
|
dependency1.to=Spiel
|
||||||
|
dependency1.type=UsesDependency
|
||||||
|
dependency10.from=GeistGegner
|
||||||
|
dependency10.to=Punkt
|
||||||
|
dependency10.type=UsesDependency
|
||||||
|
dependency11.from=GeistGegner
|
||||||
|
dependency11.to=Nichts
|
||||||
|
dependency11.type=UsesDependency
|
||||||
|
dependency12.from=Labyrinth
|
||||||
|
dependency12.to=Spielobjekt
|
||||||
|
dependency12.type=UsesDependency
|
||||||
|
dependency13.from=Labyrinth
|
||||||
|
dependency13.to=Nichts
|
||||||
|
dependency13.type=UsesDependency
|
||||||
|
dependency14.from=Labyrinth
|
||||||
|
dependency14.to=Block
|
||||||
|
dependency14.type=UsesDependency
|
||||||
|
dependency15.from=Labyrinth
|
||||||
|
dependency15.to=Punkt
|
||||||
|
dependency15.type=UsesDependency
|
||||||
|
dependency16.from=Spiel
|
||||||
|
dependency16.to=Display
|
||||||
|
dependency16.type=UsesDependency
|
||||||
|
dependency17.from=Spiel
|
||||||
|
dependency17.to=Labyrinth
|
||||||
|
dependency17.type=UsesDependency
|
||||||
|
dependency18.from=Spiel
|
||||||
|
dependency18.to=PacMan
|
||||||
|
dependency18.type=UsesDependency
|
||||||
|
dependency19.from=Spiel
|
||||||
|
dependency19.to=GeistGegner
|
||||||
|
dependency19.type=UsesDependency
|
||||||
|
dependency2.from=PacMan
|
||||||
|
dependency2.to=Punkt
|
||||||
|
dependency2.type=UsesDependency
|
||||||
|
dependency20.from=Spiel
|
||||||
|
dependency20.to=GeistGegner2
|
||||||
|
dependency20.type=UsesDependency
|
||||||
|
dependency21.from=Spielfiguren
|
||||||
|
dependency21.to=Spiel
|
||||||
|
dependency21.type=UsesDependency
|
||||||
|
dependency22.from=Spielfiguren
|
||||||
|
dependency22.to=Labyrinth
|
||||||
|
dependency22.type=UsesDependency
|
||||||
|
dependency23.from=Display
|
||||||
|
dependency23.to=Spiel
|
||||||
|
dependency23.type=UsesDependency
|
||||||
|
dependency3.from=PacMan
|
||||||
|
dependency3.to=Nichts
|
||||||
|
dependency3.type=UsesDependency
|
||||||
|
dependency4.from=GeistGegner2
|
||||||
|
dependency4.to=PacMan
|
||||||
|
dependency4.type=UsesDependency
|
||||||
|
dependency5.from=GeistGegner2
|
||||||
|
dependency5.to=Spiel
|
||||||
|
dependency5.type=UsesDependency
|
||||||
|
dependency6.from=GeistGegner2
|
||||||
|
dependency6.to=Punkt
|
||||||
|
dependency6.type=UsesDependency
|
||||||
|
dependency7.from=GeistGegner2
|
||||||
|
dependency7.to=Nichts
|
||||||
|
dependency7.type=UsesDependency
|
||||||
|
dependency8.from=GeistGegner
|
||||||
|
dependency8.to=PacMan
|
||||||
|
dependency8.type=UsesDependency
|
||||||
|
dependency9.from=GeistGegner
|
||||||
|
dependency9.to=Spiel
|
||||||
|
dependency9.type=UsesDependency
|
||||||
|
editor.fx.0.height=0
|
||||||
|
editor.fx.0.width=0
|
||||||
|
editor.fx.0.x=0
|
||||||
|
editor.fx.0.y=0
|
||||||
|
objectbench.height=82
|
||||||
|
objectbench.width=1256
|
||||||
|
package.divider.horizontal=0.6
|
||||||
|
package.divider.vertical=0.8469852104664392
|
||||||
|
package.editor.height=488
|
||||||
|
package.editor.width=1132
|
||||||
|
package.editor.x=0
|
||||||
|
package.editor.y=0
|
||||||
|
package.frame.height=685
|
||||||
|
package.frame.width=1294
|
||||||
|
package.numDependencies=23
|
||||||
|
package.numTargets=12
|
||||||
|
package.showExtends=true
|
||||||
|
package.showUses=true
|
||||||
|
project.charset=windows-1252
|
||||||
|
readme.height=60
|
||||||
|
readme.name=@README
|
||||||
|
readme.width=48
|
||||||
|
readme.x=10
|
||||||
|
readme.y=10
|
||||||
|
target1.height=70
|
||||||
|
target1.name=PacMan
|
||||||
|
target1.showInterface=false
|
||||||
|
target1.type=ClassTarget
|
||||||
|
target1.width=120
|
||||||
|
target1.x=780
|
||||||
|
target1.y=270
|
||||||
|
target10.height=70
|
||||||
|
target10.name=Block
|
||||||
|
target10.showInterface=false
|
||||||
|
target10.type=ClassTarget
|
||||||
|
target10.width=120
|
||||||
|
target10.x=480
|
||||||
|
target10.y=390
|
||||||
|
target11.height=70
|
||||||
|
target11.name=Spielobjekt
|
||||||
|
target11.showInterface=false
|
||||||
|
target11.type=AbstractTarget
|
||||||
|
target11.width=120
|
||||||
|
target11.x=320
|
||||||
|
target11.y=210
|
||||||
|
target12.height=70
|
||||||
|
target12.name=Display
|
||||||
|
target12.showInterface=false
|
||||||
|
target12.type=ClassTarget
|
||||||
|
target12.width=120
|
||||||
|
target12.x=10
|
||||||
|
target12.y=150
|
||||||
|
target2.height=70
|
||||||
|
target2.name=GeistGegner2
|
||||||
|
target2.showInterface=false
|
||||||
|
target2.type=ClassTarget
|
||||||
|
target2.width=120
|
||||||
|
target2.x=930
|
||||||
|
target2.y=90
|
||||||
|
target3.height=70
|
||||||
|
target3.name=GeistGegner
|
||||||
|
target3.showInterface=false
|
||||||
|
target3.type=ClassTarget
|
||||||
|
target3.width=120
|
||||||
|
target3.x=770
|
||||||
|
target3.y=90
|
||||||
|
target4.height=70
|
||||||
|
target4.name=Labyrinth
|
||||||
|
target4.showInterface=false
|
||||||
|
target4.type=ClassTarget
|
||||||
|
target4.width=120
|
||||||
|
target4.x=530
|
||||||
|
target4.y=110
|
||||||
|
target5.height=70
|
||||||
|
target5.name=Punkt
|
||||||
|
target5.showInterface=false
|
||||||
|
target5.type=ClassTarget
|
||||||
|
target5.width=120
|
||||||
|
target5.x=160
|
||||||
|
target5.y=390
|
||||||
|
target6.height=70
|
||||||
|
target6.name=Nichts
|
||||||
|
target6.showInterface=false
|
||||||
|
target6.type=ClassTarget
|
||||||
|
target6.width=120
|
||||||
|
target6.x=320
|
||||||
|
target6.y=350
|
||||||
|
target7.height=70
|
||||||
|
target7.name=Spiel
|
||||||
|
target7.showInterface=false
|
||||||
|
target7.type=ClassTarget
|
||||||
|
target7.width=120
|
||||||
|
target7.x=100
|
||||||
|
target7.y=40
|
||||||
|
target8.height=70
|
||||||
|
target8.name=GameObject
|
||||||
|
target8.showInterface=false
|
||||||
|
target8.type=AbstractTarget
|
||||||
|
target8.width=120
|
||||||
|
target8.x=320
|
||||||
|
target8.y=110
|
||||||
|
target9.height=70
|
||||||
|
target9.name=Spielfiguren
|
||||||
|
target9.showInterface=false
|
||||||
|
target9.type=AbstractTarget
|
||||||
|
target9.width=120
|
||||||
|
target9.x=560
|
||||||
|
target9.y=240
|
||||||
Reference in New Issue
Block a user