Gistrec

test robot

Jul 15th, 2014
384
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 7.59 KB | None | 0 0
  1. uses crt;
  2. {             A_ _ _B_ _ _C_ _ _D
  3.               |     |     |     |
  4.               |     |     |     |
  5.               E_ _ _F_ _ _G_ _ _J
  6.               |     |     |     |
  7.               |     |     |     |
  8.               K_ _ _L_ _ _M_ _ _N
  9.               |     |     |     |
  10.               |     |     |     |
  11.               O_ _ _P_ _ _Q_ _ _S        }
  12. var {Горизонтальные стенки:}
  13.     AB,BC,CD,EF,FG,GJ,KL,LM,MN,OP,PQ,QS:integer;
  14.     {Вертикальные стенки:}
  15.     AE,EK,KO,BF,FL,LP,CG,GM,MQ,DJ,JN,NS:integer;
  16.     {Клетки:}
  17.     ABFE,DCGF,CDJG,EFLK,FGML,GJNM,KLPO,LMQP,MNSQ:integer;
  18.     {Координаты робота:}
  19.     robot:string;
  20.     finish:string;//клетка финиша
  21.     status:integer;//Ввод линий, координат робота
  22.     x:integer;
  23. label start;
  24.  
  25. procedure write_robot;
  26. begin
  27.                        gotoxy(35,1);write('Введите начальное положение робота');
  28.                        gotoxy(35,2);writeln('ABFE = 1');
  29.                        gotoxy(35,3);writeln('DCFG = 2');
  30.                        gotoxy(35,4);writeln('CDJG = 3');
  31.                        gotoxy(35,5);writeln('EFLK = 4');
  32.                        gotoxy(35,6);writeln('FGML = 5');
  33.                        gotoxy(35,7);writeln('GJNM = 6');
  34.                        gotoxy(35,8);writeln('KLPO = 7');
  35.                        gotoxy(35,9);writeln('LMQP = 8');
  36.                        gotoxy(35,10);writeln('MNSQ = 9');
  37. end;
  38.  
  39. procedure wall;
  40. begin
  41. gotoxy(25,1);
  42. write('Выберите стенки (Чтобы продолжить, введите 0)');
  43.                     gotoxy(25,2);write('AB = 1');
  44.                     gotoxy(25,3);write('BC = 2');
  45.                     gotoxy(25,4);write('CD = 3');
  46.                     gotoxy(25,5);write('EF = 4');
  47.                     gotoxy(25,6);write('FG = 5');
  48.                     gotoxy(25,7);write('GJ = 6');
  49.                     gotoxy(25,8);write('KL = 7');
  50.                     gotoxy(25,9);write('LM = 8');
  51.                     gotoxy(25,10);write('MN = 9');
  52.                     gotoxy(25,11);write('OP = 10');
  53.                     gotoxy(25,12);write('PQ = 11');
  54.                     gotoxy(25,13);write('QS = 12');
  55.                     //
  56.                     gotoxy(35,2);write('AE = 13');
  57.                     gotoxy(35,3);write('EK = 14');
  58.                     gotoxy(35,4);write('KO = 15');
  59.                     gotoxy(35,5);write('BF = 16');
  60.                     gotoxy(35,6);write('FL = 17');
  61.                     gotoxy(35,7);write('LP = 18');
  62.                     gotoxy(35,8);write('CG = 19');
  63.                     gotoxy(35,9);write('GM = 20');
  64.                     gotoxy(35,10);write('MQ = 21');
  65.                     gotoxy(35,11);write('DJ = 22');
  66.                     gotoxy(35,12);write('JN = 23');
  67.                     gotoxy(35,13);write('NS = 24');
  68. end;
  69.  
  70.  
  71. begin
  72. status:=1;
  73. start:
  74. TextColor(white);write('A');if AB=1 then TextColor(green) else TextColor(white);write('_ _ _');TextColor(white); write('B');if BC=1 then TextColor(green) else TextColor(white);write('_ _ _');TextColor(white);write('C');if CD=1 then TextColor(green) else TextColor(white);write('_ _ _');Textcolor(white);writeln('D');
  75. if AE=1 then TextColor(green) else TextColor(white); write('|     ');if BF=1 then TextColor(green) else TextColor(white); write('|     ');if CG=1 then TextColor(green) else Textcolor(white);write('|     ');if DJ=1 then textcolor(green) else Textcolor(white);writeln('|     ');
  76. if AE=1 then TextColor(green) else TextColor(white); write('|     ');if BF=1 then TextColor(green) else TextColor(white); write('|     ');if CG=1 then TextColor(green) else Textcolor(white);write('|     ');if DJ=1 then textcolor(green) else Textcolor(white);writeln('|     ');
  77. TextColor(white);write('E');if EF=1 then TextColor(green) else TextColor(white);write('_ _ _');TextColor(white); write('F');if FG=1 then TextColor(green) else TextColor(white);write('_ _ _');TextColor(white);write('G');if GJ=1 then TextColor(green) else TextColor(white);write('_ _ _');Textcolor(white);writeln('J');
  78. if EK=1 then TextColor(green) else TextColor(white); write('|     ');if FL=1 then TextColor(green) else TextColor(white); write('|     ');if GM=1 then TextColor(green) else Textcolor(white);write('|     ');if JN=1 then textcolor(green) else Textcolor(white);writeln('|     ');
  79. if EK=1 then TextColor(green) else TextColor(white); write('|     ');if FL=1 then TextColor(green) else TextColor(white); write('|     ');if GM=1 then TextColor(green) else Textcolor(white);write('|     ');if JN=1 then textcolor(green) else Textcolor(white);writeln('|     ');
  80. TextColor(white);write('K');if KL=1 then TextColor(green) else TextColor(white);write('_ _ _');TextColor(white); write('L');if LM=1 then TextColor(green) else TextColor(white);write('_ _ _');TextColor(white);write('M');if MN=1 then TextColor(green) else TextColor(white);write('_ _ _');Textcolor(white);writeln('N');
  81. if KO=1 then TextColor(green) else TextColor(white); write('|     ');if LP=1 then TextColor(green) else TextColor(white); write('|     ');if MQ=1 then TextColor(green) else Textcolor(white);write('|     ');if NS=1 then textcolor(green) else Textcolor(white);writeln('|     ');
  82. if KO=1 then TextColor(green) else TextColor(white); write('|     ');if LP=1 then TextColor(green) else TextColor(white); write('|     ');if MQ=1 then TextColor(green) else Textcolor(white);write('|     ');if NS=1 then textcolor(green) else Textcolor(white);writeln('|     ');
  83. TextColor(white);write('O');if OP=1 then TextColor(green) else TextColor(white);write('_ _ _');TextColor(white); write('P');if PQ=1 then TextColor(green) else TextColor(white);write('_ _ _');TextColor(white);write('Q');if QS=1 then TextColor(green) else TextColor(white);write('_ _ _');Textcolor(white);writeln('S');
  84.    if status=1 then begin
  85.                     wall;
  86.                     gotoxy(1,13);
  87.                     read(x);
  88.                     case x of
  89.                     0: status:=2;
  90.                     1: if AB=1 then AB:=0 else AB:=1;
  91.                     2: if BC=1 then BC:=0 else BC:=1;
  92.                     3: if CD=1 then CD:=0 else CD:=1;
  93.                     4: if EF=1 then EF:=0 else EF:=1;
  94.                     5: if FG=1 then FG:=0 else FG:=1;
  95.                     6: if GJ=1 then GJ:=0 else GJ:=1;
  96.                     7: if KL=1 then KL:=0 else KL:=1;
  97.                     8: if LM=1 then LM:=0 else LM:=1;
  98.                     9: if MN=1 then MN:=0 else MN:=1;
  99.                     10: if OP=1 then OP:=0 else OP:=1;
  100.                     11: if PQ=1 then PQ:=0 else PQ:=1;
  101.                     12: if QS=1 then QS:=0 else QS:=1;
  102.                     13: if AE=1 then AE:=0 else AE:=1;
  103.                     14: if EK=1 then EK:=0 else EK:=1;
  104.                     15: if KO=1 then KO:=0 else KO:=1;
  105.                     16: if BF=1 then BF:=0 else BF:=1;
  106.                     17: if FL=1 then FL:=0 else FL:=1;
  107.                     18: if LP=1 then LP:=0 else LP:=1;
  108.                     19: if CG=1 then CG:=0 else CG:=1;
  109.                     20: if GM=1 then GM:=0 else GM:=1;
  110.                     21: if MQ=1 then MQ:=0 else MQ:=1;
  111.                     22: if DJ=1 then DJ:=0 else DJ:=1;
  112.                     23: if JN=1 then JN:=0 else JN:=1;
  113.                     24: if NS=1 then NS:=0 else NS:=1;
  114.                     end;
  115.                     clrscr();
  116.                     goto start;
  117.                     end;
  118.       if status=2 then begin
  119.                        write_robot;
  120.                        
  121.                        end;
  122.                    
  123.                    
  124.                    
  125.                    
  126. end.
Advertisement
Add Comment
Please, Sign In to add comment