Hallo! Ich bin neu hier!
Undzwar müssen wir für unsere Schule ein Spiel programmieren. Ich habe das Tic Tac Toe Spiel bereits programmiert. Bedauerlicherweise erkennt das Programm bis jetzt noch nicht wer gewonnen hat falls jemand 3mal seine Farbe in einer Reihe gesetzt hat.
Das Programm sieht so aus:
Undzwar hatte ich nämlich vor mit diesen Befehl hier die Abschlussbedingungen zu erstellen:
if (Kreis[0].getColor() == Farbe [0]) {
j = j+1;
Leider funktioniert der Befehl nicht richtig. (Dieser ist sogar vom Lehrer.
) Ich benutze BlueJ. Und wenn ich nun den ersten Kreis erscheinen lasse, welcher blau ist, was Farbe 0 entspricht, wird J nicht erhöht wenn ich auf Inspizieren klicke.
Hat jemand einen anderen Ansatz für mich oder einen guten Abschlussbedingungsalgorhytmus für mich?
Danke
Undzwar müssen wir für unsere Schule ein Spiel programmieren. Ich habe das Tic Tac Toe Spiel bereits programmiert. Bedauerlicherweise erkennt das Programm bis jetzt noch nicht wer gewonnen hat falls jemand 3mal seine Farbe in einer Reihe gesetzt hat.
Das Programm sieht so aus:
Java:
import acm.graphics.*; import acm.program.*; import java.awt.*; import java.awt.event.*;
public class TicTac extends GraphicsProgram {
GRect[] Feld;
GOval[] Kreis;
Color[] Farbe;
int a,b,c,d,e,f,g,h,i,j,o,v,w,x,y,z;
boolean s;
public TicTac() {
s = false;
x=10;
y=20;
start();
setSize(200,250);
addMouseListeners();
start();
Farbe = new Color[2];
Farbe [0]=Color.blue;
Farbe [1]=Color.red;
Feld = new GRect [9];
Kreis = new GOval [9];
for (int i=0;i<9;i++) {
Feld[i] = new GRect (50,50);
add (Feld[i], x,y);
x=x+50;
z = z+1;
if (z == 3) {
y = y+50;
z = 0;
x=10;
}
}
x=15;
y=25;
for (int i=0;i<9;i++) {
Kreis[i] = new GOval (40,40);
Kreis[i].setFilled(true);
add (Kreis[i], x,y);
x=x+50;
z = z+1;
if (z == 3) {
y = y+50;
z = 0;
x=15;
}
Kreis[i].setVisible (false);
}
}
public void mousePressed(MouseEvent e) {
x = e.getX();
y = e.getY();
for (int o=0;o<9;o++) {
if (Kreis[o].contains (x,y)) {
if (Kreis [o].isVisible() == false) {
Kreis[o].setVisible (true);
if (s==false) {
Kreis[o].setFillColor (Farbe[0]);
s = true;
}
else {
Kreis[o].setFillColor (Farbe[1]);
s = false;
}
if (Kreis[0].getColor() == Farbe [0]) {
j = j+1;
}
}
}
}
}
}
Undzwar hatte ich nämlich vor mit diesen Befehl hier die Abschlussbedingungen zu erstellen:
if (Kreis[0].getColor() == Farbe [0]) {
j = j+1;
Leider funktioniert der Befehl nicht richtig. (Dieser ist sogar vom Lehrer.
Hat jemand einen anderen Ansatz für mich oder einen guten Abschlussbedingungsalgorhytmus für mich?
Danke