J
Jolies
Gast
Hallo!
Ich soll Tic Tac Toe in Java programmieren.. soweit bin ich recht zufrieden mit meinem kleinen Programm, aber die Schrift, wer gerade drann ist (Zeile 28ff), überschreibt sich immer wieder, so das nichts mehr lesbar ist.. Hat jemand einen Tipp für mich, wie sich das ändern liese?
Und ich komm einfach nicht drauf, wie ich feststellen könnte, wer gewonnen hat.. hätte jemand einen Denkanstoß in die richtige Richtung? Wäre sehr lieb!
Beste Grüße,
Jolies
Ich soll Tic Tac Toe in Java programmieren.. soweit bin ich recht zufrieden mit meinem kleinen Programm, aber die Schrift, wer gerade drann ist (Zeile 28ff), überschreibt sich immer wieder, so das nichts mehr lesbar ist.. Hat jemand einen Tipp für mich, wie sich das ändern liese?
Und ich komm einfach nicht drauf, wie ich feststellen könnte, wer gewonnen hat.. hätte jemand einen Denkanstoß in die richtige Richtung? Wäre sehr lieb!
Java:
import javax.swing.JApplet;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class TicTacToe extends JApplet implements MouseListener{
private Point clickPoint = null;
public int counter = 0;
public boolean aa, ab, ac, ba, bb, bc, ca, cb, cc;
public TicTacToe() {
}
public void init() {
addMouseListener(this); // Listener für 'Mouse Events'
setBackground (Color.white);
}
public void paint (Graphics g) {
g.drawLine(25, 80, 175, 80);
g.drawLine(25, 130, 175, 130);
g.drawLine(75, 30, 75, 180);
g.drawLine(125, 30, 125, 180);
if (isFull())
g.drawString("Das Feld ist voll!", 0, 200);
if (counter % 2 == 0)
g.drawString("Spieler X ist an der Reihe", 15,20);
else
g.drawString("Spieler O ist an der Reihe", 15,20);
if (!aa && clickPoint.getX() > 25 && clickPoint.getX() < 75 && clickPoint.getY() > 30 && clickPoint.getY() < 80) {
counter++;
aa = true;
if (counter % 2 == 0)
drawCircle(g, 25, 30);
else
drawCross(g, 25, 30);
}
if (!ab && clickPoint.getX() > 25 && clickPoint.getX() < 75 && clickPoint.getY() > 80 && clickPoint.getY() < 130) {
counter++;
ab = true;
if (counter % 2 == 0)
drawCircle(g, 25, 80);
else
drawCross(g, 25, 80);
}
if (!ac && clickPoint.getX() > 25 && clickPoint.getX() < 75 && clickPoint.getY() > 130 && clickPoint.getY() < 180) {
counter++;
ac = true;
if (counter % 2 == 0)
drawCircle(g, 25, 130);
else
drawCross(g, 25, 130);
}
if (!ba && clickPoint.getX() > 75 && clickPoint.getX() < 125 && clickPoint.getY() > 30 && clickPoint.getY() < 80) {
counter++;
ba = true;
if (counter % 2 == 0)
drawCircle(g, 75, 30);
else
drawCross(g, 75, 30);
}
if (!bb && clickPoint.getX() > 75 && clickPoint.getX() < 125 && clickPoint.getY() > 80 && clickPoint.getY() < 130) {
counter++;
bb = true;
if (counter % 2 == 0)
drawCircle(g, 75, 80);
else
drawCross(g, 75, 80);
}
if (!bc && clickPoint.getX() > 75 && clickPoint.getX() < 125 && clickPoint.getY() > 130 && clickPoint.getY() < 180) {
counter++;
bc = true;
if (counter % 2 == 0)
drawCircle(g, 75, 130);
else
drawCross(g, 75, 130);
}
if (!ca && clickPoint.getX() > 125 && clickPoint.getX() < 175 && clickPoint.getY() > 30 && clickPoint.getY() < 80) {
counter++;
ca = true;
if (counter % 2 == 0)
drawCircle(g, 125, 30);
else
drawCross(g, 125, 30);
}
if (!cb && clickPoint.getX() > 125 && clickPoint.getX() < 175 && clickPoint.getY() > 80 && clickPoint.getY() < 130) {
counter++;
cb = true;
if (counter % 2 == 0)
drawCircle(g, 125, 80);
else
drawCross(g, 125, 80);
}
if (!cc && clickPoint.getX() > 125 && clickPoint.getX() < 175 && clickPoint.getY() > 130 && clickPoint.getY() < 180) {
counter++;
cc = true;
if (counter % 2 == 0)
drawCircle(g, 125, 130);
else
drawCross(g, 125, 130);
}
}
public void drawCross(Graphics g, int x, int y) {
g.drawLine(x + 5, y + 5, x + 45, y + 45);
g.drawLine(x + 45, y + 5, x + 5, y + 45);
}
public void drawCircle(Graphics g, int x, int y) {
g.drawOval(x + 5, y + 5, 40, 40);
}
public void mouseClicked (MouseEvent event) {
// Bestimmt Stelle des Mausklicks und erzwingt 'repaint'
clickPoint = event.getPoint();
repaint();
}
public void mousePressed (MouseEvent event) {}
public void mouseReleased (MouseEvent event) {}
public void mouseEntered (MouseEvent event) {}
public void mouseExited (MouseEvent event) {}
boolean isFull() {
if (counter == 8)
return true;
else
return false;
}
/* boolean isWon() {
}
*/
}
Beste Grüße,
Jolies