import java.io.*;
import java.util.*;

/**
* Clase Vocabulario. Carga las preguntas de archivos .txt
*/
public class Vocabulario {
	
/**
* String que indica la no presencia de pregunta
*/
	private String No_question;
/**
* String que almacena la pregunta a cargar
*/
	private String question="";
/**
* String que carga la alternativa 1
*/
	private String A1="";
/**
* String que carga la alternativa 2
*/
	private String A2="";
/**
* String que carga la alternativa 3
*/
	private String A3="";
/**
* String que carga la alternativa 4
*/
	private String A4="";
/**
* String que carga la alternativa correcta
*/
	private int Awnser;

/**
* Constructor copia Vocabulario
*/
	private Vocabulario(){
		No_question="";
		question="Pregunta No valida";
		A1="";
		A2="";
		A3="";
		A4="";
		Awnser=0;
	}
/**
* Constructor Vocabulario
* @param r Acción a realizar sobre el archivo
* @param fname Nombre del archivo
*/	
	public Vocabulario(int r,String fname){
		
		String n=""+r;
		String texto="";
		int flag=0;
		int flag2=0;
		int count=0;
		int count2=0;
		
		try{
			BufferedReader bf = new BufferedReader(new FileReader(fname));
			String temp="";
			char k;
			String bfRead;
			
			while((bfRead = bf.readLine()) != null){
				//Scanner sc = new Scanner(bfRead);
					//n=Integer.parseInt(bfRead);
				if(bfRead.equals(n)&&(flag==0)){
					flag=1;
					count++;
					//System.out.println("Accseso a pregunta"+n);
				}
				if(flag==1){
					switch(count){
					case 1:
						No_question=bfRead;
					count++;
					break;
					
					case 2:
						if(bfRead.equals("1")) Awnser=1;
						if(bfRead.equals("2")) Awnser=2;
						if(bfRead.equals("3")) Awnser=3;
						if(bfRead.equals("4")) Awnser=4;
					count++;
					break;
						
					case 3:
					if(bfRead.startsWith("R1:")){
						count++;
						flag2=0;
					}
					if(flag2==1){
						question=question+bfRead+"\n ";
					}
					if(bfRead.startsWith("P:")){
						flag2=1;
					}
					break;
						
					case 4:
						flag2=1;
						if(bfRead.startsWith("R2:")){
							count++;
							flag2=0;
						}
						if(flag2==1){
							A1=A1+bfRead+"\n ";
						}
					break;
					
					case 5:
						flag2=1;
						if(bfRead.startsWith("R3:")){
							count++;
							flag2=0;
						}
						if(flag2==1){
							A2=A2+bfRead+"\n ";
						}
					break;
						
					case 6:
						flag2=1;
						if(bfRead.startsWith("R4:")){
							count++;
							flag2=0;
						}
						if(flag2==1){
							A3=A3+bfRead+"\n ";
						}
					break;
						
					case 7:
						flag2=1;
						if(bfRead.startsWith("FIN:")){
							count++;
							flag2=0;
						}
						if(flag2==1){
							A4=A4+bfRead+"\n ";
						}
					break;
						
					default:
					break;
					
					}
				}
				
				
				
					//System.out.println(bfRead);
				}

		}catch(Exception e){
			System.err.println("Error al abrir el archivo");
			
		}
		
		/*
		//debugger
		if(Awnser!=0 || No_question.equals(n)){
			System.out.println("####################");
			System.out.println("Pregunta: "+No_question);
			System.out.println("Awnser = "+Awnser);
			System.out.println(question);
			System.out.println("respuesta 1:"+A1);
			System.out.println("respuesta 2:"+A2);
			System.out.println("respuesta 3:"+A3);
			System.out.println("respuesta 4:"+A4);
			
		}else{
			System.out.println("Error de escritura");
		}
		*/
		
	}
/**
* Método que retorna respuesta
* @return Respuesta correcta
*/	
	int retAwnser(){
		return Awnser;
	}
/**
* Método que retorna pregunta
* @return Pregunta actual
*/	
	String retP(){
		return question;
	}
/**
* Método que retorna Alternativa 1
* @return Alternativa 1
*/	
	String retA1(){
		return A1;
	}
/**
* Método que retorna Alternativa 2
* @return Alternativa 2
*/	
	String retA2(){
		return A2;
	}
/**
* Método que retorna Alternativa 3
* @return Alternativa 3
*/	
	String retA3(){
		return A3;
	}
/**
* Método que retorna Alternativa 4
* @return Alternativa 4
*/	
	String retA4(){
		return A4;
	}

}



