Quantcast
Channel: Programmers Heaven Forums RSS Feed
Viewing all articles
Browse latest Browse all 2703

help with this program!

$
0
0
hello everyone, I am having problems with this program, I don´t know where is the problem. It´s function is to read a txt. So could yo help me?

this is the program:

program leerarchivo;

const

se='/';

type

  jugadores =(Jugador,CPU1,CPU2,CPU3,CPU4,CPU5);

  estado= (activo,eliminado); // estados de los jugadores en la partida

 mazo= (Biblioteca,Cocina,Comedor,Estudio,Vestibulo,Salon
,
        Invernadero,SalaDeBaile,SalaDeBillar,SenioraBlanco
,
        SenioraCeleste,ProfesorCiruela,SenioritaEscarlata,
CoronelMostaza,
        SeniorVerde,Candelabro,Cuchillo,Cuerda,LlaveIngles
a,Revolver,Tubo);

 lugares= Biblioteca..SalaDeBillar;

 personajes= SenioraBlanco..SeniorVerde;

 armas = Candelabro..Tubo;

 tablero= array [1..5] of array [1..5] of lugares;

 sobre= array [1..3] of mazo;

 manos= array [1..6] of array [jugadores] of mazo;

 listas= array [jugadores] of array [mazo] of boolean; //Lista de sospechosos

 posibles=array [1..9] of lugares;

 arreglo_cartas= array[1..18] of mazo;

 fichaTec=record // Datos de los participantes
  peon : personajes; // peon del jugador
  ubicacion:lugares; // ubicacion del jugador
  estatus: estado; // estado del jugador
  end;

 fichas = array [jugadores] of fichaTec;


var

lugar:tablero;
    Crimen:sobre;
  culpable:personajes;
  arma:armas;
  escena:lugares;
  J1:fichas;
  baraja:mazo;
  mano:manos;
  ultjug:jugadores;
  gameover:boolean;
  lista:listas;
  numjug:integer;
  jugact:jugadores;
  var arreglo:arreglo_cartas;
  ganador:boolean;
  resp:(acusar,sospechar);
  nombreArchivo:string;
  resp2:(guardar,jugar);
  i:mazo;
  contador:integer;
  archivo:text;

  numcartas: array[jugadores] of integer;
  numlistas:array [jugadores] of integer;
  control:integer;
  dum:string;
  temp:array [jugadores] of array [1..21] of mazo;
  afg:integer;
  jugturno:personajes;
  tur:jugadores;

