Salve ragazzi.

Mi sono bloccato in un punto. Non riesco ad aggiornare il punteggio di un gioco. Come devo fare? questo è il codice del run

codice:
public void run(){
		
		synchronized(o){
		try{
			o.wait();
				System.out.println("Gioco. Io sono:"+name);
				
				sleep(1000);
				System.out.println("ciao!");
				
				
				
				for (int i=0; i<kSedie; i++){
					
					String sed="sedia"+i;
					
				
					/*OccupaSedia disponibile = new OccupaSedia(nPart,kSedie,nSess);
					Sedia sedia = new Sedia(sed);*/
			
				//sleep(1000);
				System.out.println("Nome sedia:"+sedia.getNomeSedia());
				
				
				
				System.out.println("Numero sedie disponibili:"+disponibile.getSedie());
				
					//sleep(1000);
					System.out.println("Occupato:"+sedia.getStato("sedia"+i));
					//sleep(1000);
					if (sedia.getStato(sedia.getNomeSedia())==false){

							sedia.occupa(name,sedia.getNomeSedia(),sedia.getPunteggio());
							
							disponibile.decrementaSedie();
							//sleep(1000);
							System.out.println(sedia.getNomeSedia()+" "+""+sedia.getPersona()+"Punteggio:"+sedia.getPunteggio());
							//sleep(1000);
							
							System.out.println("Numero sedie disponibili:"+disponibile.getSedie());
							punteggio++;
							System.out.println("totale"+punteggio);
							stop();
						}
					else{
						System.out.println("Sedia non disponibile");
						//i++;
						
						
					}
				
				}
				o.notifyAll();
				
		}
		catch(InterruptedException e) { return; }
		}
Il problema è che mi restituisce sempre il punteggio pari a 1. Come devo fare? Questa è la classe Sedia:
codice:
public class Sedia extends Thread {
	
	public Sedia(String name){ nomeSedia=name;}
	
	public String getNomeSedia(){
		return nomeSedia;
	}
	
	public int getPunteggio(){
		return punteggio;
	}
	
	public boolean getStato(String sedia){
		return statoSedia;
		
	}
	
	public String getPersona(){
		return persona;
	}
	
	public synchronized void occupa(String pers, String nameSedia, int punt){
		try{
		
			statoSedia=true;
			persona = pers;
			nomeSedia = nameSedia;
			punteggio=punt+1;
			notifyAll();
			
		
		}
		catch(Exception x){System.out.println("Lanciata eccezione metodo occupa");}
		}

	private String nomeSedia;
	private String persona;
	private boolean statoSedia;
	private int punteggio;
Attendo una celere risposta. Grazie a tutti.