SHARE
TWEET

RobotiKokoti

a guest Apr 24th, 2019 100 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. % program na hladanie kociek robotom v bludisku s prekazkami,
  2. % robot ma 3 snimace prekazok (vpredu, vlavo, vpravo), otaca sa o 90stupnov
  3. % vlavo alebo vpravo, ide iba dopredu
  4. % cielom je najst vsetky kocky v bludisku, po najdeni kocky ju priniest do
  5. % ciela do pozicie (40,40) 1. typ objektu, do pozicie (1,40) 2. typ objektu
  6.  
  7. % toto riesenie obsahuje aj radar na hladanie kocky v def. okruhu, po
  8. % najdeni kocky ju zoberie do ciela
  9.  
  10. %robot=[poziciaX poziciaY snimacLavo snimacPravo snimacVpred pohyb otocenie smer kocka prekazka cielx ciely offset_rand gain_rand]
  11.  
  12. % poziciaX - stlpec 1 az 40, poziciaY - riadok 1 az 40
  13.  
  14. % snimacLavo snimacPravo snimacVpred , 0-volne, 1-prekazka, 2-kocka,
  15. % 3-iny robot
  16.  
  17. % pohyb , 0-stoji, 1-ide
  18.  
  19. % otocenie, 0-rovno, 1-doprava, 2-dolava
  20.  
  21. % smer, 1-hore, 2-dole, 3-doprava, 4-dolava
  22.  
  23. % kocka, 0-nema kocku,hlada ju, 1-nesie kocku na ciel (40,40), 2 - ide na
  24. % definovany ciel
  25.  
  26. % prekazka, kde je prekazka 0-nie je, 1-hore, 2-dole, 3-doprava, 4-dolava,
  27. % ak su zaporne hodnoty, prekazka je v cieli
  28.  
  29. % typ kocka , 1 - objekt 1. typu (napr. jablko, hruska), 2  - objekt 2. typu (napr. banan, pomaranc, citron)
  30.  
  31. % cielX - stlpec 1 az 40, cielY - riadok 1 az 40
  32.  
  33. % param1, param2 - parametre pre random hladanie
  34.  
  35. % hlavna funkcia
  36. function [caszberu]=mainrobot(pocetkociek,pocetprekazok)
  37.  
  38. h1=figure;
  39.  
  40. % definovanie color mapy 1-pozadie, 2-prekazka, 3-robot, 4-robot s kockou,
  41. % 5- kocka 1 typ ,  6- kocka 2 typ,  7 - neodkryta mapa
  42. colormaprobot=[1 1 1;0 0 0;0 1 0;1 0 0;0 0 1;1 0 1;1 1 0];
  43. mapa=ones(42);
  44. mapa(1,:)=2;
  45. mapa(42,:)=2;
  46. mapa(:,1)=2;
  47. mapa(:,42)=2;
  48.  
  49. % budovana mapa 1-pozadie, 2-prekazka, 3-robot, 4-robot s kockou,
  50. % 5- kocka 1 typ ,  6- kocka 2 typ,  7 - neodkryta mapa
  51. mapazobraz=7*ones(42);
  52. mapazobraz(1,:)=2;
  53. mapazobraz(42,:)=2;
  54. mapazobraz(:,1)=2;
  55. mapazobraz(:,42)=2;
  56.  
  57. odkrytiemapy=zeros(42);
  58.  
  59. % definovanie prekazok
  60. if pocetprekazok>0
  61. mapa(2:5,8)=2;
  62. mapa(6,8:10)=2;
  63.  
  64. mapa(2:7,23)=2;
  65. mapa(8,19:23)=2;
  66.  
  67. mapa(34:41,28)=2;
  68. mapa(34,25:28)=2;
  69.  
  70. mapa(34,10:12)=2;
  71. mapa(35:41,10)=2;
  72.  
  73. mapa(20,32:41)=2;
  74. mapa(18:22,32)=2;
  75.  
  76. mapa(22,12:20)=2;
  77. mapa(19:25,16)=2;
  78.  
  79. end
  80.  
  81. stanicaX=40;
  82. stanicaY=40;
  83.  
  84. pocetrobot=3;
  85.  
  86. % maximalny cas trvania simulacie
  87. maxcashladania=120*pocetkociek;
  88.  
  89. % zoznam kociek
  90. % 1-pozicia X, 2-pozicia Y, 3 - stav kocky, 4 - typ, 5 - parameter 1, 6 - parameter 2, 7 - parameter 3  
  91. zoznamkociek=[];
  92.  
  93. % definovanie parametrov robota
  94. roboti(1)=struct('poziciaX',1,'poziciaY',1,'snimacLavo',1,'snimacPravo',0,'snimacVpred',1,'pohyb',0,'otocenie',0, ...
  95.         'smer',1,'kocka',0,'prekazka',0,'typkocka',1,'cielX',40,'cielY',40,'param1',10,'param2',40,'pocitadlo',0,'maxkrok',0,'bludenie',0);
  96.  
  97. % zakreslenie robota
  98. mapa(2,2)=3;
  99.  
  100. if pocetrobot>1
  101.     %roboti(2,:)=[1 40 1 0 0 0 0 1 0 0 40 40 3 20];
  102. roboti(2)=struct('poziciaX',1,'poziciaY',40,'snimacLavo',1,'snimacPravo',0,'snimacVpred',0,'pohyb',0,'otocenie',0, ...
  103.         'smer',1,'kocka',0,'prekazka',0,'typkocka',1,'cielX',40,'cielY',40,'param1',3,'param2',20,'pocitadlo',0,'maxkrok',0,'bludenie',0);
  104.    
  105.     mapa(41,2)=3;
  106.     if pocetrobot>2
  107. %        roboti(3,:)=[40 1 1 0 0 0 0 2 0 0 40 40 8 30];
  108. roboti(3)=struct('poziciaX',40,'poziciaY',1,'snimacLavo',1,'snimacPravo',0,'snimacVpred',0,'pohyb',0,'otocenie',0, ...
  109.         'smer',2,'kocka',0,'prekazka',0,'typkocka',1,'cielX',40,'cielY',40,'param1',8,'param2',30,'pocitadlo',0,'maxkrok',0,'bludenie',0);
  110.  
  111.         mapa(2,41)=3;
  112.         pocetrobot=3;
  113.     end
  114. end
  115.  
  116. % parametre na nahodne hladanie
  117. for ii=1:pocetrobot,
  118.     roboti(ii).maxkrok=fix(40*rand);
  119. end
  120.  
  121. khladaj=zeros(1,pocetrobot);
  122. nahodahladaj=fix(40*rand(1,pocetrobot));
  123. timeout=[0 0 0];
  124.  
  125. % parametre na nahodne hladanie
  126. % khladaj=0;
  127. % nahodahladaj=fix(40*rand(1,1));
  128.  
  129. % definovanie pozicii kociek
  130. kockypos=[4 11;15 22;23 18;25 35;37 16;37 5;10 6;22 8;35 32;8 32;15 35;12 15;30 20;12 28;20 25;33 3;28 9; ...
  131.                 14 9;4 21;4 28;38 24;12 38;28 14;3 16;17 13;26 4;26 26;5 6;16 5;29 31;38 12;32 36;38 20;3 35;10 11];
  132.            
  133. if pocetkociek>35
  134.     pocetkociek=35;
  135. end
  136. indx=randperm(35);
  137. for i=1:pocetkociek,
  138.     if rand(1)>0.5
  139.         mapa(kockypos(indx(i),1),kockypos(indx(i),2))=5;
  140.     else
  141.         mapa(kockypos(indx(i),1),kockypos(indx(i),2))=6;
  142.     end
  143. end
  144.  
  145. % pociatocne vykreslenie mapy
  146. colormap(colormaprobot);
  147. hmapa=image(mapa);
  148. k=0;
  149. pocetuloh=0;
  150. title(['ulozene kocky = ' num2str(pocetuloh)])
  151.  
  152. % % zobrazenie budovanej mapy
  153. % h2=figure;
  154. % colormap(colormaprobot);
  155. % hmapa2=image(mapazobraz);
  156.  
  157.  
  158. % hlavny cyklus
  159. while k<maxcashladania && pocetuloh~=pocetkociek;
  160.     k=k+1;
  161.     for rrob=1:pocetrobot,
  162.        
  163.         % vyber pixelov z mapy
  164.         hp=mapa(roboti(rrob).poziciaY,roboti(rrob).poziciaX+1);
  165.         dp=mapa(roboti(rrob).poziciaY+2,roboti(rrob).poziciaX+1);
  166.         pp=mapa(roboti(rrob).poziciaY+1,roboti(rrob).poziciaX+2);
  167.         vp=mapa(roboti(rrob).poziciaY+1,roboti(rrob).poziciaX);
  168.        
  169.         % nastavenie snimacov robota
  170.         [vs,ps,hs]=nastavsnimace(roboti(rrob),hp,dp,pp,vp);
  171.              
  172.         roboti(rrob).snimacLavo=vs;
  173.         roboti(rrob).snimacPravo=ps;
  174.         roboti(rrob).snimacVpred=hs;
  175.        
  176.         % chod do stanice
  177.         if roboti(rrob).kocka==1
  178.             %novysmer=choddostanice(roboti(rrob));
  179.             if roboti(rrob).typkocka==2
  180.                 roboti(rrob).cielX=40;
  181.                 roboti(rrob).cielY=1;
  182.             else
  183.                 roboti(rrob).cielX=40;
  184.                 roboti(rrob).cielY=40;
  185.             end
  186.             [novysmer,novaprekazka]=chodnaciel(roboti(rrob));
  187.             roboti(rrob).prekazka=novaprekazka;
  188.             if novysmer>-1
  189.                 roboti(rrob).otocenie=novysmer;
  190.                 roboti(rrob).pohyb=1;
  191.                 timeout(rrob)=0;
  192.             else
  193.                 if novaprekazka<0
  194.                     roboti(rrob).otocenie=0;
  195.                     roboti(rrob).prekazka=0;
  196.                     roboti(rrob).smer=abs(novaprekazka);
  197.                 else
  198.                
  199.                     roboti(rrob).pohyb=0;
  200.                     timeout(rrob)=timeout(rrob)+1;
  201.                     if timeout(rrob)>3
  202.                         if rem(roboti(rrob).smer,2)==1
  203.                             roboti(rrob).smer=roboti(rrob).smer+1;
  204.                         else
  205.                             roboti(rrob).smer=roboti(rrob).smer-1;                  
  206.                         end
  207.                         timeout(rrob)=0;
  208.                     end
  209.                 end
  210.             end
  211.            
  212.         % chod na ciel    
  213.         elseif roboti(rrob).kocka==2
  214.             [novysmer,novaprekazka]=chodnaciel(roboti(rrob));
  215.             roboti(rrob).prekazka=novaprekazka;
  216.             if novysmer>-1
  217.                 roboti(rrob).otocenie=novysmer;
  218.                 roboti(rrob).pohyb=1;
  219.                 timeout(rrob)=0;
  220.             else
  221.                 % ak je prekazka v cieli kocka, zober ju
  222.                 if novaprekazka<0
  223.                     roboti(rrob).otocenie=0;
  224.                     roboti(rrob).prekazka=0;
  225.                     roboti(rrob).smer=abs(novaprekazka);
  226.                 else
  227.  
  228.                     roboti(rrob).pohyb=0;
  229.                     if roboti(rrob).poziciaX==roboti(rrob).cielX && roboti(rrob).poziciaY==roboti(rrob).cielY
  230.                         roboti(rrob).kocka=0;
  231.  
  232.                     end
  233. %                     timeout(rrob)=timeout(rrob)+1;
  234. %                     if timeout(rrob)>5
  235. %                         if rem(roboti(rrob).smer,2)==1
  236. %                             roboti(rrob).smer=roboti(rrob).smer+1;
  237. %                         else
  238. %                             roboti(rrob).smer=roboti(rrob).smer-1;                  
  239. %                         end
  240. %                         timeout(rrob)=0;
  241. %                     end
  242.                    
  243.                 end
  244.             end    
  245.            
  246.             % nahodne hladanie
  247.         else
  248.             [novysmer,kk,nahoda]=nahodnehladanie(roboti(rrob),khladaj(rrob),nahodahladaj(rrob));
  249.             % nastavenie smeru
  250.             if novysmer>-1
  251.                 roboti(rrob).otocenie=novysmer;
  252.                 roboti(rrob).pohyb=1;
  253.             else
  254.                 roboti(rrob).pohyb=0;
  255.                 if rem(roboti(rrob).smer,2)==1
  256.                     roboti(rrob).smer=roboti(rrob).smer+1;
  257.                 else
  258.                     roboti(rrob).smer=roboti(rrob).smer-1;                  
  259.                 end
  260.                
  261.             end
  262.             khladaj(rrob)=kk;
  263.             nahodahladaj(rrob)=nahoda;
  264.         end
  265.        
  266.         % nastav novu poziciu robota
  267.         stareX=roboti(rrob).poziciaX;
  268.         stareY=roboti(rrob).poziciaY;
  269.         mapa(stareY+1,stareX+1)=1;
  270.  
  271.         noveX=stareX;
  272.         noveY=stareY;
  273.        
  274.         % ak je robot v pohybe nastav smer cesty
  275.         if roboti(rrob).pohyb==1
  276.             [posX,posY,otoc]=nastavsmercesty(roboti(rrob));
  277.             noveX=posX;
  278.             noveY=posY;
  279.             if otoc>0
  280.                 roboti(rrob).smer=otoc;
  281.             end
  282.  
  283.         end
  284.            
  285.         roboti(rrob).poziciaX=noveX;
  286.         roboti(rrob).poziciaY=noveY;
  287.        
  288.         % co vykona robot v jednotlivych stavoch
  289.         [robotstav,nasielkocku,polozilkocku,zoznamkociek]=akciarobot(roboti(rrob),mapa,zoznamkociek,odkrytiemapy);
  290.         roboti(rrob)=robotstav;
  291.        
  292.         % kontrola ci nahodou neprejde prekazku
  293.         if mapa(roboti(rrob).poziciaY+1,roboti(rrob).poziciaX+1)==2
  294.              noveX=stareX;
  295.              noveY=stareY;
  296.             roboti(rrob).poziciaX=noveX;
  297.             roboti(rrob).poziciaY=noveY;
  298.         end
  299.        
  300.         % zakreslenie novej pozicie robota
  301.         if roboti(rrob).kocka==1
  302.             mapa(noveY+1,noveX+1)=4;
  303.         else
  304.             mapa(noveY+1,noveX+1)=3;
  305.         end
  306.        
  307. %         % budovanie mapy
  308. %         odkrytiemapy=budujmapu(odkrytiemapy,roboti(rrob));
  309.        
  310.         % prekreslenie mapy
  311.         figure(h1)
  312.         set(hmapa,'CData',mapa)
  313.  
  314.         % vypisy do okna
  315.         if nasielkocku==1
  316.             title(['ulozene kocky = ' num2str(pocetuloh) ' cas [s] = ' num2str(k)])
  317.         end
  318.         if polozilkocku==1
  319.                pocetuloh=pocetuloh+1;
  320.                title(['ulozene kocky = ' num2str(pocetuloh) ' cas [s] = ' num2str(k)])
  321.         end
  322.        
  323.         % na spomalenie priebehu simulacie
  324.         pause(0.001)
  325.  
  326.     end
  327.    
  328. %     if rem(k,5)==0
  329. %         figure(h2)
  330. %         set(hmapa2,'CData',mapazobraz)        
  331. %     end
  332.        
  333. end
  334. caszberu=k;
  335. end
  336.  
  337.  
  338. % fukcia, ktora riesi akcie, co sa robot robit v urcitych stavoch
  339. % robot - struktura robota
  340. % mapab - aktualna mapa bludiska
  341. % zkvstup - zoznam najdenych kociek
  342. % odkrytiemapy1 - kde uz bol
  343. function [robotupdate,nasielkocku,polozilkocku,zkvystup]=akciarobot(robot,mapab,zkvstup,odkrytiemapy1)
  344.  
  345.         dosahradaru=3;
  346.         nasielkocku=0;
  347.         polozilkocku=0;
  348.         zkvystup=zkvstup;
  349.        
  350.         % ak nasiel kocku, nastav stav zober kocku
  351.         if mapab(robot.poziciaY+1,robot.poziciaX+1)==5 || mapab(robot.poziciaY+1,robot.poziciaX+1)==6
  352.             robot.kocka=1;
  353.             robot.smer=2;
  354.             robot.otocenie=0;
  355.             nasielkocku=1;
  356.             robot.typkocka=1;
  357.            
  358.             % doplnit rozpoznavanie pomocou NS
  359.             % [typkocky,paramkocky]=citajparamkocky(mapab,robot.poziciaX,robot.poziciaY);
  360.            
  361.         end
  362.  
  363.         % ak nesie kocku
  364.         if robot.kocka==1
  365.            
  366.             [poziciakocky] = najdikocku(robot, mapab, dosahradaru);
  367.                
  368.                 if sum(ismember([poziciakocky],zkvystup)) == 0
  369.                     zkvystup = [zkvystup;poziciakocky];
  370.                 end
  371.             % ak priniesol kocku do ciela
  372.             if robot.typkocka==1
  373.                 if robot.poziciaX==40 && robot.poziciaY==40
  374.                     %robot.kocka=0;
  375.                     polozilkocku=1;
  376.                    
  377.                     if ~(isempty(zkvystup))
  378.                         robot.cielY = zkvystup(1,1);
  379.                         robot.cielX = zkvystup(1,2);
  380.                         zkvystup(1,:) = [];
  381.                        
  382.                         robot.kocka = 2;
  383.                     else
  384.                         robot.kocka = 0;
  385.                     end
  386.                    
  387.                 end
  388.             elseif robot.typkocka==2
  389.                 if robot.poziciaX==40 && robot.poziciaY==1
  390.                     robot.kocka=0;
  391.                     polozilkocku=1;
  392.                 end                
  393.             end
  394.         end
  395.  
  396.         % ak nema kocku prehlada priestor ultrazvukom
  397.         if robot.kocka==0
  398.             [najdenepozkocky]=najdikocku(robot,mapab,dosahradaru);
  399.             % ak najde kocku nastavi ciel na jej poziciu
  400.             if isempty(najdenepozkocky)==0
  401.                 robot.cielX=najdenepozkocky(1,2);
  402.                 robot.cielY=najdenepozkocky(1,1);
  403.                 robot.kocka=2;
  404.             end
  405.         end
  406.         robotupdate=robot;
  407. end
  408.  
  409.  
  410. % funkcia na budovanie mapy
  411. function odkrytiemapy2=budujmapu(odkrytiemapy1,robot)
  412.     odkrytiemapy2=odkrytiemapy1;
  413.    
  414.     % doprogramovavat
  415.  
  416.  
  417. end
  418.  
  419.  
  420. % funkcia, ktora vrati parametre objektu a jeho typ
  421. function [typkocky,paramkocky]=citajparamkocky(mapab,posX,posY)
  422.  
  423. pd=[0.91 0.07 0.91 0.03 0.5 0.4;0.75 0.15 0.77 0.06 0.57 0.27; ...
  424. 0.33 0.23 0.3 0.2 0.75 0.15;0.73 0.08 0.92 0.03 0.47 0.18;0.5 0.15 0.83 0.08 0.7 0.13];
  425.  
  426. paramkocky=zeros(1,3);
  427.  
  428.             % doplnit rozpoznavanie pomocou NS
  429.             if mapab(posY+1,posX+1)==6
  430.                typkocky=2;
  431.                druh=fix(3*rand(1))+3;
  432.             else
  433.                typkocky=1;
  434.                druh=fix(3*rand(1))+1;
  435.  
  436.             end
  437.            
  438.             for i=1:3
  439.                   paramkocky(i)=pd(druh,2*(i-1)+1)+2*pd(druh,2*(i-1)+2)*rand(1)-pd(druh,2*(i-1)+2);
  440.             end
  441. end
  442.  
  443.  
  444.  
  445. % funkcia pre riadenie robota do ciela
  446. % novysmer , 0-rovno, 1-vpravo, 2-vlavo, -1 - bez zmeny
  447. % prekazka - 0-nie je, 1-hore, 2-dole, 3-doprava, 4-dolava,
  448. % ak su zaporne hodnoty, prekazka je v cieli
  449. function [novysmer,prekazka]=chodnaciel(robot)
  450.    
  451.     % suradnice ciela robota
  452.     xciel=robot.cielX;
  453.     yciel=robot.cielY;
  454.    
  455.     % kde sa nachadza ciel od aktualnej pozicie robota, vlavo, vpravo, hore
  456.     % dole
  457.     if (xciel-robot.poziciaX)>0
  458.         idevpravo=1;
  459.     else
  460.         idevpravo=0;
  461.     end
  462.     if (xciel-robot.poziciaX)<0
  463.         idevlavo=1;
  464.     else
  465.         idevlavo=0;
  466.     end
  467.     if (yciel-robot.poziciaY)>0
  468.         idedole=1;
  469.     else
  470.         idedole=0;
  471.     end
  472.     if (yciel-robot.poziciaY)<0
  473.         idehore=1;
  474.     else
  475.         idehore=0;
  476.     end
  477.  
  478.     novysmer=-1;
  479.     prekazka=robot.prekazka;
  480.     % ak nenarazil na prekazku
  481.     if prekazka==0
  482.        
  483.         % ma ist smerom dole
  484.         if idedole==1
  485.            if robot.smer==2 && robot.snimacVpred==0
  486.                 novysmer=0;
  487.            elseif robot.smer==3 && robot.snimacPravo==0    %ide vpravo, vpravo volno, otoc dole
  488.                 novysmer=1;
  489.            elseif robot.smer==4 && robot.snimacLavo==0
  490.                 novysmer=2;
  491.            elseif robot.smer==1
  492.                 if idevpravo==1 && robot.snimacPravo==0
  493.                     novysmer=1;
  494.                 elseif idevlavo==1 && robot.snimacLavo==0
  495.                     novysmer=2;
  496.                 end
  497.            end
  498.         end
  499.    
  500.     if novysmer==-1
  501.         % ma ist smerom hore
  502.         if idehore==1
  503.            if robot.smer==1 && robot.snimacVpred==0
  504.                 novysmer=0;
  505.            elseif robot.smer==3 && robot.snimacLavo==0    %ide vpravo, vpravo volno, otoc dole
  506.                 novysmer=2;
  507.            elseif robot.smer==4 && robot.snimacPravo==0
  508.                 novysmer=1;
  509.            elseif robot.smer==2
  510.                 if idevpravo==1 && robot.snimacLavo==0
  511.                     novysmer=2;
  512.                 elseif idevlavo==1 && robot.snimacPravo==0
  513.                     novysmer=1;
  514.                 end
  515.            end            
  516.         end
  517.     end
  518.                    
  519.     if novysmer==-1
  520.         % ma ist smerom vpravo
  521.         if idevpravo==1
  522.            if robot.smer==1 && robot.snimacPravo==0
  523.                 novysmer=1;
  524.            elseif robot.smer==3 && robot.snimacVpred==0    %ide vpravo, vpravo volno, otoc dole
  525.                 novysmer=0;
  526.            elseif robot.smer==2 && robot.snimacLavo==0
  527.                 novysmer=2;
  528.            elseif robot.smer==4
  529.                 if idehore==1 && robot.snimacPravo==0
  530.                     novysmer=1;
  531.                 elseif idedole==1 && robot.snimacLavo==0
  532.                     novysmer=2;
  533.                 end
  534.            end            
  535.         end
  536.     end
  537.                
  538.     if novysmer==-1
  539.         % ma ist smerom vlavo
  540.         if idevlavo==1
  541.            if robot.smer==1 && robot.snimacLavo==0
  542.                 novysmer=2;
  543.            elseif robot.smer==4 && robot.snimacVpred==0    %ide vpravo, vpravo volno, otoc dole
  544.                 novysmer=0;
  545.            elseif robot.smer==2 && robot.snimacPravo==0
  546.                 novysmer=1;
  547.            elseif robot.smer==3
  548.                 if idehore==1 && robot.snimacLavo==0
  549.                     novysmer=2;
  550.                 elseif idedole==1 && robot.snimacPravo==0
  551.                     novysmer=1;
  552.                 end
  553.            end            
  554.         end
  555.     end
  556.    
  557.     % nie je mozny ziadny smer
  558.     if novysmer==-1
  559.         % ak nie je v cieli, tak nastav prekazku
  560.         if xciel~=robot.poziciaX
  561.             if idevpravo==1 && (xciel-robot.poziciaX)==1
  562.                 prekazka=-3;
  563.             elseif idevpravo==1
  564.                 prekazka=3;
  565.             elseif idevlavo==1 && (robot.poziciaX-xciel)==1
  566.                 prekazka=-4;                
  567.             elseif idevlavo==1
  568.                 prekazka=4;
  569.             end  
  570.         elseif yciel~=robot.poziciaY
  571.             if idehore==1 && (robot.poziciaY-yciel)==1
  572.                 prekazka=-1;
  573.             elseif idehore==1
  574.                 prekazka=1;
  575.             elseif idedole==1 && (yciel-robot.poziciaY)==1
  576.                 prekazka=-2;
  577.             elseif idedole==1
  578.                 prekazka=2;
  579.             end                      
  580.         end        
  581.     end
  582.    
  583.     % ak je prekazka, potom jej obchadzanie
  584.     else
  585.        
  586.         % prekazka vpravo
  587.         if prekazka==3 && yciel<21
  588.            if robot.smer==3 && robot.snimacVpred~=0 && robot.snimacPravo~=0 && robot.snimacLavo==0 % ak ide doprava,prekazka vpredu a vpravo, vlavo volno otoc dolava hore
  589.                 novysmer=2;
  590.            elseif robot.smer==3 && robot.snimacVpred~=0 && robot.snimacPravo==0 % ak ide doprava,prekazka vpredu , vpravo volno otoc doprava hole
  591.                 novysmer=1;                
  592.            elseif robot.smer==2 && robot.snimacLavo~=0 && robot.snimacVpred==0 % ak ide dole,prekazka vlavo, vpred volno pokracuj rovno
  593.                 novysmer=0;
  594.            elseif robot.smer==2 && robot.snimacLavo~=0 && robot.snimacVpred~=0 % ak ide dole,prekazka vlavo a rovno, otoc vpravo
  595.                 novysmer=1;                
  596.            elseif robot.smer==2 && robot.snimacLavo==0 && robot.snimacVpred==0  % ak ide dole,prekazka vlavo a rovno nieje, otoc dolava
  597.                 novysmer=2;
  598.            elseif robot.smer==2 && robot.snimacLavo==0 && robot.snimacVpred~=0 && robot.snimacPravo==0 % ak ide dole,prekazka rovno, vlavo a vpravo je volno, otoc doprava
  599.                 novysmer=1;              
  600.            elseif robot.smer==4 && robot.snimacLavo~=0 && robot.snimacVpred==0 % ak ide dolava,prekazka vlavo, vpred je volno, chod rovno
  601.                 novysmer=0;
  602.            elseif robot.smer==4 && robot.snimacLavo==0 % ak ide dolava, vlavo je volno, chod dolava
  603.                 novysmer=2;        
  604.            elseif robot.smer==1 % ak ide dole, toc dolava
  605.                 novysmer=2;
  606.            elseif robot.smer==3 && robot.snimacVpred==0 && robot.poziciaX<xciel % ak ide doprava, rovno je volno, este nie je v cieli, chod rovno a vypni obchadzanie prekazky  
  607.                 novysmer=0;
  608.                 prekazka=0;
  609.            end              
  610.            
  611.         elseif prekazka==3 && yciel>20
  612.            if robot.smer==3 && robot.snimacVpred~=0 && robot.snimacLavo~=0 && robot.snimacPravo==0 % ak ide doprava,prekazka vpredu a vlavo, vpravo volno otoc doprava dole
  613.                 novysmer=1;
  614.            elseif robot.smer==3 && robot.snimacVpred~=0 && robot.snimacLavo==0 % ak ide doprava,prekazka vpredu , vlavo volno otoc dolava hole
  615.                 novysmer=2;                
  616.            elseif robot.smer==1 && robot.snimacPravo~=0 && robot.snimacVpred==0 % ak ide hore,prekazka vpravo, vpred volno pokracuj rovno
  617.                 novysmer=0;
  618.            elseif robot.smer==1 && robot.snimacPravo~=0 && robot.snimacVpred~=0 % ak ide hore,prekazka vpravo a rovno, otoc vlavo
  619.                 novysmer=2;                
  620.            elseif robot.smer==1 && robot.snimacPravo==0 && robot.snimacVpred==0  % ak ide hore,prekazka vpravo a rovno nieje, otoc doprava
  621.                 novysmer=1;
  622.            elseif robot.smer==1 && robot.snimacPravo==0 && robot.snimacVpred~=0 && robot.snimacLavo==0 % ak ide hore,prekazka rovno, vlavo a vpravo je volno, otoc dolava
  623.                 novysmer=2;              
  624.            elseif robot.smer==4 && robot.snimacPravo~=0 && robot.snimacVpred==0 % ak ide dolava,prekazka vpravo, vpred je volno, chod rovno
  625.                 novysmer=0;
  626.            elseif robot.smer==4 && robot.snimacPravo==0 % ak ide dolava, vpravo je volno, chod doprava
  627.                 novysmer=1;        
  628.            elseif robot.smer==2 % ak ide dole, toc dolava
  629.                 novysmer=1;
  630.            elseif robot.smer==3 && robot.snimacVpred==0 && robot.poziciaX<xciel % ak ide doprava, rovno je volno, este nie je v cieli, chod rovno a vypni obchadzanie prekazky  
  631.                 novysmer=0;
  632.                 prekazka=0;
  633.            end              
  634.         end
  635.        
  636.         % prekazka vlavo
  637.         if prekazka==4 && yciel>20
  638.            if robot.smer==4 && robot.snimacVpred~=0 && robot.snimacPravo~=0 && robot.snimacLavo==0 % ak ide doprava,prekazka vpredu a vpravo, vlavo volno otoc dolava hore
  639.                 novysmer=2;
  640.            elseif robot.smer==4 && robot.snimacVpred~=0 && robot.snimacPravo==0 % ak ide doprava,prekazka vpredu , vpravo volno otoc doprava hole
  641.                 novysmer=1;                
  642.            elseif robot.smer==1 && robot.snimacLavo~=0 && robot.snimacVpred==0 % ak ide dole,prekazka vlavo, vpred volno pokracuj rovno
  643.                 novysmer=0;
  644.            elseif robot.smer==1 && robot.snimacLavo~=0 && robot.snimacVpred~=0 % ak ide dole,prekazka vlavo a rovno, otoc vpravo
  645.                 novysmer=1;                
  646.            elseif robot.smer==1 && robot.snimacLavo==0 && robot.snimacVpred==0  % ak ide dole,prekazka vlavo a rovno nieje, otoc dolava
  647.                 novysmer=2;
  648.            elseif robot.smer==1 && robot.snimacLavo==0 && robot.snimacVpred~=0 && robot.snimacPravo==0 % ak ide dole,prekazka rovno, vlavo a vpravo je volno, otoc doprava
  649.                 novysmer=1;              
  650.            elseif robot.smer==3 && robot.snimacLavo~=0 && robot.snimacVpred==0 % ak ide dolava,prekazka vlavo, vpred je volno, chod rovno
  651.                 novysmer=0;
  652.            elseif robot.smer==3 && robot.snimacLavo==0 % ak ide dolava, vlavo je volno, chod dolava
  653.                 novysmer=2;        
  654.            elseif robot.smer==2 % ak ide dole, toc dolava
  655.                 novysmer=2;
  656.            elseif robot.smer==4 && robot.snimacVpred==0 && robot.poziciaX>xciel % ak ide doprava, rovno je volno, este nie je v cieli, chod rovno a vypni obchadzanie prekazky  
  657.                 novysmer=0;
  658.                 prekazka=0;
  659.            end              
  660.            
  661.         elseif prekazka==4 && yciel<21
  662.            if robot.smer==4 && robot.snimacVpred~=0 && robot.snimacLavo~=0 && robot.snimacPravo==0 % ak ide doprava,prekazka vpredu a vlavo, vpravo volno otoc doprava dole
  663.                 novysmer=1;
  664.            elseif robot.smer==4 && robot.snimacVpred~=0 && robot.snimacLavo==0 % ak ide doprava,prekazka vpredu , vlavo volno otoc dolava hole
  665.                 novysmer=2;                
  666.            elseif robot.smer==2 && robot.snimacPravo~=0 && robot.snimacVpred==0 % ak ide hore,prekazka vpravo, vpred volno pokracuj rovno
  667.                 novysmer=0;
  668.            elseif robot.smer==2 && robot.snimacPravo~=0 && robot.snimacVpred~=0 % ak ide hore,prekazka vpravo a rovno, otoc vlavo
  669.                 novysmer=2;                
  670.            elseif robot.smer==2 && robot.snimacPravo==0 && robot.snimacVpred==0  % ak ide hore,prekazka vpravo a rovno nieje, otoc doprava
  671.                 novysmer=1;
  672.            elseif robot.smer==2 && robot.snimacPravo==0 && robot.snimacVpred~=0 && robot.snimacLavo==0 % ak ide hore,prekazka rovno, vlavo a vpravo je volno, otoc dolava
  673.                 novysmer=2;              
  674.            elseif robot.smer==3 && robot.snimacPravo~=0 && robot.snimacVpred==0 % ak ide dolava,prekazka vpravo, vpred je volno, chod rovno
  675.                 novysmer=0;
  676.            elseif robot.smer==3 && robot.snimacPravo==0 % ak ide dolava, vpravo je volno, chod doprava
  677.                 novysmer=1;        
  678.            elseif robot.smer==1 % ak ide dole, toc dolava
  679.                 novysmer=1;
  680.            elseif robot.smer==4 && robot.snimacVpred==0 && robot.poziciaX>xciel % ak ide doprava, rovno je volno, este nie je v cieli, chod rovno a vypni obchadzanie prekazky  
  681.                 novysmer=0;
  682.                 prekazka=0;
  683.            end              
  684.            
  685.         end
  686.  
  687.         % prekazka hore
  688.         if prekazka==1      %&& xciel>20
  689.            if robot.smer==1 && robot.snimacVpred~=0 && robot.snimacLavo~=0 && robot.snimacPravo==0 % ak ide doprava,prekazka vpredu a vpravo, vlavo volno otoc dolava hore
  690.                 novysmer=1;
  691.            elseif robot.smer==1 && robot.snimacVpred~=0 && robot.snimacLavo==0 % ak ide doprava,prekazka vpredu , vpravo volno otoc doprava hole
  692.                 novysmer=2;                
  693.            elseif robot.smer==4 && robot.snimacPravo~=0 && robot.snimacVpred==0 % ak ide dole,prekazka vlavo, vpred volno pokracuj rovno
  694.                 novysmer=0;
  695.            elseif robot.smer==4 && robot.snimacPravo~=0 && robot.snimacVpred~=0 % ak ide dole,prekazka vlavo a rovno, otoc vpravo
  696.                 novysmer=2;                
  697.            elseif robot.smer==4 && robot.snimacPravo==0 && robot.snimacVpred==0  % ak ide dole,prekazka vlavo a rovno nieje, otoc dolava
  698.                 novysmer=1;
  699.            elseif robot.smer==4 && robot.snimacLavo==0 && robot.snimacVpred~=0 && robot.snimacPravo==0 % ak ide dole,prekazka rovno, vlavo a vpravo je volno, otoc doprava
  700.                 novysmer=2;              
  701.            elseif robot.smer==2 && robot.snimacPravo~=0 && robot.snimacVpred==0 % ak ide dolava,prekazka vlavo, vpred je volno, chod rovno
  702.                 novysmer=0;
  703.            elseif robot.smer==2 && robot.snimacPravo==0 % ak ide dolava, vlavo je volno, chod dolava
  704.                 novysmer=1;        
  705.            elseif robot.smer==3 % ak ide dole, toc dolava
  706.                 novysmer=1;
  707.            elseif robot.smer==1 && robot.snimacVpred==0 && robot.poziciaY>yciel % ak ide doprava, rovno je volno, este nie je v cieli, chod rovno a vypni obchadzanie prekazky  
  708.                 novysmer=0;
  709.                 prekazka=0;
  710.            end              
  711.                      
  712.         end
  713.  
  714.         % prekazka dole
  715.         if prekazka==2  %&& xciel>20
  716.            if robot.smer==2 && robot.snimacVpred~=0 && robot.snimacPravo~=0 && robot.snimacLavo==0 % ak ide doprava,prekazka vpredu a vpravo, vlavo volno otoc dolava hore
  717.                 novysmer=2;
  718.            elseif robot.smer==2 && robot.snimacVpred~=0 && robot.snimacPravo==0 % ak ide doprava,prekazka vpredu , vpravo volno otoc doprava hole
  719.                 novysmer=1;                
  720.            elseif robot.smer==4 && robot.snimacLavo~=0 && robot.snimacVpred==0 % ak ide dole,prekazka vlavo, vpred volno pokracuj rovno
  721.                 novysmer=0;
  722.            elseif robot.smer==4 && robot.snimacLavo~=0 && robot.snimacVpred~=0 % ak ide dole,prekazka vlavo a rovno, otoc vpravo
  723.                 novysmer=1;                
  724.            elseif robot.smer==4 && robot.snimacLavo==0 && robot.snimacVpred==0  % ak ide dole,prekazka vlavo a rovno nieje, otoc dolava
  725.                 novysmer=2;
  726.            elseif robot.smer==4 && robot.snimacLavo==0 && robot.snimacVpred~=0 && robot.snimacPravo==0 % ak ide dole,prekazka rovno, vlavo a vpravo je volno, otoc doprava
  727.                 novysmer=1;              
  728.            elseif robot.smer==1 && robot.snimacLavo~=0 && robot.snimacVpred==0 % ak ide dolava,prekazka vlavo, vpred je volno, chod rovno
  729.                 novysmer=0;
  730.            elseif robot.smer==1 && robot.snimacLavo==0 % ak ide dolava, vlavo je volno, chod dolava
  731.                 novysmer=2;        
  732.            elseif robot.smer==3 % ak ide dole, toc dolava
  733.                 novysmer=2;
  734.            elseif robot.smer==2 && robot.snimacVpred==0 && robot.poziciaY<yciel % ak ide doprava, rovno je volno, este nie je v cieli, chod rovno a vypni obchadzanie prekazky  
  735.                 novysmer=0;
  736.                 prekazka=0;
  737.            end              
  738.                      
  739.         end        
  740.        
  741.        
  742.     end
  743.                
  744. end
  745.  
  746. % funkcia na nahodne prehladavanie
  747. % novysmer , 0-rovno, 1-vpravo, 2-vlavo, -1 - bez zmeny
  748. % kki, kko - pocitadlo
  749. % nahodai, nahodao - kedy ma byt vykonana zmena smeru
  750. function [novysmer,kko,nahodao]=nahodnehladanie(robot,kki,nahodai)
  751.         if robot.snimacPravo==2  % ak je vpravo kocka, chod doprava
  752.            novysmer=1;
  753.         elseif robot.snimacLavo==2  % ak je vlavo kocka, chod dolava
  754.            novysmer=2;
  755.         elseif robot.snimacVpred==0 || robot.snimacVpred==2 % ak je rovno kocka alebo volno chod rovno
  756.            novysmer=0;
  757.         elseif robot.snimacVpred~=0 && robot.snimacPravo==0 && robot.snimacLavo==0 % ak je rovno prekazka, vpravo aj vlavo volno, vyber si vlavo alebo vpravo
  758.            if rand<0.4
  759.                novysmer=2;
  760.            else
  761.                novysmer=1;
  762.            end
  763.         elseif robot.snimacVpred~=0 && robot.snimacPravo==0   % ak je rovno prekazka, vpravo  volno, chod vpravo
  764.            novysmer=1;
  765.         elseif robot.snimacVpred~=0 && robot.snimacLavo==0
  766.            novysmer=2;
  767.         else
  768.             novysmer=-1;
  769.         end
  770.        
  771.         % nahodna zmena smeru
  772.         if kki==nahodai
  773.            % ak ide rovno, zmen smer
  774.            if novysmer==0 && robot.snimacVpred~=2
  775.                % ak je vlavo volno, chod vlavo
  776.                if robot.snimacLavo==0
  777.                   novysmer=2;
  778.                elseif robot.snimacPravo==0  % ak je vpravo volno, chod vpravo
  779.                   novysmer=1;
  780.                end
  781.            end
  782.            % nahodne generovanie casu na zmenu smeru
  783.            nahodai=fix(robot.param2*rand+robot.param1);
  784.            kko=0;
  785.         else
  786.             kko=kki+1;
  787.         end
  788.         nahodao=nahodai;    
  789. end
  790.  
  791. % funkcia na nastavenie smeru cesty, podla toho ktorym smerom je otoceny
  792. % vypocita poziciu robota a ktorym smerom sa ma otocit
  793. function [posX,posY,otoc]=nastavsmercesty(robot)
  794.     stareX=robot.poziciaX;
  795.     stareY=robot.poziciaY;
  796.     posX=robot.poziciaX;
  797.     posY=robot.poziciaY;
  798.     otoc=0;
  799.     % nastavenie smeru cesty
  800.     if robot.pohyb==1
  801.         if robot.otocenie==0 && robot.smer==1 % hore
  802.             posX=stareX;
  803.             posY=stareY-1;
  804.         elseif robot.otocenie==0 && robot.smer==2 % dole
  805.             posX=stareX;
  806.             posY=stareY+1;
  807.         elseif robot.otocenie==0 && robot.smer==3 % vpravo
  808.             posX=stareX+1;
  809.             posY=stareY;
  810.         elseif robot.otocenie==0 && robot.smer==4 % vlavo
  811.             posX=stareX-1;
  812.             posY=stareY;
  813.            
  814.         elseif robot.otocenie==1 && robot.smer==1 % otocenie vpravo
  815.             posX=stareX+1;
  816.             posY=stareY;
  817.             otoc=3;
  818.          elseif robot.otocenie==1 && robot.smer==3 % otocenie dole
  819.             posX=stareX;
  820.             posY=stareY+1;
  821.             otoc=2;
  822.          elseif robot.otocenie==1 && robot.smer==2 % otocenie vlavo
  823.             posX=stareX-1;
  824.             posY=stareY;
  825.             otoc=4;
  826.          elseif robot.otocenie==1 && robot.smer==4 % otocenie hore
  827.             posX=stareX;
  828.             posY=stareY-1;
  829.             otoc=1;
  830.            
  831.         elseif robot.otocenie==2 && robot.smer==1 % otocenie vlavo
  832.             posX=stareX-1;
  833.             posY=stareY;
  834.             otoc=4;
  835.          elseif robot.otocenie==2 && robot.smer==3 % otocenie hore
  836.             posX=stareX;
  837.             posY=stareY-1;
  838.             otoc=1;
  839.          elseif robot.otocenie==2 && robot.smer==2 % otocenie vpravo
  840.             posX=stareX+1;
  841.             posY=stareY;
  842.             otoc=3;
  843.          elseif robot.otocenie==2 && robot.smer==4 % otocenie dole
  844.             posX=stareX;
  845.             posY=stareY+1;
  846.             otoc=2;
  847.         end
  848.     end
  849.     if posY<1
  850.         posY=1;
  851.     end
  852.     if posX<1
  853.         posX=1;
  854.     end    
  855.     if posX>40
  856.         posX=40;
  857.     end    
  858.     if posY>40
  859.         posY=40;
  860.     end
  861.  
  862. end
  863.  
  864. % nastavenie stavu snimacov, podla pixelov v mape
  865. function [vs,ps,hs]=nastavsnimace(robot,horepole,dolepole,vpravopole,vlavopole)
  866.    
  867.     % smer hore
  868.     if robot.smer==1
  869.         if horepole==2
  870.             hs=1;
  871.         elseif horepole==5 || horepole==6
  872.             hs=2;  
  873.         elseif horepole==3 || horepole==4
  874.             hs=3;              
  875.         else
  876.             hs=0;            
  877.         end
  878.         if vlavopole==2
  879.             vs=1;
  880.         elseif vlavopole==5 || vlavopole==6
  881.             vs=2;
  882.         elseif vlavopole==3 || vlavopole==4
  883.             vs=3;                                                          
  884.         else
  885.             vs=0;                      
  886.         end
  887.         if vpravopole==2
  888.             ps=1;
  889.         elseif vpravopole==5 || vpravopole==6
  890.             ps=2;                                                
  891.         elseif vpravopole==3 || vpravopole==4
  892.             ps=3;                                                          
  893.         else
  894.             ps=0;                      
  895.         end
  896.        
  897.     end
  898.     % smer dole
  899.     if robot.smer==2
  900.         if dolepole==2
  901.             hs=1;
  902.         elseif dolepole==5 || dolepole==6
  903.             hs=2;
  904.         elseif dolepole==3 || dolepole==4
  905.             hs=3;                                                          
  906.         else
  907.             hs=0;            
  908.         end
  909.         if vpravopole==2
  910.             vs=1;
  911.         elseif vpravopole==5 || vpravopole==6
  912.             vs=2;    
  913.         elseif vpravopole==3 || vpravopole==4
  914.             vs=3;                                              
  915.         else
  916.             vs=0;                      
  917.         end
  918.         if vlavopole==2
  919.             ps=1;
  920.         elseif vlavopole==5 || vlavopole==6
  921.             ps=2;
  922.         elseif vlavopole==3 || vlavopole==4
  923.             ps=3;                                              
  924.         else
  925.             ps=0;                      
  926.         end
  927.        
  928.     end
  929.      % smer vpravo
  930.     if robot.smer==3
  931.         if vpravopole==2
  932.             hs=1;
  933.         elseif vpravopole==5 || vpravopole==6
  934.             hs=2;
  935.         elseif vpravopole==3 || vpravopole==4
  936.             hs=3;                                  
  937.         else
  938.             hs=0;            
  939.         end
  940.         if horepole==2
  941.             vs=1;
  942.         elseif horepole==5 || horepole==6
  943.             vs=2;
  944.         elseif horepole==3 || horepole==4
  945.             vs=3;                                                          
  946.         else
  947.             vs=0;                      
  948.         end
  949.         if dolepole==2
  950.             ps=1;
  951.         elseif dolepole==5 || dolepole==6
  952.             ps=2;
  953.         elseif dolepole==3 || dolepole==4
  954.             ps=3;                                              
  955.         else
  956.             ps=0;                      
  957.         end
  958.        
  959.     end
  960.      % smer vlavo
  961.     if robot.smer==4
  962.         if vlavopole==2
  963.             hs=1;
  964.         elseif vlavopole==5 || vlavopole==6
  965.             hs=2;
  966.         elseif vlavopole==3 || vlavopole==4
  967.             hs=3;                      
  968.         else
  969.             hs=0;            
  970.         end
  971.         if dolepole==2
  972.             vs=1;
  973.         elseif dolepole==5 || dolepole==6
  974.             vs=2;  
  975.         elseif dolepole==3 || dolepole==4
  976.             vs=3;                                  
  977.         else
  978.             vs=0;                      
  979.         end
  980.         if horepole==2
  981.             ps=1;
  982.         elseif horepole==5 || horepole==6
  983.             ps=2;
  984.         elseif horepole==3 || horepole==4
  985.             ps=3;                                              
  986.         else
  987.             ps=0;                      
  988.         end
  989.        
  990.     end
  991.  
  992. end
  993.  
  994. % funkcia na prehladanie okolia robota radarom
  995. % vrati pozicie kociek [Y X] - [riadok stlpec] v mape
  996. function [novapozkocky]=najdikocku(robot,celamapa,dosahsenzora)
  997.     % def. rozsahu senzora
  998.     rmin=robot.poziciaY-dosahsenzora+1;
  999.     rmax=robot.poziciaY+dosahsenzora+1;
  1000.     smin=robot.poziciaX-dosahsenzora+1;
  1001.     smax=robot.poziciaX+dosahsenzora+1;
  1002.    
  1003.     % ohranicenie mapy
  1004.     if rmin<2
  1005.         rmin=2;
  1006.     end
  1007.     if smin<1
  1008.         smin=1;
  1009.     end
  1010.     if rmax>41
  1011.         rmax=41;
  1012.     end
  1013.     if smax>41
  1014.         smax=41;
  1015.     end
  1016.    
  1017.     % ohranicenie prekazkov, radar cez prekaz nevidi
  1018.     ss=robot.poziciaX+1;
  1019.     for rr=rmin:robot.poziciaY+1,
  1020.         if celamapa(rr,ss)==2
  1021.             rmin=rr;
  1022.             break;
  1023.         end
  1024.     end
  1025.     rr=robot.poziciaY+1;
  1026.     for ss=smin:robot.poziciaX+1,
  1027.         if celamapa(rr,ss)==2
  1028.             smin=ss;
  1029.             break;
  1030.         end
  1031.     end
  1032.     ss=robot.poziciaX+1;
  1033.     for rr=robot.poziciaY+1:rmax,
  1034.         if celamapa(rr,ss)==2
  1035.             rmax=rr;
  1036.             break;
  1037.         end
  1038.     end
  1039.     rr=robot.poziciaY+1;
  1040.     for ss=robot.poziciaX+1:smax,
  1041.         if celamapa(rr,ss)==2
  1042.             smax=ss;
  1043.             break;
  1044.         end
  1045.     end    
  1046.     novapozkocky=[];
  1047.    
  1048.     % hladanie kocky v ohranicenom priestore
  1049.     for rr=rmin:rmax,
  1050.         for ss=smin:smax,
  1051.             if celamapa(rr,ss)==5
  1052.                 novapozkocky=[novapozkocky;rr-1 ss-1 1];
  1053.             elseif celamapa(rr,ss)==6
  1054.                 novapozkocky=[novapozkocky;rr-1 ss-1 2];
  1055.             end
  1056.         end
  1057.     end
  1058.            
  1059. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top