# Schach-Applet



## salre86 (14. Mrz 2006)

hio,
als Projekt für soll ich ein kleines Schachspiel als applet schreiben. Leider hab ich von java praktisch keine Ahnung. Könntet ihr mir sagen was dazu benötigt wird. 
Ich habe bis jetzt ein fertiges Brett übernohmen. Und eine Klasse für die Figuren angefangen. Die Datenstruktur enthält bis jetzt Koordinaten (x,y) und dieFarbe (weiß, schwarz) . Nun weiß ich aber nichts weiter. 
Das Spiel soll nur so weit funktionieren, dass man Züge in ein Eingabefeld eingeben kann und die Figuren dann einfach ziehen unabhängig ob sie das drüfen oder nicht...


----------



## lin (14. Mrz 2006)

hm, also ohne Computergegner? 
öh, wo ist denn dein Problem? Beim Figuren zeichnen? Oder beim Figuren darstellen, oder beim bewegen?
Also als Figuren würde ich (sofern sie nicht animiert sein sollen) Bilder nehmen, die du entweder selbst zeichnest oder von irgendwo her nimmst und die dann einfach an die entsprechenden Koordinaten zeichnen und bei einem Zug verschieben. 
Btw. eine Implementierung zu machen, die illegale Züge verhindert sollte nicht so ne Sache sein. Z.b. beim Springer sind nur Züge möglich, die 3 Einheiten in y (bzw. x) -Richtung gehen und 1 in x (bzw. y) Richtung. 
Beim Läufer nur solche, wo der Betrag des x Richtungswechsels = dem Betrag des Richtungswechsels in y Richtung ist, und wo keine andere Figur dazwischen steht, also keine Figur sich auf den Koordinaten zwischen PS(x/y) und PZ(x1/y1) für welche gilt (abs(x-xk) = abs(y-yk)) (abs ist der Betrag, xk, yk, die jeweligen Koordinaten zwischen dem Startpunkt PS und PZ, bei welchen du eine Kollisionsabfrage machen musst. 
Gibt natürlich zig Möglichkeiten, das zu implementieren und macht wahrscheinlich auch mehr Spass, als das herumschieben von irgendwelchen Figuren zu proggen


----------



## salre86 (14. Mrz 2006)

ja das mit der Implemtierung (was auch immer das ist :?: ) geht schon zu weit. 
Ich weiß im Prinzip wie das funktionieren soll, aber die technische Umsetzung ist für mich halt sehr schwer, weil ich mich zum ersten mal admit beschäftige. 
Also meine Figuren-Klasse sieht so aus:

```
public class Figur
{
    public int Linie,Reihe;
    public boolean white;
    
    
    public Figur(int Linie,int Reihe,boolean white)
    {
        this.Linie = Linie;
        this.Reihe = Reihe;
        this.white = white;
        
    }
}
```

Figuren-Typ hab ich ertmal wegegelassen. Und nu die ganze dumme Frage: Wie speichert man die Figuren ab?


----------



## Leroy42 (15. Mrz 2006)

Erst mal ein Hinweis bevor du weiter in Java eindringst:
1. :noe: *Keine Variablen (Instanz- oder lokale) groß schreiben!* :noe: 
2. :noe: *Nur Klassennamen und (evtl.) Konstanten groß schreiben!* :noe: 

Das erleichtert dir später ungemein, dich in fremden Code einzuarbeiten oder ihn
in dein Programm einzubauen. (_white_ ist bei dir ja schon klein geschrieben)

Abspeichern könntest du sie in einem array des Types Figur.

Prinzipiell frage ich mich allerdings, ob diese Art der Datenstruktur wirklich hilfreich ist.

Ich z.B. habe eine 8*8-Array des Typs Figur genommen, mit dem man _von außen_
relativ leicht bestimmen kann, wer sich auf welchem Feld rumtreibt. In diesem Fall braucht
deine Klasse Figur keine Koordinaten.


----------

