Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- char **createBoard(int n, int m);
- void deleteBoard(char **p, int n); // Eyðum kvika fylkinu á móti new skipunum
- void printBoard(int n, int m, char** p);
- void initializeBoard(char **p, int n, int m);
- void makeAMove(char **p, int k, string X);
- int posX;
- int posY;// Þarf að breyta þessu úr global.
- int main()
- {
- int rows, columns, x, y, k;
- string X;
- cout << "Enter rows and columns and start position x and y: ";
- cin >> rows >> columns >> x >> y ;
- //Heldur utanum hvar hann er staðsettur.
- posX = x;
- posY = y;
- char **board = createBoard(rows, columns);
- initializeBoard(board, rows, columns);
- printBoard(rows, columns, board);
- char Notquit;
- do
- {
- cout << "Enter k and X: ";
- cin >> k >> X;
- makeAMove(board, k, X);
- printBoard(rows, columns, board);
- }
- while (Notquit == 'Y' || Notquit == 'y');
- //Merka ! í reitinn sem hann er staddur í.
- board[posY][posX] = '!';
- //Prenta út borðið
- printBoard(rows, columns, board);
- deleteBoard(board, rows);
- return 0;
- }
- void makeAMove(char **p, int k, string X)
- {
- for (int i = 0; i < k; i++)
- {
- cout << "String is: " << X[i] << endl;
- switch (X[i])
- {
- case 'U':
- --posY;
- break;
- case 'D':
- ++posY;
- break;
- case 'L':
- --posX;
- break;
- case 'R':
- ++posX;
- break;
- }
- }
- cout << "posX: " << posX << " posY: " << posY << endl;
- p[posY][posX] = 'o';
- }
- void printBoard(int n, int m, char** p)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- cout << p[i][j] << " ";
- }
- cout << endl << endl;
- }
- }
- char **createBoard(int n, int m)
- {
- char **p = new char*[n];
- for (int i = n - 1; i >= 0; i--)
- {
- p[i] = new char[m];
- }
- return p;
- }
- void initializeBoard(char **p, int n, int m)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- if (posY == i && posX == j)
- {
- p[i][j] = 'X';
- }
- else
- {
- p[i][j] = '.';
- }
- }
- }
- }
- void deleteBoard(char **p, int n) // Eyðum kvika fylkinu á móti new skipunum
- {
- for (int i = 0; i < n; i++)
- {
- delete[] p[i];
- }
- delete[] p;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement