/**
*
**/
//Packet-Import
import java.awt.Font;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
public class JavaSpiel extends JPanel implements MouseListener {
private static final long serialVersionUID = 1L;
// Bild für Hintergrund (Karte)
Image img = getToolkit().getImage("europa-karte-neu.jpg");
// Bild für Pin
Image imgpin = getToolkit().getImage("pin.png");
// Zeichnen
public void paint(Graphics g) {
// Schwarzer Rand
g.setColor(Color.black);
g.fillRect(0, 0, 876, 802);
// Weisser Hintergrund
g.setColor(Color.white);
g.fillRect(1, 1, 874, 800);
// Schriftart, -grösse und -farbe für "Loading...-Text"
Font font1 = new Font("Arial", Font.PLAIN, 20);
g.setFont(font1);
g.setColor(Color.black);
g.drawString("Loading...", 350, 400);
// Hintergrund zeichnen
g.drawImage(img, 1, 1, this);
// Schriftart, -grösse und -farbe für "Info-Box"
Font font2 = new Font("Arial", Font.PLAIN, 16);
g.setFont(font2);
g.setColor(Color.black);
// Aufgabenstellung
g.drawString("Aufgabe:", 681, 30);
g.drawString("Finden Sie die Stadt ", 681, 60);
g.drawString(stadt + ". ", 681, 80);
g.drawString("Distanz zu", 681, 150);
g.drawString(stadt + " beträgt: ", 681, 170);
}
// Zufallszahl zwischen 1 und 49 erzeugen
long start = Math.round(Math.random() * 48 + 1);
// Variablen
double stadty = 0, stadtx = 0;
String stadt = "xy";
{
// Start Städte-Zuordnung mit Koordinaten und Beschreibung
// Reykjavik
if (start == 1) {
stadtx = 188;
stadty = 329;
stadt = "Reykjavik";
}
// Athen
if (start == 2) {
stadtx = 188;
stadty = 329;
stadt = "Athen";
}
// Andorra
if (start == 3) {
stadtx = 188;
stadty = 329;
stadt = "Andorra";
}
// Rom
if (start == 4) {
stadtx = 188;
stadty = 329;
stadt = "Rom";
}
// San Marino
if (start == 5) {
stadtx = 188;
stadty = 329;
stadt = "San Marino";
}
// Paris
if (start == 6) {
stadtx = 188;
stadty = 329;
stadt = "Paris";
}
// Valletta
if (start == 7) {
stadtx = 188;
stadty = 329;
stadt = "Valletta";
}
// Monaco
if (start == 8) {
stadtx = 188;
stadty = 329;
stadt = "Monaco";
}
// Vatikan Stadt
if (start == 9) {
stadtx = 188;
stadty = 329;
stadt = "Vatikan Stadt";
}
// Wilna
if (start == 10) {
stadtx = 188;
stadty = 329;
stadt = "Wilna";
}
// Madrid
if (start == 11) {
stadtx = 188;
stadty = 329;
stadt = "Madrid";
}
// Budapest
if (start == 12) {
stadtx = 188;
stadty = 329;
stadt = "Budapest";
}
// Bukarest
if (start == 13) {
stadtx = 188;
stadty = 329;
stadt = "Bukarest";
}
// Sofia
if (start == 14) {
stadtx = 188;
stadty = 329;
stadt = "Sofia";
}
// Helsinki
if (start == 15) {
stadtx = 188;
stadty = 329;
stadt = "Helsinki";
}
// Kiew
if (start == 16) {
stadtx = 188;
stadty = 329;
stadt = "Kiew";
}
// Riga
if (start == 17) {
stadtx = 188;
stadty = 329;
stadt = "Riga";
}
// Tiflis
if (start == 18) {
stadtx = 188;
stadty = 329;
stadt = "Tiflis";
}
// Minsk
if (start == 19) {
stadtx = 188;
stadty = 329;
stadt = "Minsk";
}
// Bern
if (start == 20) {
stadtx = 188;
stadty = 329;
stadt = "Bern";
}
// Kischinew
if (start == 21) {
stadtx = 188;
stadty = 329;
stadt = "Kischinew";
}
// Tirana
if (start == 22) {
stadtx = 188;
stadty = 329;
stadt = "Tirana";
}
// Moskau
if (start == 23) {
stadtx = 188;
stadty = 329;
stadt = "Moskau";
}
// Berlin
if (start == 24) {
stadtx = 188;
stadty = 329;
stadt = "Berlin";
}
// Edinburgh
if (start == 25) {
stadtx = 188;
stadty = 329;
stadt = "Edinburgh";
}
// Dublin
if (start == 26) {
stadtx = 188;
stadty = 329;
stadt = "Dublin";
}
// Wien
if (start == 27) {
stadtx = 188;
stadty = 329;
stadt = "Wien";
}
// Pressburg
if (start == 28) {
stadtx = 188;
stadty = 329;
stadt = "Pressburg";
}
// Prag
if (start == 29) {
stadtx = 188;
stadty = 329;
stadt = "Prag";
}
// Ankara
if (start == 30) {
stadtx = 188;
stadty = 329;
stadt = "Ankara";
}
// Warschau
if (start == 31) {
stadtx = 188;
stadty = 329;
stadt = "Warschau";
}
// Luxemburg
if (start == 32) {
stadtx = 188;
stadty = 329;
stadt = "Luxemburg";
}
// Tallinn
if (start == 33) {
stadtx = 188;
stadty = 329;
stadt = "Tallinn";
}
// Stockholm
if (start == 34) {
stadtx = 188;
stadty = 329;
stadt = "Stockholm";
}
// Vaduz
if (start == 35) {
stadtx = 188;
stadty = 329;
stadt = "Vaduz";
}
// Koppenhagen
if (start == 36) {
stadtx = 188;
stadty = 329;
stadt = "Koppenhagen";
}
// Amserdamm
if (start == 37) {
stadtx = 188;
stadty = 329;
stadt = "Amserdamm";
}
// Zagreb
if (start == 38) {
stadtx = 188;
stadty = 329;
stadt = "Zagreb";
}
// Oslo
if (start == 39) {
stadtx = 188;
stadty = 329;
stadt = "Oslo";
}
// Cardiff
if (start == 40) {
stadtx = 188;
stadty = 329;
stadt = "Cardiff";
}
// Belfast
if (start == 41) {
stadtx = 188;
stadty = 329;
stadt = "Belfast";
}
// Brüssel
if (start == 42) {
stadtx = 188;
stadty = 329;
stadt = "Brüssel";
}
// Lissabon
if (start == 43) {
stadtx = 188;
stadty = 329;
stadt = "Lissabon";
}
// Ljubljana
if (start == 44) {
stadtx = 188;
stadty = 329;
stadt = "Ljubljana";
}
// Skopje
if (start == 45) {
stadtx = 188;
stadty = 329;
stadt = "Skopje";
}
// London
if (start == 46) {
stadtx = 188;
stadty = 329;
stadt = "London";
}
// Sarajevo
if (start == 47) {
stadtx = 188;
stadty = 329;
stadt = "Sarajevo";
}
// Belgrad
if (start == 48) {
stadtx = 188;
stadty = 329;
stadt = "Belgrad";
}
// Gibraltar
if (start == 50) {
stadtx = 188;
stadty = 329;
stadt = "Gibraltar";
}
}
// Ende Städte-Zuordnung
// Fenster erzeugen
public static void main(String[] args) {
JFrame frame = new JFrame(
"Java-Spiel von Luca Schneider und Dominik Meyer");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JComponent newContentPane = new JavaSpiel();
frame.setContentPane(newContentPane);
frame.setSize(884, 836);
frame.setVisible(true);
}
public JavaSpiel() {
addMouseListener(this);// MouseListener zum Panel hinzufügen
}
public void mousePressed(MouseEvent e) {
// Was machen, wenn Maus gedrückt?
}
public void mouseReleased(MouseEvent e) {
// Was machen, wenn Maus losgelassen?
}
public void mouseEntered(MouseEvent e) {
// Was machen, wenn Maus in Panel kommt?
}
public void mouseExited(MouseEvent e) {
// Was machen, wenn Maus aus Panel geht?
}
public void mouseClicked(MouseEvent e) {
// Variablen
double y, x, ux, uy, v, d;
// Geklickte X und Y Koordianten
x = e.getPoint().getX();
y = e.getPoint().getY();
// Unterschied der verschiedenen X und Y Koordinaten
if (x > stadtx) {
ux = x - stadtx;
if (y > stadty) {
uy = y - stadty;
} else {
uy = stadty - y;
}
} else {
ux = stadtx - x;
if (y > stadty) {
uy = y - stadty;
} else {
uy = stadty - y;
}
}
// Satz des Pythagoras für Vektorberechnung der 2 Punkte (in Pixel)
v = Math.sqrt((ux * ux) + (uy * uy));
// Pixel in Kilometer
d = v * 5.5075;
long distanz = Math.round(d);
}
/**
*
* // Hintergrund zeichnen
* g.drawImage(imgpin, x-5, y-31, this);
*
* // Schriftart, -grösse und -farbe für "Info-Box" Distanzausgabe
* Font font3 = new Font("Arial", Font.PLAIN, 16);
* g.setFont(font3);
* g.setColor(Color.black);¨
*
* // Distanzanzeige
* g.drawString(distanz+" Kilometer", 681, 200);
*
*/
}