private void newQuestion() {
		if(ques == Const.QUES_PER_ROUND || lvs == 0) {
			if(rnd == Const.NUM_ROUNDS || lvs == 0) {
				final_points.setText(Integer.toString(points));
				if(total_ques == Const.NUM_ROUNDS * Const.QUES_PER_ROUND && lvs > 0)
					complete.setVisible(true);
				CardLayout cl = (CardLayout)windows.getLayout();
				cl.show(windows, Const.QUIT);
			} else {
				if(perfect_round) {
					lives.setText(Integer.toString(++lvs));
					new_life.setVisible(true);
				} else {
					new_life.setVisible(false);
				}
				mode = Const.Mode.ROUND;
				ques = 0; perfect_round = true;
				round_num.setText(Integer.toString(++rnd));
				round_play.setText(Integer.toString(rnd));
				CardLayout cl = (CardLayout)windows.getLayout();
				cl.show(windows, Const.ROUND);
			}
		} else {
			mode = Const.Mode.QUES;
			if(ques == 0) {
				CardLayout cl = (CardLayout)windows.getLayout();
				cl.show(windows, Const.GAME);
			}
			q = p.randomQuestion(rnd);
			if(q.isDom())
				ques2.setText(Const.QUES2_DOM);
			else
				ques2.setText(Const.QUES2_PDOM);
			node.setText(q.getNode().getLabel());
			p.redraw();
			next.setEnabled(false);
			submit.setEnabled(true);
			console.append("\n");
		}
	}