1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Java Spieleprogrammieren Hilfe !!

  • DjDogy
  • 22. Mai 2008 um 15:14
  • Unerledigt
  • DjDogy
    2
    DjDogy
    Mitglied
    Reaktionen
    1
    Punkte
    36
    Beiträge
    6
    • 22. Mai 2008 um 15:14
    • #1

    Hallo

    Mein Bruder studiert Informatik in Linz 1.Semester und er musste ein Programm
    fertig bekommen bis ca. in einer Woche.

    Da er am Krankenhaus Wels Operiert worden ist :wein: vor ca. 2 Wochen kann er dieses Programm nicht selber fertig machen -

    er hatt mich darum gebetten ob ich vielleicht das Programm fertig machen könnte, da ich HTL für Chemie Wels bin kenne ich mich nicht aus.
    und da ich mich nicht so gut mit Programmieren bzw. Java auskenne brauche ich hilfe von euch Bitte Bitte!

    (Das ist ein Spiel Muehle -> er müsste noch das Design umändern bzw. ein bisschen anders geschtalten das Programm! --> aber wie ??? (z.B Farben anders , das es halt ein bisschen anders aussieht))

    weil ich muss das umbedieng für ihm an der Universität abgeben, zählt viel zur Vorlesung.


    Kann mir bitte irgendwehr helfen ???? :wein:


    Hier ist das Programm:::

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.text.*;
    import java.util.*;
    import java.io.*;
    import java.net.*;

    public class Muehle extends JComponent implements MouseMotionListener, MouseListener, Runnable
    {
    public static final char SCHWARZ = 'S', SCHWARZ_W = 's';
    public static final char WEISS = 'W', WEISS_W = 'w';
    public static final char LEER = ' ';

    public static final int AUSWAEHLEN = 0;
    public static final int ZIEHEN = 1;
    public static final int WEGNEHMEN = 2;

    static final int[] koordX =
    {
    400, 700, 700, 700, 400, 100, 100, 100, // 0-7
    400, 600, 600, 600, 400, 200, 200, 200, // 8-15
    400, 500, 500, 500, 400, 300, 300, 300 // 16-23
    };
    static final int[] koordY =
    {
    100, 100, 400, 700, 700, 700, 400, 100, // 0-7
    200, 200, 400, 600, 600, 600, 400, 200, // 8-15
    300, 300, 400, 500, 500, 500, 400, 300 //16-23
    };

    static final char[] spielfeld =
    {
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 0-7
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 8-15
    ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' //16-23
    };

    PrintStream ps;
    Scanner scan;

    // Noch zu setzende Spielsteine
    int steineWeiss;
    int steineSchwarz;
    boolean spielModusSetzen;
    boolean spielModusZiehen;
    int ziehenZustand;

    char naechsterSpieler = WEISS;
    int gezogenerStein = -1;
    int mousePosX, mousePosY;
    char spieler;

    public Muehle()
    {
    addMouseMotionListener(this);
    addMouseListener(this);
    steineWeiss = 9;
    steineSchwarz = 9;
    spielModusSetzen = true;
    spieler = WEISS;
    try
    {
    ServerSocket server = new ServerSocket(0);
    System.out.println("Port: " + server.getLocalPort());
    initVerbindung(server.accept());
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    }

    public Muehle(String inetAddr, int port)
    {
    addMouseMotionListener(this);
    addMouseListener(this);
    steineWeiss = 9;
    steineSchwarz = 9;
    spielModusSetzen = true;
    spieler = SCHWARZ;
    try
    {
    initVerbindung(new Socket(inetAddr, port));
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    }

    public void paint(Graphics g)
    {
    // Bildschirmhintergrund loeschen
    g.setColor(Color.WHITE);
    g.fillRect(0, 0, getWidth(), getHeight());

    // Spielfeld zeichnen
    paintSpielfeld(g);

    paintSteine(g);

    if (spielModusSetzen)
    {
    paintStein(g, mousePosX, mousePosY, naechsterSpieler);
    }
    if (ziehenZustand == WEGNEHMEN)
    {
    paintSteinWegnehmen(g, mousePosX, mousePosY, naechsterSpieler);
    }

    paintNichtGesetzteSteine(g);
    }

    public void paintSteine(Graphics g)
    {
    for (int i = 0; i < spielfeld.length; i ++)
    {
    paintSteinPos(g, i, spielfeld[i]);
    }
    }

    public void paintSpielfeld(Graphics g)
    {
    ((Graphics2D)g).setStroke(new BasicStroke(6));
    g.setColor(Color.BLACK);
    g.drawRect(100, 100, 600, 600);
    g.drawRect(200, 200, 400, 400);
    g.drawRect(300, 300, 200, 200);

    g.drawLine(400, 100, 400, 300);
    g.drawLine(100, 400, 300, 400);
    g.drawLine(500, 400, 700, 400);
    g.drawLine(400, 500, 400, 700);
    }

    public void paintSteinPos(Graphics g, int pos, char farbe)
    {
    paintStein(g, koordX[pos], koordY[pos], farbe);
    }

    public void paintSteinWegnehmen(Graphics g, int xPos, int yPos, char farbe)
    {
    paintStein(g, xPos, yPos, farbe);
    g.setColor(Color.BLACK);
    g.drawLine(xPos - 40, yPos - 40, xPos + 40, yPos + 40);
    g.drawLine(xPos - 40, yPos + 40, xPos + 40, yPos - 40);
    }

    public void paintStein(Graphics g, int xPos, int yPos, char farbe)
    {
    if (farbe == SCHWARZ :tired_face: farbe == SCHWARZ_W)
    {
    g.setColor(Color.BLACK);
    g.fillOval(xPos - 30, yPos - 30, 60, 60);
    }
    else if (farbe == WEISS :tired_face: farbe == WEISS_W)
    {
    g.setColor(Color.WHITE);
    g.fillOval(xPos - 30, yPos - 30, 60, 60);
    ((Graphics2D)g).setStroke(new BasicStroke(3));
    g.setColor(Color.BLACK);
    g.drawOval(xPos - 30, yPos - 30, 60, 60);
    }
    else // Kein Stein gesetzt
    {
    g.setColor(Color.GRAY);
    g.fillOval(xPos - 6, yPos - 6, 12, 12);
    }
    if (farbe == WEISS_W :tired_face: farbe == SCHWARZ_W)
    {
    g.setColor(Color.BLUE);
    g.fillOval(xPos - 10, yPos - 10, 20, 20);
    }
    }

    public void paintNichtGesetzteSteine(Graphics g)
    {
    for (int i = 0; i < steineWeiss; i ++)
    {
    g.setColor(Color.WHITE);
    g.fillOval(20, 100 + i * 60, 50, 50);
    g.setColor(Color.BLACK);
    g.drawOval(20, 100 + i * 60, 50, 50);
    }
    for (int i = 0; i < steineSchwarz; i ++)
    {
    g.fillOval(730, 100 + i * 60, 50, 50);
    }
    }

    public void mouseMoved(MouseEvent evt)
    {
    if((naechsterSpieler == spieler) == (ziehenZustand != WEGNEHMEN))
    {
    mousePosX = evt.getX();
    mousePosY = evt.getY();
    ps.println("MOVE " + mousePosX + " " + mousePosY);
    repaint();
    }
    }
    public void mouseDragged(MouseEvent evt)
    {

    }

    public void mouseClicked(MouseEvent e)
    {
    if((naechsterSpieler == spieler) == (ziehenZustand != WEGNEHMEN))
    {
    setzeSteinAuf(mousePosX = e.getX(), mousePosY = e.getY());
    ps.println("CLICK " + mousePosX + " " + mousePosY);
    }
    }

    public void setzeSteinAuf(int posx, int posy)
    {
    mousePosX = posx;
    mousePosY = posy;
    for (int i = 0; i < 24; i ++)
    {
    int x2 = koordX[i];
    int y2 = koordY[i];
    double diff = Math.sqrt(
    (mousePosX - x2) * (mousePosX - x2) +
    (mousePosY - y2) * (mousePosY - y2));
    if (diff < 30)
    {
    if (ziehenZustand == WEGNEHMEN)
    {
    if (spielfeld[i] == naechsterSpieler)
    {
    spielfeld[i] = LEER;
    ziehenZustand = AUSWAEHLEN;
    repaint();
    }
    }
    else if (spielModusSetzen)
    {
    if (spielfeld[i] == LEER)
    {
    spielfeld[i] = naechsterSpieler;
    if (naechsterSpieler == WEISS)
    {
    steineWeiss --;
    naechsterSpieler = SCHWARZ;
    }
    else
    {
    steineSchwarz --;
    naechsterSpieler = WEISS;
    }
    if (steineWeiss == 0 && steineSchwarz == 0)
    {
    spielModusSetzen = false;
    spielModusZiehen = true;
    }
    ueberpruefeMuehle(i);
    repaint();
    }
    }
    else if (spielModusZiehen)
    {
    if (ziehenZustand == AUSWAEHLEN)
    {
    if (spielfeld[i] == naechsterSpieler)
    {
    spielfeld[i] = (char)(spielfeld[i] + ('a' -'A'));
    gezogenerStein = i;
    ziehenZustand = ZIEHEN;
    }
    }
    else if (ziehenZustand == ZIEHEN)
    {
    if (spielfeld[i] == LEER)
    {
    spielfeld[i] = naechsterSpieler;
    spielfeld[gezogenerStein] = LEER;
    gezogenerStein = -1;
    if (naechsterSpieler == WEISS)
    {
    naechsterSpieler = SCHWARZ;
    }
    else
    {
    naechsterSpieler = WEISS;
    }
    ziehenZustand = AUSWAEHLEN;
    ueberpruefeMuehle(i);
    }
    }
    repaint();
    }
    }
    }
    }

    public void mouseEntered(MouseEvent e)
    {

    }

    public void mouseExited(MouseEvent e)
    {

    }

    public void mousePressed(MouseEvent e)
    {

    }

    public void mouseReleased(MouseEvent e)
    {

    }

    public void ueberpruefeMuehle(int pos)
    {
    int spieler = spielfeld[pos];
    if (pos % 2 == 0) //Gerade Stellen (keine Ecken)
    {
    if (pos % 8 == 0)
    {
    if ((spielfeld[pos + 7] == spieler) && (spielfeld[pos + 1] == spieler))
    {
    ziehenZustand = WEGNEHMEN; //Muehle!
    }
    }
    else if ((spielfeld[pos - 1] == spieler) && (spielfeld[pos + 1] == spieler))
    {
    ziehenZustand = WEGNEHMEN; //Muehle!
    }
    pos = pos % 8;
    if ((spielfeld[pos] == spieler) && (spielfeld[pos + 8] == spieler) && (spielfeld[pos + 16] == spieler))
    {
    ziehenZustand = WEGNEHMEN; //Muehle!
    }
    }
    else //Ungerade Stellen (Ecken)
    {
    if (pos == 7 :tired_face: pos == 15 :tired_face: pos == 23)
    {
    if ((spielfeld[pos - 7] == spieler) && (spielfeld[pos - 6] == spieler))
    {
    ziehenZustand = WEGNEHMEN; //Muehle!
    }
    }
    else
    {
    if ((spielfeld[pos + 1] == spieler) && (spielfeld[pos + 2] == spieler))
    {
    ziehenZustand = WEGNEHMEN; //Muehle!
    }
    }
    if (pos == 1 :tired_face: pos == 9 :tired_face: pos == 17)
    {
    if ((spielfeld[pos - 1] == spieler) && (spielfeld[pos + 6] == spieler))
    {
    ziehenZustand = WEGNEHMEN; //Muehle!
    }
    }
    else
    {
    if ((spielfeld[pos - 1] == spieler) && (spielfeld[pos - 2] == spieler))
    {
    ziehenZustand = WEGNEHMEN; //Muehle!
    }
    }
    }
    }

    public void initVerbindung(Socket socket)
    {
    try
    {
    ps = new PrintStream(socket.getOutputStream());
    scan = new Scanner(socket.getInputStream());
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    new Thread(this).start();
    }

    public void run()
    {
    while (scan.hasNext())
    {
    String cmd = scan.next();
    int xPos = scan.nextInt();
    int yPos = scan.nextInt();
    if (cmd.equals("MOVE"))
    {
    mousePosX = xPos;
    mousePosY = yPos;
    repaint();
    }
    else if (cmd.equals("CLICK"))
    {
    setzeSteinAuf(xPos, yPos);
    }
    }
    }
    }

  • MrMassaker
    12
    MrMassaker
    Mitglied
    Reaktionen
    41
    Punkte
    1.436
    Beiträge
    263
    • 22. Mai 2008 um 15:52
    • #2

    ich hab das programm jetzt nicht getestet, aber was genau ist deine frage?
    ich komm nicht ganz dahinter beim lesen deines posts.

    Patient: "Doctor, doctor, my eye hurts when I poke it with a spoon."
    Doctor: "Don't poke it, then."

  • mdk
    26
    mdk
    Emeritus
    Reaktionen
    130
    Punkte
    7.120
    Beiträge
    1.390
    • 22. Mai 2008 um 15:53
    • #3
    Zitat von MrMassaker

    ich hab das programm jetzt nicht getestet, aber was genau ist deine frage?

    Ich nehme an, so etwas wie "Könnte bitte jemand meine Hausübung/die Hausübung meines Bruders für mich machen?"

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 22. Mai 2008 um 17:05
    • #4

    http://informatik-forum.at/showpost.php?p=167379&postcount=4

    lg, Benjamin Ferrari, bookworm.at

  • serprime
    8
    serprime
    Mitglied
    Reaktionen
    14
    Punkte
    629
    Beiträge
    122
    • 22. Mai 2008 um 17:08
    • #5

    http://www.java-forum.org/de/viewtopic.php?t=69669


  • Aeroflare
    10
    Aeroflare
    Mitglied
    Reaktionen
    18
    Punkte
    1.073
    Beiträge
    206
    • 22. Mai 2008 um 17:27
    • #6

    Warum kann man nicht programmieren, wenn man im Krankenhaus ist bzw. operiert wurde? Ich mein die ersten 2-3 Tage ok, aber danach/davor?

    Normalerweilse gewäht die LVA-Leitung in solchen Fällen dazu eh eine Ausnahme ... hm

    There's a place in the dark where the animals go
    you can take off your skin in the cannibal glow
    Juliet loves a beat and the lust it commands
    drop the dagger and lather the blood on your hands - Romeo

  • DjDogy
    2
    DjDogy
    Mitglied
    Reaktionen
    1
    Punkte
    36
    Beiträge
    6
    • 22. Mai 2008 um 18:12
    • #7

    nur z.B die Frabe änder vom Hintergrund

    wie das geht und wo ich am Programm etwas umändern muss ???

  • DjDogy
    2
    DjDogy
    Mitglied
    Reaktionen
    1
    Punkte
    36
    Beiträge
    6
    • 22. Mai 2008 um 18:14
    • #8

    Hallo

    Im Krankenhaus ist das verboten in Wels Laptop oder dieverse elektronische Geräte mit zu nähmen deswegen,

    außerdem wurde er am Oberschenkel und an der Wirbelsäure Operiert.

  • DjDogy
    2
    DjDogy
    Mitglied
    Reaktionen
    1
    Punkte
    36
    Beiträge
    6
    • 22. Mai 2008 um 18:18
    • #9

    ich sage nicht das du mdk die Hausübung ---oder etwas --machen solltest ich habe nur geschreiben das ich etwas hilfe brauch und einen brauche der mir das ein bisschen erklärt auch teilweise zeigen kann!!!! :)

    aber trotzdem danke die zurück geschreiben haben :):)

  • mdk
    26
    mdk
    Emeritus
    Reaktionen
    130
    Punkte
    7.120
    Beiträge
    1.390
    • 22. Mai 2008 um 18:27
    • #10

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 22. Mai 2008 um 18:45
    • #11

    Und ich glaube Du bist ein Einzelkind, und nachdem auf java-forum.org keiner Deine Hausübung machen wollte, hast Du es hier mal mit einer Geschichte versucht. Wo ist denn dein kranker Bruder in den 5 Postings auf java-forum.org?

    Meiner Meinung nach war die Geschichte auch nicht sehr gut überlegt, denn mit einer Bestätigung vom Arzt könnte dein armer kranker Bruder die Aufgabe vermutlich nachholen. Und warum sollte ein Informatik Student von seinem jüngeren Chemie-Schüler-Bruder erwarten, dass der ihm ein Java Programm schreiben kann? Also von allen möglichen Lösungen für das Problem wäre das mit Abstand die dämlichste, die ich mir vorstellen kann. Er hätte Dich frage sollen ob Du ihm einen Zauberheiltrank braust, das wäre realistischer gewesen.

    Ich vermute auch du hast den Code von einem Kollegen kopiert, und jetzt muss der natürlich anders aussehen als bei ihm.

    lg, Benjamin Ferrari, bookworm.at

    2 Mal editiert, zuletzt von a9bejo (23. Mai 2008 um 21:51)

  • HMS
    5
    HMS
    Mitglied
    Reaktionen
    4
    Punkte
    194
    Beiträge
    26
    • 22. Mai 2008 um 18:45
    • #12

    Lol!!!

  • spinball
    11
    spinball
    Mitglied
    Reaktionen
    67
    Punkte
    1.192
    Beiträge
    223
    • 22. Mai 2008 um 18:50
    • #13

    In Memoriam:

    PHP
    public static final char LEER = ' ';

    Fabulös.

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 22. Mai 2008 um 19:00
    • #14
    Zitat von spinball

    In Memoriam:

    PHP
    public static final char LEER = ' ';

    Fabulös.

    Ne, das passt schon so. Du willst in der Regel keine magic Strings in deinem Algorithmus, also drückst Du sie (zumindest) durch Konstanten aus.

    lg, Benjamin Ferrari, bookworm.at

    Einmal editiert, zuletzt von a9bejo (22. Mai 2008 um 19:03)

  • DjDogy
    2
    DjDogy
    Mitglied
    Reaktionen
    1
    Punkte
    36
    Beiträge
    6
    • 22. Mai 2008 um 19:06
    • #15

    wer bist du eigentlich a9bejo nfsakfn :wave2: wiso redest du hier mit hahahahahah nur blötsinn im kopf :)

    :):)

    aber danke an die anderen thanks thanks

  • DjDogy
    2
    DjDogy
    Mitglied
    Reaktionen
    1
    Punkte
    36
    Beiträge
    6
    • 22. Mai 2008 um 19:08
    • #16

    Thank you a9bejo

  • Vevusio
    6
    Vevusio
    Mitglied
    Reaktionen
    1
    Punkte
    371
    Beiträge
    71
    • 23. Mai 2008 um 02:50
    • #17

    ach lol, zumindest noch ein bisschen gelacht vorm schlafen gehen :)

    [FONT=Arial, Helvetica, sans-serif](\__/) [/FONT]
    [FONT=Arial, Helvetica, sans-serif] (='.'=) [/FONT]This is Bunny. Copy Bunny into your signature to help
    [FONT=Arial, Helvetica, sans-serif](")_(")[/FONT] him on his way to world domination.

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Tags

  • dogy-steil
  • hausaufgabe
  • hilfe bitte bitte
  • mach die hü selber
  • rechtschreibprobleme
  • wir machen deine hü nicht

Rechtliches

Impressum

Datenschutzerklärung