Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. void *monsterMovement(void *bicho){
  2. Monster *m = (Monster*)bicho;
  3. srand((unsigned) time(NULL));
  4. int x, y, aux, i, j;
  5. m->vida = 1;
  6. while(m->vida == 1){
  7.  
  8. x = m->x;
  9. y = m->y;
  10. sleep(1);
  11.  
  12.  
  13. fflush(stdout);
  14. aux = rand() % 4;
  15. if(aux == 0){
  16. if(map[x][y-1].letra == ' ' || map[x][y-1].letra == '*'){
  17. map[x][y].letra = ' ';
  18. map[x][y-1].letra = 'M';
  19. m->x = x;
  20. m->y = y-1;
  21. }else if(map[x][y+1].letra == ' ' || map[x][y+1].letra == '*'){
  22. map[x][y].letra = ' ';
  23. map[x][y+1].letra = 'M';
  24. m->x = x;
  25. m->y = y+1;
  26. }
  27. }else if(aux == 1){
  28. if(map[x][y+1].letra == ' ' || map[x][y+1].letra == '*'){
  29. map[x][y].letra = ' ';
  30. map[x][y+1].letra = 'M';
  31. m->x = x;
  32. m->y = y+1;
  33. }else if(map[x][y-1].letra == ' ' || map[x][y-1].letra == '*'){
  34. map[x][y].letra = ' ';
  35. map[x][y-1].letra = 'M';
  36. m->x = x;
  37. m->y = y-1;
  38. }
  39. }else if(aux == 2){
  40. if(map[x-1][y].letra == ' ' || map[x-1][y].letra == '*'){
  41. map[x][y].letra = ' ';
  42. map[x-1][y].letra = 'M';
  43. m->x = x-1;
  44. m->y = y;
  45. }else{
  46. if(map[x+1][y].letra == ' ' || map[x+1][y].letra == '*'){
  47. map[x][y].letra = ' ';
  48. map[x+1][y].letra = 'M';
  49. m->x = x+1;
  50. m->y = y;
  51. }else if((map[x][y-1].letra == ' ' || map[x][y-1].letra == '*') && (map[x][y+1].letra == ' ' || map[x][y+1].letra == '*')){
  52. aux = rand() % 2;
  53. if(aux == 0){
  54. map[x][y].letra = ' ';
  55. map[x][y-1].letra = 'M';
  56. m->x = x;
  57. m->y = y-1;
  58. }else{
  59. map[x][y].letra = ' ';
  60. map[x][y+1].letra = 'M';
  61. m->x = x;
  62. m->y = y+1;
  63. }
  64. }else if(map[x][y-1].letra == ' ' || map[x][y-1].letra == '*'){
  65. map[x][y].letra = ' ';
  66. map[x][y-1].letra = 'M';
  67. m->x = x;
  68. m->y = y-1;
  69. }else if(map[x][y+1].letra == ' ' || map[x][y+1].letra == '*'){
  70. map[x][y].letra = ' ';
  71. map[x][y+1].letra = 'M';
  72. m->x = x;
  73. m->y = y+1;
  74. }
  75. }
  76. }else if(aux == 3){
  77. if(map[x+1][y].letra == ' ' || map[x+1][y].letra == '*'){
  78. map[x][y].letra = ' ';
  79. map[x+1][y].letra = 'M';
  80. m->x = x+1;
  81. m->y = y;
  82. }else{
  83. if(map[x-1][y].letra == ' ' || map[x-1][y].letra == '*'){
  84. map[x][y].letra = ' ';
  85. map[x-1][y].letra = 'M';
  86. m->x = x-1;
  87. m->y = y;
  88. }else if((map[x][y-1].letra == ' ' || map[x][y-1].letra == '*') && (map[x][y+1].letra == ' ' || map[x][y+1].letra == '*')){
  89. aux = rand() % 2;
  90. if(aux == 0){
  91. map[x][y].letra = ' ';
  92. map[x][y-1].letra = 'M';
  93. m->x = x;
  94. m->y = y-1;
  95. }else{
  96. map[x][y].letra = ' ';
  97. map[x][y+1].letra = 'M';
  98. m->x = x;
  99. m->y = y+1;
  100. }
  101. }else if(map[x][y-1].letra == ' ' || map[x][y-1].letra == '*'){
  102. map[x][y].letra = ' ';
  103. map[x][y-1].letra = 'M';
  104. m->x = x;
  105. m->y = y-1;
  106. }else if(map[x][y+1].letra == ' ' || map[x][y+1].letra == '*'){
  107. map[x][y].letra = ' ';
  108. map[x][y+1].letra = 'M';
  109. m->x = x;
  110. m->y = y+1;
  111. }
  112. }
  113. }
  114. }
  115. return NULL;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement