Advertisement
helenrut

Untitled

Oct 7th, 2015
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. char **createBoard(int n, int m);
  7. void deleteBoard(char **p, int n); // Eyðum kvika fylkinu á móti new skipunum
  8. void printBoard(int n, int m, char** p);
  9. void initializeBoard(char **p, int n, int m);
  10. void makeAMove(char **p, int k, string X);
  11.  
  12. int posX;
  13. int posY;// Þarf að breyta þessu úr global.
  14.  
  15. int main()
  16. {
  17. int rows, columns, x, y, k;
  18. string X;
  19. cout << "Enter rows and columns and start position x and y: ";
  20. cin >> rows >> columns >> x >> y ;
  21.  
  22. //Heldur utanum hvar hann er staðsettur.
  23. posX = x;
  24. posY = y;
  25.  
  26. char **board = createBoard(rows, columns);
  27. initializeBoard(board, rows, columns);
  28. printBoard(rows, columns, board);
  29. char Notquit;
  30. do
  31. {
  32.  
  33. cout << "Enter k and X: ";
  34. cin >> k >> X;
  35.  
  36. makeAMove(board, k, X);
  37. printBoard(rows, columns, board);
  38.  
  39.  
  40. }
  41. while (Notquit == 'Y' || Notquit == 'y');
  42.  
  43. //Merka ! í reitinn sem hann er staddur í.
  44. board[posY][posX] = '!';
  45. //Prenta út borðið
  46. printBoard(rows, columns, board);
  47.  
  48. deleteBoard(board, rows);
  49. return 0;
  50.  
  51. }
  52.  
  53. void makeAMove(char **p, int k, string X)
  54. {
  55. for (int i = 0; i < k; i++)
  56. {
  57. cout << "String is: " << X[i] << endl;
  58. switch (X[i])
  59. {
  60. case 'U':
  61. --posY;
  62. break;
  63.  
  64. case 'D':
  65. ++posY;
  66. break;
  67.  
  68. case 'L':
  69. --posX;
  70. break;
  71.  
  72. case 'R':
  73. ++posX;
  74. break;
  75. }
  76. }
  77.  
  78. cout << "posX: " << posX << " posY: " << posY << endl;
  79. p[posY][posX] = 'o';
  80. }
  81.  
  82. void printBoard(int n, int m, char** p)
  83. {
  84. for (int i = 0; i < n; i++)
  85. {
  86. for (int j = 0; j < m; j++)
  87. {
  88. cout << p[i][j] << " ";
  89. }
  90. cout << endl << endl;
  91. }
  92. }
  93.  
  94. char **createBoard(int n, int m)
  95. {
  96. char **p = new char*[n];
  97. for (int i = n - 1; i >= 0; i--)
  98. {
  99. p[i] = new char[m];
  100. }
  101. return p;
  102. }
  103.  
  104. void initializeBoard(char **p, int n, int m)
  105. {
  106. for (int i = 0; i < n; i++)
  107. {
  108. for (int j = 0; j < m; j++)
  109. {
  110. if (posY == i && posX == j)
  111. {
  112. p[i][j] = 'X';
  113. }
  114. else
  115. {
  116. p[i][j] = '.';
  117. }
  118. }
  119. }
  120. }
  121.  
  122. void deleteBoard(char **p, int n) // Eyðum kvika fylkinu á móti new skipunum
  123. {
  124. for (int i = 0; i < n; i++)
  125. {
  126. delete[] p[i];
  127. }
  128. delete[] p;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement