# [Java] Benötige Hilfe!



## GTA 3 (15. Juni 2011)

*[Java] Benötige Hilfe!*

Hi,
bin grad dabei Tic Tac Toe zu programmieren aber ich hab jetzt eines der Mommente wo ich nicht weiß wie ich weiter machen soll.

Hier erstmal der Code:



Spoiler






> import java.awt.*;
> import javax.swing.*;
> import java.awt.event.*;
> 
> ...





_

Und zwar will ich jetzt einbauen das das Spiel jetzt erkennen soll, wer gewonnen hat und wer nicht
Nur leider weiß ich hier jetzt nicht weiter.... Hoffe ihr könnt mir helfen.

Hier sind noch die anderen Klassen.


Spoiler







			public class Steuerung {
    private int currentPlayer = 0;

   public int getPlayer() {
       return currentPlayer;
   }

   public void changePlayer() {
       if(currentPlayer == 0) {
           currentPlayer = 1;
       } else {
           currentPlayer = 0;
       }
   }
}
		
Zum Vergrößern anklicken....







Spoiler







			public class Daten extends Steuerung {
    private String spieler;
    private int spielpunkte;
    private int spielzug = 0;
    private int[] punktespieler = new int[9];

    public Daten (String spieler) {
        this.spieler = spieler;
        spielpunkte = 0;
    }

    public void setPoint(int feld) {
        punktespieler[spielzug] = feld;
        spielzug++;
    }
}
		
Zum Vergrößern anklicken....




Ich weiß, mit ner normalen If-SChleife aber wenn ich button[0] z.B. schreib, bekomm ich immer einen Compilerfehler, wie würdet ihr das machen ?


Gruß_


----------



## Fragile Heart (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Na um zu prüfen ob jemand gewonnen hast, musst du doch nur prüfen ob eine der 8 Gewinnmöglichkeiten erfüllt ist. Sollte in der Regel recht einfach sein und auf Vergleich des Status der einzelnen Felder hinaus laufen.

Leider ist dein Quellcode jetzt nicht gerade zum schnellen lesen geeignet.


----------



## Crysis nerd (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

1. Es gibt keine If Schleifen! (sry, aber unter meinen Freunden hab ich schon den Status des Typen, der quer durch die Klasse brüllt, dass es keine if Schleifen gibt)
2. Jetzt weiß ich, warum ich lieber C++ programmiere als java...

Achja, nochn kleiner Tipp:
Hier im Forum sind die meisten Leute recht hilfsbereit, aber du kannst nicht erwarten, dass sie dir dein Problem lösen und du einfach all dein Code posten musst.
Wenn du genau sagst, wo dein Problem ist, kriegst du wohl eher hilfe 
Den Compilerfehler posten wäre zb. schonmal was. Aber besser ist, dass du uns nur die wichtige Stelle sagst und uns nicht 1000 loc hier hin haust.


----------



## GTA 3 (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Ich habs somit probiert:



Spoiler






> public void win(int buttonPressed){
> if(buttonPressed[0]==1&&buttonPressed[1]==1&&buttonPressed[2]==1){
> System.out.println("You Win!");
> }
> }






Aber der Compiler meckert:

array required but int found


----------



## bingo88 (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Der Compiler hat ja auch vollkommen Recht, du bekommst ja ein int rein und kein int[]


----------



## Crysis nerd (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Welche Zeile, sagt der Compiler denn?
Also ich kann kein Java... aber:
Du hast bei einer Funktion fälschlicherweise statt eines Arrays eine Zahl angegeben.
ich könnte mir vorstellen, dass buttonPressed selber kein int ist, sondern irgend eine Art von array...
Aber nunja.. ich kann kein Java, warum helf ich eig ^^


----------



## GTA 3 (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Wie soll die If-"Schleife" aussehen ?


----------



## Crysis nerd (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Ja welcher typ ist denn PressedButton?
Das müsste ich mal wissen..
Also entweder, mein wesentlich erfahrener Kollege hat recht, dann lass enfach mal alle eckigen klammern weg.

Oder ich habe recht, dann muss ich aber wissen, welche member die klasse pressedbutton hat..


----------



## GTA 3 (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

buttonPressed habe ich weiter oben angegeben.

final int buttonPressed[] = {0,0,0,0,0,0,0,0,0};


----------



## Fragile Heart (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Dann nenn doch mal den Parameter von int buttonPressed in int currentButton um.


----------



## GTA 3 (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Und dannach ?


----------



## Fragile Heart (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Dannach dürfte dein Array nicht mehr vom Parameter "verdeckt" sein und das ganze eigentlich gehen. 

Edit:
Kannst du das bitte mal als Datei bereitstellen? Das ist nicht brauchbar zu lesen!

Wenn ich das jetzt beim versuch zu entziffern richtig gesehen habe, dann ist dein Array nur lokal in einer Funktion, wie willst du denn da je wieder dran kommen?


----------



## joffal (15. Juni 2011)

*AW: [Java] Benötige Hilfe!*

hey

ich hab das auch schon mal programmiert. allerdings hat bei mir jeder button ein int-array-element bedient. der benutzer hat als wert sozusagen immer "1" an einer position eingetragen und der PC den wert 9.
um zu guggn, ob wer gewonnen hat, wurde nach jeder änderung eine methode "testwin()" ausgeführt. da hab ich dann _rechnerisch_ geguggt, o irgendwo diagonal, hor. oder vertikal als summe 3 oder 27 rauskam.....

kp, ob dir das hilft

ps: bildschirmtastatur is kagge-anstrengend-.-


----------



## UnnerveD (18. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Falls du es noch nicht gelöst hast...

Es reicht auch, wenn du anstatt 



> public void win(int buttonPressed)
> {
> if(buttonPressed[0]==1&&buttonPressed[1]==1&&buttonPressed[2]==1)
> {
> ...



die Methode einfach als

_public void win()_

deklarierst --> schließlich ist eine Parameterübergabe an dieser Stelle nicht notwendig.


MfG


----------



## Fragile Heart (21. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Ich nehme mal an, dass hier hat der Autor aufgegeben oder?


----------



## fadade (21. Juni 2011)

*AW: [Java] Benötige Hilfe!*

wahrscheinlich ... oder er hat einen anderen Ort gefunden, an dem es Hilfe/Anleitungen gab.
Weil für solche Sachen sollte goggel eigenltich massenweise Tutorials finden ..


----------



## GTA 3 (29. Juni 2011)

*AW: [Java] Benötige Hilfe!*

Nein, ich habe das Projekt neugestartet, und habs hingekriegt!


----------

