huhu
ich muss für die Uni drei Spiele programmieren und bin inzwischen in den drei Spielen an die Grenze gestoßen, dass ich nicht mehr weiter weiß:-/ Wär lieb, wenn ihr mich helfen könntet. Also ich fang mal mit dem einen an.
Zahlraten: Hier sagt er mir immer, dass eine non static variable cannot be referenced from a static backgound. Soo ich dachte dass this löst das Problem, aber dem is nicht so:-/
und dann hab ich noch das hier. TicTacToe solls sein. Da meint er immer das was mit meinen Klammern zum Schluss nicht stimmt und die WhileBedingung nicht i.o. sind. Weiß aber nicht was ich ändern soll. Find den Fehler einfach nich.
Weiß, dass das viel zu lesen ist, aber würde mich freuen, wenn mir einer von euch helfen kann.
LG JDY[/code]
ich muss für die Uni drei Spiele programmieren und bin inzwischen in den drei Spielen an die Grenze gestoßen, dass ich nicht mehr weiter weiß:-/ Wär lieb, wenn ihr mich helfen könntet. Also ich fang mal mit dem einen an.
Zahlraten: Hier sagt er mir immer, dass eine non static variable cannot be referenced from a static backgound. Soo ich dachte dass this löst das Problem, aber dem is nicht so:-/
Code:
public class ZahlRaten{
int limit;
int max;
int pc;
int zahl;
int geschaetzteZahl;
int punkte;
public static void main (String [] args){
ZahlRaten number=new ZahlRaten();
number.einstellungen();
number.spiel();}
public void einstellungen(){ //Schwierigkeitsgrad einstellen
System.out.println ("Geben Sie eine 1 ein, wenn Sie ein leichtes Spiel spielen möchten oder eine 2, wenn es ruhig etwas schwerer sein darf?");
limit=Tools.intEingabe();
if (limit==1){
max=100;
zahl=Tools.random (max);}
else {
max =1000;
zahl=Tools.random (max);}
}
public static void Spiel(){
System.out.println("Geben Sie eine 1 ein, wenn Sie gegen einen anderen Menschen, eine 2, wenn sie gegen den Computer spielen möchten!");
pc=Tools.intEingabe();
if (pc==1){//Spiel gegen den PC
System.out.println("Geben Sie nun Ihren ersten Zahlenvorschlag ein!");
geschaetzteZahl=Tools.intEingabe();
punkte=100; //Jetzt kommt der erste Versuch
if (geschaetzteZahl<=zahl){System.out.println("Sie haben noch 9 Versuche und die gesuchte Zahl liegt im Intervall 0/" + geschaetzteZahl);
punkte=punkte-10;}
if (geschaetzteZahl>=zahl){System.out.println("Sie haben noch 9 Versuche und die gesuchte Zahl liegt im Intervall " + geschaetzteZahl + " / " + max);
punkte=punkte-10;}
if (geschaetzteZahl==zahl) {System.out.println("Sie haben die gesuchte Zahl gefunden.");
punkte=punkte+100;
System.out.println ("Ihr neuer Punktestand ist:" + punkte);}
}//If-Anweisung geschlossen
}
}//Klasse geschlossen
und dann hab ich noch das hier. TicTacToe solls sein. Da meint er immer das was mit meinen Klammern zum Schluss nicht stimmt und die WhileBedingung nicht i.o. sind. Weiß aber nicht was ich ändern soll. Find den Fehler einfach nich.
Code:
public class LineThem {
public String [][] spielfeld=new String [3] [3];
public String [][]spielfeld1=new String [3][3];
public static void main (String [] args){
LineThem felix=new LineThem();
felix.spiel();}
public void spiel (){
for (int zeile = 0; zeile < spielfeld.length; zeile++ )
{System.out.print("Zeile " + zeile + ": ");
for (int spalte=0; spalte < spielfeld[zeile].length; spalte++ )
System.out.print( spielfeld[zeile][spalte] + " ");
System.out.println(); }
do {
System.out.prinln("Spieler 1, bitte geben Sie die x-Koordinate ihres gewünschten Feldes an!");
int x1=Tools.intEingabe();
System.out.println ("Spieler 1, bitte geben Sie die y-Koordinate ihres gewünschten Feldes an!");
int y1=Tools.intEingabe();
spielfeld [x1] [y1] = "X";
System.out.println(" Spieler 2, bitte geben Sie die X-Koordinate ihres gewünschten Feldes an!");
int x2=Tools.intEingabe();
System.out.println(" Spieler 2, bitte geben Sie die Y-Koordinate ihres gewünschten Feldes an!");
spielfeld [x2][y2]= "O";
if (spielfeld[x1][y1]==spielfeld[x2][y2]){
System.out.println ("Bitte wählen Sie nochmals Spieler 2. Geben Sie ihre x-Koordinate an!");
x2 = Tools.intEingabe();
System.out.println ("Bitte geben Sie die y-Koordinate ein!");
y2=Tools.intEingabe();
spielfeld[x2][y2]="O";
for (int zeile=0; zeile <spielfeld.length; zeile++)
{system.out.println ("Zeile" + zeile + " : " );
for (int spalte; spalte<spielfeld.length;spalte++)
{System.out.println (spielfeld [zeile] [spalte ] + " ");}}}
while (
((spielfeld[0][0]!=spielfeld [0][1])AND (spielfeld[0][0]!=spielfeld [0][2])) OR
((spielfeld[1][0]!=spielfeld [1][1])AND (spielfeld[1][0]!=spielfeld [1][2])) OR
((spielfeld[2][0]!=spielfeld [2][1])AND (spielfeld[2][0]!=spielfeld [2][2])) OR
((spielfeld[0][0]!=spielfeld [1][0])AND (spielfeld[0][0]!=spielfeld [2][0])) OR
((spielfeld[0][1]!=spielfeld [1][1])AND (spielfeld[0][1]!=spielfeld [2][1])) OR
((spielfeld[0][2]!=spielfeld [1][2])AND (spielfeld[0][2]!=spielfeld [2][2])) OR
((spielfeld[0][0]!=spielfeld [1][1])AND (spielfeld[0][0]!=spielfeld [2][2])) OR
((spielfeld[0][2]!=spielfeld [1][1])AND (spielfeld[0][2]!=spielfeld [2][0])));
System.out.println ("Noch ist das Spiel nicht gewonnen.");
}
}
}
Weiß, dass das viel zu lesen ist, aber würde mich freuen, wenn mir einer von euch helfen kann.
LG JDY[/code]