Przekazanie wartości przez argument.

0

Witam.
Mam taki problem, metoda ma się wykonywać dopóki użytkownik tak ze chce ale nie wiem co robię źle. Mianowicie metoda rozgrywka wywołuje metodę nastepnaGra, na początku wartości startowe są ustawione tak aby gra się rozpoczęła po pierwszej partii jest pytanie czy gracz chce zagrać następną ale nie wiem czemu licznikRozgrywek nie zwiększa swojej wartości i cały czas wyświetla mi się napis: Właśnie rozpocząłeś rozgrywkę w pokera.

	public static void nastepnaGra(boolean czyGracDalej, int licznikRozgrywek){
		Scanner daneWejsciowe = new Scanner(System.in);

		if(licznikRozgrywek == 0){
			System.out.println("Właśnie rozpocząłeś rozgrywkę w pokera.");
			licznikRozgrywek++;
		}
		else{
			System.out.println("Czy chcesz zagrać kolejną partię? (T/N)");
			daneWejsciowe.hasNextLine();
			String odpowiedz2 = daneWejsciowe.nextLine();
			if(odpowiedz2.equals("T") || odpowiedz2.equals("t")){
				czyGracDalej = true;
				licznikRozgrywek++;
			}
			else{
			czyGracDalej = false;
			}
		}
	}
	public void rozgrywka(Stol gra,Rozgrywka rozgrywka){
		Scanner daneWejsciowe = new Scanner(System.in);

		DaneDoGry dane = new DaneDoGry();
		boolean czyGracDalej = true;
		int licznikRozgrywek = 0;
		
		while(czyGracDalej){
			
			nastepnaGra(czyGracDalej, licznikRozgrywek);
			ranking(rozgrywka, licznikRozgrywek);
			
			if(licznikRozgrywek<1){
				dane.daneDoGry(daneWejsciowe);
				dane.ileZetonow(daneWejsciowe);
				dane.wpisowe(daneWejsciowe);
				listaZwyciestw = new int[dane.pobierzIleGraczy()];
				zetonyGraczy = new int[dane.pobierzIleGraczy()];
				for(int i=0;i<zetonyGraczy.length;i++){
					zetonyGraczy[i] = dane.zetony;
				}

			}
			gra.ustawTabliceGraczy(dane);
			gra.tworzGraczy(dane);
			ArrayList<Karta> talia = Talia.tasujTalie(Talia.tworzTalie());
			gra.rozdajKarty(talia);
			
			gra.wymianaKartGraczy(talia, daneWejsciowe);
			gra.wynik();
			listaZwyciestw[gra.zwyciezca]++;
			//gra.wyswietlanieRozgrywki();
	
		}
	}
1

Dzieje sie tak dlatego że prymitywy (np. int) są przekazywane do metod przez wartość, więc nawet jak zrobisz cośtam++ to zmieniasz tylko lokalną kopię tej zmiennej. Moja rada? Niech licznik rozgrywek będzie polem klasy a nie zwykłą zmienną.

1 użytkowników online, w tym zalogowanych: 0, gości: 1