Guest User

Untitled

a guest
Apr 21st, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. uses crt;
  2. var i:byte;
  3. soubor:text;
  4. y:byte;
  5.  
  6. barvy:array[1..30] of byte;
  7. jezdcu:byte;
  8. jezdci:array[1..30] of string;
  9. vymena_j:string;
  10. vymena_b:byte;
  11.  
  12. vypadlych_jezdcu:byte;
  13. odpadlici:array[1..30] of string;
  14. odp_kolo:array[1..30] of byte;
  15.  
  16. kol:byte;
  17. kola:byte;
  18.  
  19. vstup:char;
  20.  
  21. begin
  22. jezdcu:=0;
  23.  
  24. { nacteni jezdcu }
  25. assign(soubor,'formule.txt');
  26. reset(soubor);
  27. readln(soubor,kol);
  28. while not eof(soubor) do begin
  29. jezdcu:=jezdcu+1;
  30. readln(soubor,jezdci[jezdcu]);
  31. readln(soubor,barvy[jezdcu]);
  32. end;
  33. close(soubor);
  34.  
  35. y:=1;
  36. kola:=kol;
  37. vypadlych_jezdcu:=0;
  38. repeat
  39. clrscr;
  40.  
  41. { vypsani na monitor }
  42. for i:= 1 to jezdcu do begin
  43. textcolor(15);
  44. if i < 10 then write(' '); write(i,'.');
  45. textcolor(barvy[i]);
  46. writeln(' ',jezdci[i]);
  47. end;
  48. textcolor(7);
  49. for i:= vypadlych_jezdcu downto 1 do begin
  50. gotoxy(1,25-i);
  51. writeln('x',odp_kolo[i],' ',odpadlici[i]);
  52. end;
  53. gotoxy(70,1); textcolor(15); write(kola,'/',kol);
  54.  
  55. { kurzor }
  56. gotoxy(4,y); textcolor(12); write(''); gotoxy(4,y);
  57. vstup:=readkey;
  58. if (y > 1) and (vstup = chr(72)) then y:=y-1;
  59. if (y < jezdcu) and (vstup = chr(80)) then y:=y+1;
  60.  
  61. { vymena jezdcu - smerem nahoru }
  62. if (y <> 1) and (vstup = 'w') then begin
  63. vymena_j:=jezdci[y]; vymena_b:=barvy[y];
  64. jezdci[y]:=jezdci[y-1]; barvy[y]:=barvy[y-1];
  65. jezdci[y-1]:=vymena_j; barvy[y-1]:=vymena_b;
  66. y:=y-1;
  67. end;
  68.  
  69. { vymena jezdcu - smerem dolu }
  70. if (y <> jezdcu) and (vstup = 'q') then begin
  71. vymena_j:=jezdci[y]; vymena_b:=barvy[y];
  72. jezdci[y]:=jezdci[y+1]; barvy[y]:=barvy[y+1];
  73. jezdci[y+1]:=vymena_j; barvy[y+1]:=vymena_b;
  74. y:=y+1;
  75. end;
  76.  
  77. { prridani, ubrani kola }
  78. if (kola > 0) and (vstup = 'k') then kola:=kola-1;
  79. if (kola < kol) and (vstup = 'l') then kola:=kola+1;
  80.  
  81. { vypadnuti jezdce }
  82. if (jezdcu > 0) and (vstup = 'x') then begin
  83. vypadlych_jezdcu:=vypadlych_jezdcu+1;
  84. odpadlici[vypadlych_jezdcu]:=jezdci[y];
  85. odp_kolo[vypadlych_jezdcu]:=kol-kola;
  86.  
  87. for i:= y to jezdcu-1 do begin
  88. jezdci[i]:=jezdci[i+1];
  89. barvy[i]:=barvy[i+1];
  90. end;
  91. jezdcu:=jezdcu-1;
  92. end;
  93.  
  94. { ulozeni }
  95. if vstup = 's' then begin
  96. assign(soubor,'VC.txt');
  97. rewrite(soubor);
  98. writeln(soubor,kola,'/',kol);
  99. writeln(soubor);
  100. for i:= 1 to jezdcu do writeln(soubor,jezdci[i]);
  101. writeln(soubor);
  102. for i:= vypadlych_jezdcu downto 1 do writeln(soubor,'x',odp_kolo[i],' ',odpadlici[i]);
  103. close(soubor);
  104. gotoxy(70,2); textcolor(28); write('Saved!');
  105. delay(3000);
  106. gotoxy(70,2); write(' ');
  107. end;
  108.  
  109. until vstup = chr(27);
  110. end.
Add Comment
Please, Sign In to add comment