Hi, da bin ich wieder 
Ich hab heute aus Spaß versucht Tic Tac Toe zu programmieren. (bin eh krank, hab mich ein bisschen erkältet, da hab ich nichts zu tun *g*)
Java lerne ich erst seit ein paar Wochen im Grundkurs Informatik. Viele Möglichkeiten etwas zu "programmieren" kenne ich noch nicht, jedoch bin ich da offen und würde auch gerne etwas dazulernen.
Methoden die ich bis jetzt so durchgenommen hab: if-Bedingungen, Schleifen(For und while),
Konstruktoren, im Grafikfenster linien, kreis, rechtecke usw. zu zeichnen, oder auch zum Beispiel eine Klasse Stern aus den Klassen Dreieck zu programmieren.
Also eig Grundlegende Sachen, tiefer sind wir aber noch nicht in Java eingestiegen!
So sieht mein Code momentan aus:
Eig kann man da schon ganz gut Tic Tac Toe spielen. Ist zwar nen bisschen umständlich und es gibt auch noch keine Überprüfungen etc.
Um das zu verbessern habe ich einige Fragen.
1. Wie kann ich abfragen, ob ein "Feld" schon belegt ist?
2. Wenn ich das weiß, wie kann ich dann abfragen ob sich drei X oder drei O in einer Reihe befinden?
3. Ist es möglich einfach die Eingabe des Feldes über die "Maussteuerung" zu generieren? Wenn ihr meinen Code lest, werdet ihr schnell verstehen, wie ich das momentan gelöst habe!
viele Dank fürs lesen und hoffentlich auch fürs Antworten
lg Flo
Ich hab heute aus Spaß versucht Tic Tac Toe zu programmieren. (bin eh krank, hab mich ein bisschen erkältet, da hab ich nichts zu tun *g*)
Java lerne ich erst seit ein paar Wochen im Grundkurs Informatik. Viele Möglichkeiten etwas zu "programmieren" kenne ich noch nicht, jedoch bin ich da offen und würde auch gerne etwas dazulernen.
Methoden die ich bis jetzt so durchgenommen hab: if-Bedingungen, Schleifen(For und while),
Konstruktoren, im Grafikfenster linien, kreis, rechtecke usw. zu zeichnen, oder auch zum Beispiel eine Klasse Stern aus den Klassen Dreieck zu programmieren.
Also eig Grundlegende Sachen, tiefer sind wir aber noch nicht in Java eingestiegen!
So sieht mein Code momentan aus:
Java:
import java.awt.*;
import javax.swing.*;
public class Oberfläche
{
public Oberfläche() {
// Standard-Grafikoberfläche holen:
Graphics2D g = GrafikFenster.gibGrafikFläche();
for (int i = 125; i <= 1000; i += 250) {
g.drawLine(125, i, 875, i);
g.drawLine(i, 125, i, 875);
}
for (int a = 0; a <= 8; a += 1) {
if (a <= 2) {
g.drawString(String.valueOf(a + 1), 250 * a + 130, 140);
}
else {
if (a <= 5) {
g.drawString(String.valueOf(a + 1), 250 * (a-3) + 130, 390);
}
else {
g.drawString(String.valueOf(a + 1), 250 * (a-6) + 130, 640);
}
}
}
g.setColor(Color.GREEN);
g.setFont(new Font("Helvetica", Font.BOLD, 50));
g.drawString("TIC TAC TOE", 350,75);
}
}
Java:
import java.awt.*;
import javax.swing.*;
public class Zeichen {
private Oberfläche Gitter;
public Zeichen() {
Gitter = new Oberfläche();
}
public void zeichneX(int a) {
// Standard-Grafikoberfläche holen:
Graphics2D g = GrafikFenster.gibGrafikFläche();
g.setColor(Color.BLACK);
if ((a <= 3) & (a > 0)) {
g.drawLine(175 + (a - 1) * 250, 175, 325 + (a - 1) * 250, 325);
g.drawLine(175 + (a - 1) * 250, 325, 325 + (a - 1) * 250, 175);
}
else
if ((a <= 6) & (a >= 4)) {
g.drawLine(175 + (a - 4) * 250, 425, 325 + (a - 4) * 250, 575);
g.drawLine(175 + (a - 4) * 250, 575, 325 + (a - 4) * 250, 425);
}
else
if ((a > 6) & (a <= 9)) {
g.drawLine(175 + (a - 7) * 250, 675, 325 + (a - 7) * 250,
825);
g.drawLine(175 + (a - 7) * 250, 825, 325 + (a - 7) * 250,
675);
}
else
if ((a < 0) | (a > 9)) {
g.setColor(Color.RED);
g.drawString("Du Idiot! Falsche Zahl!", 175, 175 + 500);
}
GrafikFenster.aktualisiereGrafik();
}
public void zeichneKreis(int a) {
// Standard-Grafikoberfläche holen:
Graphics2D g = GrafikFenster.gibGrafikFläche();
if ((a <= 3) & (a > 0)) {
g.drawOval(175 + (a - 1) * 250, 175, 150, 150);
}
else
if ((a <= 6) & (a >= 4)) {
g.drawOval(175 + (a - 4) * 250, 425, 150, 150);
}
else
if ((a < 0) | (a > 9)) {
g.drawOval(175 + (a - 7) * 250, 675, 150, 150);
}
else
if ((a < 0) | (a > 9)) {
g.setColor(Color.RED);
g.drawString("Du Idiot! Falsche Zahl!", 175, 175 + 500);
}
GrafikFenster.aktualisiereGrafik();
}
}
Eig kann man da schon ganz gut Tic Tac Toe spielen. Ist zwar nen bisschen umständlich und es gibt auch noch keine Überprüfungen etc.
Um das zu verbessern habe ich einige Fragen.
1. Wie kann ich abfragen, ob ein "Feld" schon belegt ist?
2. Wenn ich das weiß, wie kann ich dann abfragen ob sich drei X oder drei O in einer Reihe befinden?
3. Ist es möglich einfach die Eingabe des Feldes über die "Maussteuerung" zu generieren? Wenn ihr meinen Code lest, werdet ihr schnell verstehen, wie ich das momentan gelöst habe!
viele Dank fürs lesen und hoffentlich auch fürs Antworten
lg Flo