Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char matriz[6][6]={{'D','R','R','R','R','D'},
- {'D','U',' ',' ',' ','D'},
- {'R','U',' ',' ',' ','D'},
- {' ',' ',' ',' ',' ','D'},
- {' ',' ',' ',' ',' ','D'},
- {' ',' ',' ','X','L','L'}};
- void avanzar(){
- motor[motorA] = 40;
- motor[motorB] = 40;
- wait1Msec(1000);
- }
- void girarDerecha(){
- nMotorEncoder[motorA] = 0;
- nMotorEncoderTarget[motorA] = 400;
- motor[motorA] = 45;
- }
- void girarIzquierda(){
- nMotorEncoder[motorB] = 0;
- nMotorEncoderTarget[motorB] = 400;
- motor[motorB] = 45;
- }
- task main(){
- int i=0, j=0, c=0, k;
- char posicion = 'd';
- char comandos(36);
- while (matriz[i][j] != 'x'){
- if (matriz[i][j] == 'd'){
- comandos(c) = 'd';
- i++;
- }
- else if (matriz[i][j] == 'r'){
- comandos(c) = 'r';
- j++;
- }
- else if (matriz[i][j] == 'l'){
- comandos(c) = 'l';
- j--;
- }
- else if (matriz[i][j] == 'u'){
- comandos(c) = 'u';
- i--;
- }
- c++;
- }
- for(k = 0; k <= c; k++){
- if (comandos(k) == posicion){//sigue avanzando
- avanzar();
- }
- else if (comandos(k) == 'd' && posicion == 'r'){ //dobla hacia abajo viniendo desde la izquierda
- girarIzquierda();
- avanzar();
- posicion = 'd';
- }
- else if (comandos(k) == 'd' && posicion == 'l'){ //dobla hacia abajo viniendo desde la derecha
- girarDerecha();
- avanzar();
- posicion = 'd';
- }
- else if (comandos(k) == 'u' && posicion == 'r'){ //dobla hacia arriba viniendo desde la izquierda
- girarDerecha();
- avanzar();
- posicion = 'u';
- }
- else if (comandos(k) == 'u' && posicion == 'l'){ //dobla hacia arriba viniendo desde la derecha
- girarIzquierda();
- avanzar();
- posicion = 'u';
- }
- else if (comandos(k) == 'r' && posicion == 'd'){ //dobla a la derecha viniendo desde arriba
- girarDerecha();
- avanzar();
- posicion = 'r';
- }
- else if (comandos(k) == 'r' && posicion == 'u'){ //dobla a la derecha viniendo desde abajo
- girarIzquierda();
- avanzar();
- posicion = 'r';
- }
- else if (comandos(k) == 'l' && posicion == 'd'){ //dobla a la izquierda viniendo desde arriba
- girarIzquierda();
- avanzar();
- posicion = 'l';
- }
- else if (comandos(k) == 'l' && posicion == 'u'){ //dobla a la izquierda viniendo desde abajo
- girarDerecha();
- avanzar();
- posicion = 'l';
- }
- else if (comandos(k) == 'u' && posicion == 'd'){ //se devuelve de abajo hacia arriba
- girarIzquierda();
- girarIzquierda();
- avanzar();
- posicion = 'u';
- }
- else if (comandos(k) == 'd' && posicion == 'u'){ //se devuelve de arriba hacia abajo
- girarIzquierda();
- girarIzquierda();
- avanzar();
- posicion = 'd';
- }
- else if (comandos(k) == 'l' && posicion == 'r'){ //se devuelve de derecha a izquierda
- girarDerecha();
- girarDerecha();
- avanzar();
- posicion = 'l';
- }
- else if (comandos(k) == 'r' && posicion == 'l'){ //se devuelve de izquierda a derecha
- girarDerecha();
- girarDerecha();
- avanzar();
- posicion = 'r';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement