Thank you a9bejo
Beiträge von DjDogy
-
-
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
-
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 :):)
-
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.
-
nur z.B die Frabe änder vom Hintergrund
wie das geht und wo ich am Programm etwas umändern muss ???
-
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 farbe == SCHWARZ_W)
{
g.setColor(Color.BLACK);
g.fillOval(xPos - 30, yPos - 30, 60, 60);
}
else if (farbe == WEISS 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 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 pos == 15 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 pos == 9 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);
}
}
}
}