Witam, mam do napisania podstawę do stworzenia gry w kółko i krzyżyk. Nie ma być to kompletna gra a jedynie część metod itd które potem mają posłużyć do stworzenia samej gry. Program bez użycia tablic, jedynie opiera się na stringach. Plansza ma składać się z trzech sklejonych łańcuchów Stringów (na początek pustych, czyli "---"). Mój aktualny problem dotyczy metod putX, putO a także prywatnej metody put, którą ma być podstawa dwóch pozostałych. Na razie pomijam obsługę wyjątków itp, chodzi jedynie o wstępny kod. Prosiłbym tez o zerknięcie na metodę getRow, która przy wywołaniu zwraca zawsze pierwszy rząd niezależnie od podanej wartości.
public class Plansza {
String wiersz1 = ("---");
String wiersz2 = ("---");
String wiersz3 = ("---");
int x,y;
public Plansza (String w1, String w2, String w3) {
String wiersz1 = w1;
String wiersz2 = w2;
String wiersz3 = w3;
}
private void put(int x, int y, char znak) {
char z1 =znak ;
String wiersze = "---";
char c1= wiersze.charAt(0);
char c2= wiersze.charAt(1);
char c3= wiersze.charAt(2);
if ( x > 2 | y > 2) System.out.println("bledne dane");
if (x == 0 & y == 0){
String nowyWiersz = "" + znak + c2 + c3;
wiersz1 = nowyWiersz;
}
else
if (x == 1 & y == 0) {
String nowyWiersz = "" + c1 + znak + c3;
wiersz1 = nowyWiersz;
}
else
if (x == 2 & y == 0) {
String nowyWiersz = "" + c1 + c2 + znak;
wiersz1 = nowyWiersz;
}
else
if (x == 0 & y == 1) {
String nowyWiersz = "" + znak + c2 + c3;
wiersz2 = nowyWiersz;
}
else
if (x == 1 & y == 1) {
String nowyWiersz = "" + c1 + znak + c3;
wiersz2 = nowyWiersz;
}
else
if (x == 2 & y == 1) {
String nowyWiersz = "" + c1 + c2 + znak;
wiersz2 = nowyWiersz;
}
else
if (x == 0 & y == 2) {
String nowyWiersz = "" + znak + c2 + c3;
wiersz3 = nowyWiersz;
}
else
if (x == 1 & y == 2) {
String nowyWiersz = "" + c1 + znak + c3;
wiersz3 = nowyWiersz;
}
else
if (x == 2 & y == 2) {
String nowyWiersz = "" + c1 + c2 + znak;
wiersz3 = nowyWiersz;
}
}
public void putX(int x, int y) {
char znak = 'X';
put(x, y, znak);
}
public void putO(int x, int y) {
char znak = 'O';
put(x, y, znak);
}
//public boolean isFull(Plansza p) { }
//public char get(int x, int y) {
// return wiersz1;
//}
public String getRow(int rowNumber){
String wiersz = "";
if( y == 0 )
wiersz = wiersz1;
else
if( y == 1 )
wiersz = wiersz2;
else
wiersz = wiersz3;
return wiersz;
}
//public String setCol(int colNumber){
//}
//public String getSlashRow() {
//}
//public String getBackslashRow(){
//}
public String toString() {
return ("wiersz1: " + wiersz1 + "\n" + "wiersz2: "
+ wiersz2 + "\n" + "wiersz3: " + wiersz3);
}
oraz main:
public class KolkoiKrzyzyk {
public static void main(String[] args) {
Plansza p = new Plansza("", "", "");
String pierwszyWiersz = p.getRow(1);
System.out.println(p);
System.out.println(pierwszyWiersz);
}
}