public void addScoreValue(int i) {
		
		if (this.currentTurn.isClosed() || playerFinished()) {
			host.requestNextPlayerEvent();
			return;
		}
		
		if (this.getRemainingScore() - i < 0) {
			this.currentTurn.busted();
			this.host.bust(this);
			return;
		}

		this.currentTurn.addThrow(i);
		
		if (playerFinished()) {
			this.host.firePlayerFinishedEvent();
		}
		
		if (this.currentTurn.hasRemainingThrows()) {
			checkFinishingPossibility();
		}
		else {
			this.host.turnEnded();
		}
		
		this.host.provideRemainingScore();
	}