Ich habe letztens ein paar Änderungen an meinem Programm zu machen und plötzlich kann ich nicht mehr das Programm übersetzen. Der zeigt mir den Fehler auch nicht an, doch ich konnte den Fehler auf die paar, mit // und /** **/ markierten herunterbrechen... Ich benutze btw die sum.kern Bibliotek von bluej...
Java:
package Schachspiel;
import sum.kern.*;
public class Bauer
{
private final Schach Schachfeld;
Buntstift bst;
Maus ms;
KlickFeld G1;
KlickFeld G2;
KlickFeld L;
KlickFeld R;
thread thread;
zeichne zeichne;
private int color;
private int team;
private int vpos;
private int hpos;
private int Feld;
private int c;
private int b;
private int h;
private int f;
private boolean life = true;
private boolean istGedrueckt = false;
private int t;
// Konstruktor
public Bauer(int b, int h, int f, int t, Schach Schachfeld)
{
this.Bauer = this;
this.b = b + 20;
this.h = h + 80;
this.f = f;
this.t = t;
this.Schachfeld = Schachfeld;
ms = new Maus();
bst = new Buntstift();
zeichne = new zeichne();
zeichne.start();
Schachfeld.setArray(Feld, color);
this.Felder();
thread = new thread();
thread.start();
}
// Dienste
class zeichne extends Thread {
public void run() {
// Aktionsteil
vpos = h - h % 100 ;
hpos = b - b % 100 ;
bst.bewegeBis(b, h);
bst.setzeFuellMuster(0);
color = f;
team = t;
if(f==1) {
bst.setzeFarbe(3);
}
else {
bst.setzeFarbe(6);
}
Feld = (hpos/100)+(vpos/100*8);
System.out.println(Feld);
if(color != team) {
c *= -1;
}
bst.runter();
bst.bewegeUm(60);
bst.dreheUm(90);
bst.bewegeUm(10);
bst.dreheUm(45);
bst.bewegeUm(30);
bst.dreheBis(0);
bst.bewegeUm(10);
bst.dreheUm(65);
bst.bewegeUm(10);
bst.dreheBis(135);
bst.bewegeUm(10);
bst.dreheBis(0);
bst.bewegeUm(-5);
bst.hoch();
bst.bewegeUm(-10);
bst.dreheUm(90);
bst.bewegeUm(10);
bst.dreheBis(0);
bst.runter();
bst.zeichneKreis(15);
bst.hoch();
bst.bewegeBis(b, h);
bst.runter();
bst.dreheUm(90);
bst.bewegeUm(10);
bst.dreheUm(-45);
bst.bewegeUm(30);
bst.dreheBis(0);
bst.bewegeUm(-10);
bst.dreheUm(115);
bst.bewegeUm(10);
bst.dreheBis(45);
bst.bewegeUm(10);
bst.dreheBis(0);
bst.bewegeUm(5);
bst.hoch();
}// Aufraeumen
}
class thread extends Thread {
public void run() {
while(life = true) {
if(ms.istGedrueckt()) {
if(ms.hPosition() >= (hpos+1)) {
System.out.println("1");
if(ms.hPosition() <= (hpos + 99)) {
System.out.println("2");
if(ms.vPosition() >= (vpos+1)) {
System.out.println("3");
if(ms.vPosition() <= (vpos + 99)) {
if(color==team) {
istGedrueckt = true;
System.out.println("Feld " + Feld + " gedrueckt!");
//this.erscheine();
}
}
else {
istGedrueckt = false;
}
}
else {
istGedrueckt = false;
}
}
else {
istGedrueckt = false;
}
}
else {
istGedrueckt = false;
}
}
if(istGedrueckt == true) {
//System.out.println("Feld " + Feld + " gedrueckt!");
}
/**
if(G1.istGedrueckt() == true) {
this.bewegeGerade(1);
}
if(G2.istGedrueckt() == true) {
this.bewegeGerade(2);
}
if(L.istGedrueckt() == true) {
this.schlageLinks();
}
if(R.istGedrueckt() == true) {
this.schlageRechts();
}
**/
}
}
}
public void Felder() {
G1 = new KlickFeld(hpos, vpos - 100*c, color, team, 0, Schachfeld);
G1.setzeBauer(this);
G2 = new KlickFeld(hpos, vpos - 200*c, color, team, 0, Schachfeld);
G2.setzeBauer(this);
L = new KlickFeld(hpos - 100, vpos - 100*c, color, team, 1, Schachfeld);
L.setzeBauer(this);
R = new KlickFeld(hpos + 100, vpos - 100*c, color, team, 1, Schachfeld);
R.setzeBauer(this);
}
public void erscheine() {
if(Schachfeld.getArrayColor(Feld - 8*c) == 0) {
G1.erscheine();
if(Feld == Schachfeld.getAttackArrayColor(Feld)) {
if(Schachfeld.getArrayColor(Feld - 16*c) == 0) {
G2.erscheine();
}
}
}
if(Schachfeld.getArrayColor(Feld - 8*c - 1) != team) {
if(Schachfeld.getArrayColor(Feld - 8*c - 1) != 0) {
L.erscheine();
}
}
if(Schachfeld.getArrayColor(Feld - 8*c + 1) != team) {
if(Schachfeld.getArrayColor(Feld - 8*c + 1) != 0) {
R.erscheine();
}
}
}
public void BewegeGerade(int b) {
vpos -= 100*b*c;
Schachfeld.Figuren();
}
public void SchlageLinks() {
vpos -= 100*c;
hpos -= 100;
Schachfeld.Figuren();
}
public void SchlageRechts() {
vpos -= 100*c;
hpos += 100;
Schachfeld.Figuren();
}
public int getVPose() {
return vpos;
}
public int getHPose() {
return hpos;
}
public boolean getLife() {
return life;
}
public void setLife() {
life = false;
}
public int getFeld() {
return Feld;
}
public int getColor() {
return color;
}
}
Zuletzt bearbeitet von einem Moderator: