Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- var i:byte;
- soubor:text;
- y:byte;
- barvy:array[1..30] of byte;
- jezdcu:byte;
- jezdci:array[1..30] of string;
- vymena_j:string;
- vymena_b:byte;
- vypadlych_jezdcu:byte;
- odpadlici:array[1..30] of string;
- odp_kolo:array[1..30] of byte;
- kol:byte;
- kola:byte;
- vstup:char;
- begin
- jezdcu:=0;
- { nacteni jezdcu }
- assign(soubor,'formule.txt');
- reset(soubor);
- readln(soubor,kol);
- while not eof(soubor) do begin
- jezdcu:=jezdcu+1;
- readln(soubor,jezdci[jezdcu]);
- readln(soubor,barvy[jezdcu]);
- end;
- close(soubor);
- y:=1;
- kola:=kol;
- vypadlych_jezdcu:=0;
- repeat
- clrscr;
- { vypsani na monitor }
- for i:= 1 to jezdcu do begin
- textcolor(15);
- if i < 10 then write(' '); write(i,'.');
- textcolor(barvy[i]);
- writeln(' ',jezdci[i]);
- end;
- textcolor(7);
- for i:= vypadlych_jezdcu downto 1 do begin
- gotoxy(1,25-i);
- writeln('x',odp_kolo[i],' ',odpadlici[i]);
- end;
- gotoxy(70,1); textcolor(15); write(kola,'/',kol);
- { kurzor }
- gotoxy(4,y); textcolor(12); write(''); gotoxy(4,y);
- vstup:=readkey;
- if (y > 1) and (vstup = chr(72)) then y:=y-1;
- if (y < jezdcu) and (vstup = chr(80)) then y:=y+1;
- { vymena jezdcu - smerem nahoru }
- if (y <> 1) and (vstup = 'w') then begin
- vymena_j:=jezdci[y]; vymena_b:=barvy[y];
- jezdci[y]:=jezdci[y-1]; barvy[y]:=barvy[y-1];
- jezdci[y-1]:=vymena_j; barvy[y-1]:=vymena_b;
- y:=y-1;
- end;
- { vymena jezdcu - smerem dolu }
- if (y <> jezdcu) and (vstup = 'q') then begin
- vymena_j:=jezdci[y]; vymena_b:=barvy[y];
- jezdci[y]:=jezdci[y+1]; barvy[y]:=barvy[y+1];
- jezdci[y+1]:=vymena_j; barvy[y+1]:=vymena_b;
- y:=y+1;
- end;
- { prridani, ubrani kola }
- if (kola > 0) and (vstup = 'k') then kola:=kola-1;
- if (kola < kol) and (vstup = 'l') then kola:=kola+1;
- { vypadnuti jezdce }
- if (jezdcu > 0) and (vstup = 'x') then begin
- vypadlych_jezdcu:=vypadlych_jezdcu+1;
- odpadlici[vypadlych_jezdcu]:=jezdci[y];
- odp_kolo[vypadlych_jezdcu]:=kol-kola;
- for i:= y to jezdcu-1 do begin
- jezdci[i]:=jezdci[i+1];
- barvy[i]:=barvy[i+1];
- end;
- jezdcu:=jezdcu-1;
- end;
- { ulozeni }
- if vstup = 's' then begin
- assign(soubor,'VC.txt');
- rewrite(soubor);
- writeln(soubor,kola,'/',kol);
- writeln(soubor);
- for i:= 1 to jezdcu do writeln(soubor,jezdci[i]);
- writeln(soubor);
- for i:= vypadlych_jezdcu downto 1 do writeln(soubor,'x',odp_kolo[i],' ',odpadlici[i]);
- close(soubor);
- gotoxy(70,2); textcolor(28); write('Saved!');
- delay(3000);
- gotoxy(70,2); write(' ');
- end;
- until vstup = chr(27);
- end.
Add Comment
Please, Sign In to add comment