begin

	writeln;
	writeln('lectura de archivo');
	writeln;
	writeln('introduzca el nombre de la partida');
	readln(nombreArchivo);

	assign(archivo,nombreArchivo);
	reset(archivo);

	while not eof (archivo) do begin


		readln(archivo,numjug);

		if numjug=3 then begin

			readln(archivo,crimen[1],crimen[2],crimen[3]);
	
			readln(archivo,j1[jugador].peon,j1[jugador].estatu
s,j1[jugador].ubicacion,numcartas[jugador],numlist
as[jugador]);

			for control:=1 to numcartas[jugador] do read(archivo,mano[control][jugador]);	
			readln(archivo,dum);				
			for control:=1 to numlistas[jugador] do read(archivo,temp[jugador][control]);
			readln(archivo,dum);

			readln(archivo,j1[cpu1].peon,j1[cpu1].estatus,j1[c
pu1].ubicacion,numcartas[cpu1],numlistas[cpu1]);
			if j1[cpu1].estatus=activo then begin
				for control:=1 to numcartas[cpu1] do read(archivo,mano[control][cpu1]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu1] do read(archivo,temp[cpu1][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu1] do read(archivo,temp[cpu1][control]);
				readln(archivo,dum);
			end;
			
			readln(archivo,j1[cpu2].peon,j1[cpu2].estatus,j1[c
pu2].ubicacion,numcartas[cpu2],numlistas[cpu2]);
			if j1[cpu2].estatus=activo then begin
				for control:=1 to numcartas[cpu2] do read(archivo,mano[control][cpu2]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu2] do read(archivo,temp[cpu2][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu2] do read(archivo,temp[cpu2][control]);
				readln(archivo,dum);
			end;

			readln(archivo,jugturno);

			for tur:=jugador to cpu2 do begin
				if j1[tur].peon=jugturno then jugact:=tur;
			end;

			for control:=1 to numlistas[jugador] do lista[jugador][temp[jugador][control]]:=true;
			for control:=1 to numlistas[cpu1] do lista[cpu1][temp[cpu1][control]]:=true;
			for control:=1 to numlistas[cpu2] do lista[cpu2][temp[cpu2][control]]:=true;
		end
		
		else if numjug=4 then begin

			readln(archivo,crimen[1],crimen[2],crimen[3]);
			readln(archivo,j1[jugador].peon,j1[jugador].estatu
s,j1[jugador].ubicacion,numcartas[jugador],numlist
as[jugador]);
			for control:=1 to numcartas[jugador] do read(archivo,mano[control][jugador]);	
			readln(archivo,dum);				
			for control:=1 to numlistas[jugador] do read(archivo,temp[jugador][control]);
			readln(archivo,dum);

			readln(archivo,j1[cpu1].peon,j1[cpu1].estatus,j1[c
pu1].ubicacion,numcartas[cpu1],numlistas[cpu1]);
			if j1[cpu1].estatus=activo then begin
				for control:=1 to numcartas[cpu1] do read(archivo,mano[control][cpu1]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu1] do read(archivo,temp[cpu1][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu1] do read(archivo,temp[cpu1][control]);
				readln(archivo,dum);
			end;

			readln(archivo,j1[cpu2].peon,j1[cpu2].estatus,j1[c
pu2].ubicacion,numcartas[cpu2],numlistas[cpu2]);
			if j1[cpu2].estatus=activo then begin
				for control:=1 to numcartas[cpu2] do read(archivo,mano[control][cpu2]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu2] do read(archivo,temp[cpu2][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu2] do read(archivo,temp[cpu2][control]);
				readln(archivo,dum);
			end;
			
			readln(archivo,j1[cpu3].peon,j1[cpu3].estatus,j1[c
pu3].ubicacion,numcartas[cpu3],numlistas[cpu3]);
			if j1[cpu3].estatus=activo then begin
				for control:=1 to numcartas[cpu3] do read(archivo,mano[control][cpu3]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu3] do read(archivo,temp[cpu3][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu3] do read(archivo,temp[cpu3][control]);
				readln(archivo,dum);
			end;

			readln(archivo,jugturno);

			for tur:=jugador to cpu3 do begin
				if j1[tur].peon=jugturno then jugact:=tur;
			end;

			for control:=1 to numlistas[jugador] do lista[jugador][temp[jugador][control]]:=true;
			for control:=1 to numlistas[cpu1] do lista[cpu1][temp[cpu1][control]]:=true;
			for control:=1 to numlistas[cpu2] do lista[cpu2][temp[cpu2][control]]:=true;
			for control:=1 to numlistas[cpu3] do lista[cpu3][temp[cpu3][control]]:=true;


		end	

		else if numjug=5 then begin

			readln(archivo,crimen[1],crimen[2],crimen[3]);
			
			readln(archivo,crimen[1],crimen[2],crimen[3]);
			readln(archivo,j1[jugador].peon,j1[jugador].estatu
s,j1[jugador].ubicacion,numcartas[jugador],numlist
as[jugador]);
			for control:=1 to numcartas[jugador] do read(archivo,mano[control][jugador]);	
			readln(archivo,dum);				
			for control:=1 to numlistas[jugador] do read(archivo,temp[jugador][control]);
			readln(archivo,dum);

			readln(archivo,j1[cpu1].peon,j1[cpu1].estatus,j1[c
pu1].ubicacion,numcartas[cpu1],numlistas[cpu1]);
			if j1[cpu1].estatus=activo then begin
				for control:=1 to numcartas[cpu1] do read(archivo,mano[control][cpu1]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu1] do read(archivo,temp[cpu1][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu1] do read(archivo,temp[cpu1][control]);
				readln(archivo,dum);
			end;

			readln(archivo,j1[cpu2].peon,j1[cpu2].estatus,j1[c
pu2].ubicacion,numcartas[cpu2],numlistas[cpu2]);
			if j1[cpu2].estatus=activo then begin
				for control:=1 to numcartas[cpu2] do read(archivo,mano[control][cpu2]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu2] do read(archivo,temp[cpu2][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu2] do read(archivo,temp[cpu2][control]);
				readln(archivo,dum);
			end;

			
			readln(archivo,j1[cpu3].peon,j1[cpu3].estatus,j1[c
pu3].ubicacion,numcartas[cpu3],numlistas[cpu3]);
			if j1[cpu3].estatus=activo then begin
				for control:=1 to numcartas[cpu3] do read(archivo,mano[control][cpu3]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu3] do read(archivo,temp[cpu3][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu3] do read(archivo,temp[cpu3][control]);
				readln(archivo,dum);
			end;
			
			readln(archivo,j1[cpu4].peon,j1[cpu4].estatus,j1[c
pu4].ubicacion,numcartas[cpu4],numlistas[cpu4]);
			if j1[cpu4].estatus=activo then begin
				for control:=1 to numcartas[cpu4] do read(archivo,mano[control][cpu4]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu4] do read(archivo,temp[cpu4][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu4] do read(archivo,temp[cpu4][control]);
				readln(archivo,dum);
			end;

			readln(archivo,jugturno);

			for tur:=jugador to cpu4 do begin
				if j1[tur].peon=jugturno then jugact:=tur;
			end;
			
			for control:=1 to numlistas[jugador] do lista[jugador][temp[jugador][control]]:=true;
			for control:=1 to numlistas[cpu1] do lista[cpu1][temp[cpu1][control]]:=true;
			for control:=1 to numlistas[cpu2] do lista[cpu2][temp[cpu2][control]]:=true;
			for control:=1 to numlistas[cpu3] do lista[cpu3][temp[cpu3][control]]:=true;
			for control:=1 to numlistas[cpu4] do lista[cpu3][temp[cpu4][control]]:=true;


		end	

		else if numjug=6 then begin

			readln(archivo,crimen[1],crimen[2],crimen[3]);
	
			readln(archivo,crimen[1],crimen[2],crimen[3]);
			readln(archivo,j1[jugador].peon,j1[jugador].estatu
s,j1[jugador].ubicacion,numcartas[jugador],numlist
as[jugador]);
			for control:=1 to numcartas[jugador] do read(archivo,mano[control][jugador]);	
			readln(archivo,dum);				
			for control:=1 to numlistas[jugador] do read(archivo,temp[jugador][control]);
			readln(archivo,dum);

			readln(archivo,j1[cpu1].peon,j1[cpu1].estatus,j1[c
pu1].ubicacion,numcartas[cpu1],numlistas[cpu1]);
			if j1[cpu1].estatus=activo then begin
				for control:=1 to numcartas[cpu1] do read(archivo,mano[control][cpu1]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu1] do read(archivo,temp[cpu1][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu1] do read(archivo,temp[cpu1][control]);
				readln(archivo,dum);
			end;

			readln(archivo,j1[cpu2].peon,j1[cpu2].estatus,j1[c
pu2].ubicacion,numcartas[cpu2],numlistas[cpu2]);
			if j1[cpu2].estatus=activo then begin
				for control:=1 to numcartas[cpu2] do read(archivo,mano[control][cpu2]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu2] do read(archivo,temp[cpu2][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu2] do read(archivo,temp[cpu2][control]);
				readln(archivo,dum);
			end;
			
			readln(archivo,j1[cpu3].peon,j1[cpu3].estatus,j1[c
pu3].ubicacion,numcartas[cpu3],numlistas[cpu3]);
			if j1[cpu3].estatus=activo then begin
				for control:=1 to numcartas[cpu3] do read(archivo,mano[control][cpu3]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu3] do read(archivo,temp[cpu3][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu3] do read(archivo,temp[cpu3][control]);
				readln(archivo,dum);
			end;
			
			readln(archivo,j1[cpu4].peon,j1[cpu4].estatus,j1[c
pu4].ubicacion,numcartas[cpu4],numlistas[cpu4]);
			if j1[cpu4].estatus=activo then begin
				for control:=1 to numcartas[cpu4] do read(archivo,mano[control][cpu4]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu4] do read(archivo,temp[cpu4][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu4] do read(archivo,temp[cpu4][control]);
				readln(archivo,dum);
			end;

			readln(archivo,j1[cpu5].peon,j1[cpu5].estatus,j1[c
pu5].ubicacion,numcartas[cpu5],numlistas[cpu5]);
			if j1[cpu5].estatus=activo then begin
				for control:=1 to numcartas[cpu5] do read(archivo,mano[control][cpu5]);	
				readln(archivo,dum);				
				for control:=1 to numlistas[cpu5] do read(archivo,temp[cpu5][control]);
				readln(archivo,dum);
			end
			else begin
				readln(archivo,dum);
				for control:=1 to numlistas[cpu5] do read(archivo,temp[cpu5][control]);
				readln(archivo,dum);
			end;

			readln(archivo,jugturno);
			
			for tur:=jugador to cpu5 do begin
				if j1[tur].peon=jugturno then jugact:=tur;
			end;

			for control:=1 to numlistas[jugador] do lista[jugador][temp[jugador][control]]:=true;
			for control:=1 to numlistas[cpu1] do lista[cpu1][temp[cpu1][control]]:=true;
			for control:=1 to numlistas[cpu2] do lista[cpu2][temp[cpu2][control]]:=true;
			for control:=1 to numlistas[cpu3] do lista[cpu3][temp[cpu3][control]]:=true;
			for control:=1 to numlistas[cpu4] do lista[cpu3][temp[cpu4][control]]:=true;
			for control:=1 to numlistas[cpu5] do lista[cpu5][temp[cpu5][control]]:=true;

		end;	
	end;
	
	close(archivo);

	writeln('hola');
	readln;

end.	




And this is the txt:

5
ProfesorCiruela LlaveInglesa Cocina
SenioritaEscarlata activo Cocina 4 14
Estudio SalaDeBaile SenioraBlanco Candelabro
Vestibulo Salon SenioraCeleste Cuchillo SalaDeBillar Biblioteca SeniorVerde Tubo Invernadero SenioritaEscarlata Cuerda Comedor CoronelMostaza Revolver
CoronelMostaza activo Estudio 5 9
Vestibulo Salon SenioraCeleste Cuchillo Comedor
Estudio SalaDeBaile SenioraBlanco Candelabro SalaDeBillar Biblioteca SeniorVerde Tubo CoronelMostaza
SenioraBlanco activo Vestibulo 5 9
SalaDeBillar Biblioteca SeniorVerde Tubo CoronelMostaza
Estudio SalaDeBaile SenioraBlanco Candelabro Vestibulo Salon SenioraCeleste Cuchillo Comedor
SenioraCeleste activo SalaDeBillar 4 9
Invernadero SenioritaEscarlata Cuerda Revolver
Estudio SalaDeBaile SenioraBlanco Candelabro Vestibulo Salon SenioraCeleste Cuchillo Comedor
SeniorVerde eliminado Invernadero 0 14

Vestibulo Salon SenioraCeleste Cuchillo SalaDeBillar Biblioteca SeniorVerde Tubo Invernadero SenioritaEscarlata Cuerda Comedor CoronelMostaza Revolver
CoronelMostaza

Viewing all articles
Browse latest Browse all 2703

Trending Articles