Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2019
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. char matriz[6][6]={{'D','R','R','R','R','D'},
  2. {'D','U',' ',' ',' ','D'},
  3. {'R','U',' ',' ',' ','D'},
  4. {' ',' ',' ',' ',' ','D'},
  5. {' ',' ',' ',' ',' ','D'},
  6. {' ',' ',' ','X','L','L'}};
  7. void avanzar(){
  8. motor[motorA] = 40;
  9. motor[motorB] = 40;
  10. wait1Msec(1000);
  11. }
  12. void girarDerecha(){
  13. nMotorEncoder[motorA] = 0;
  14. nMotorEncoderTarget[motorA] = 400;
  15. motor[motorA] = 45;
  16. }
  17. void girarIzquierda(){
  18. nMotorEncoder[motorB] = 0;
  19. nMotorEncoderTarget[motorB] = 400;
  20. motor[motorB] = 45;
  21. }
  22. task main(){
  23. int i=0, j=0, c=0, k;
  24. char posicion = 'd';
  25. char comandos(36);
  26. while (matriz[i][j] != 'x'){
  27. if (matriz[i][j] == 'd'){
  28. comandos(c) = 'd';
  29. i++;
  30. }
  31. else if (matriz[i][j] == 'r'){
  32. comandos(c) = 'r';
  33. j++;
  34. }
  35. else if (matriz[i][j] == 'l'){
  36. comandos(c) = 'l';
  37. j--;
  38. }
  39. else if (matriz[i][j] == 'u'){
  40. comandos(c) = 'u';
  41. i--;
  42. }
  43. c++;
  44. }
  45. for(k = 0; k <= c; k++){
  46. if (comandos(k) == posicion){//sigue avanzando
  47. avanzar();
  48. }
  49. else if (comandos(k) == 'd' && posicion == 'r'){ //dobla hacia abajo viniendo desde la izquierda
  50. girarIzquierda();
  51. avanzar();
  52. posicion = 'd';
  53. }
  54. else if (comandos(k) == 'd' && posicion == 'l'){ //dobla hacia abajo viniendo desde la derecha
  55. girarDerecha();
  56. avanzar();
  57. posicion = 'd';
  58. }
  59. else if (comandos(k) == 'u' && posicion == 'r'){ //dobla hacia arriba viniendo desde la izquierda
  60. girarDerecha();
  61. avanzar();
  62. posicion = 'u';
  63. }
  64. else if (comandos(k) == 'u' && posicion == 'l'){ //dobla hacia arriba viniendo desde la derecha
  65. girarIzquierda();
  66. avanzar();
  67. posicion = 'u';
  68. }
  69. else if (comandos(k) == 'r' && posicion == 'd'){ //dobla a la derecha viniendo desde arriba
  70. girarDerecha();
  71. avanzar();
  72. posicion = 'r';
  73. }
  74. else if (comandos(k) == 'r' && posicion == 'u'){ //dobla a la derecha viniendo desde abajo
  75. girarIzquierda();
  76. avanzar();
  77. posicion = 'r';
  78. }
  79. else if (comandos(k) == 'l' && posicion == 'd'){ //dobla a la izquierda viniendo desde arriba
  80. girarIzquierda();
  81. avanzar();
  82. posicion = 'l';
  83. }
  84. else if (comandos(k) == 'l' && posicion == 'u'){ //dobla a la izquierda viniendo desde abajo
  85. girarDerecha();
  86. avanzar();
  87. posicion = 'l';
  88. }
  89. else if (comandos(k) == 'u' && posicion == 'd'){ //se devuelve de abajo hacia arriba
  90. girarIzquierda();
  91. girarIzquierda();
  92. avanzar();
  93. posicion = 'u';
  94. }
  95. else if (comandos(k) == 'd' && posicion == 'u'){ //se devuelve de arriba hacia abajo
  96. girarIzquierda();
  97. girarIzquierda();
  98. avanzar();
  99. posicion = 'd';
  100. }
  101. else if (comandos(k) == 'l' && posicion == 'r'){ //se devuelve de derecha a izquierda
  102. girarDerecha();
  103. girarDerecha();
  104. avanzar();
  105. posicion = 'l';
  106. }
  107. else if (comandos(k) == 'r' && posicion == 'l'){ //se devuelve de izquierda a derecha
  108. girarDerecha();
  109. girarDerecha();
  110. avanzar();
  111. posicion = 'r';
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement