I'm creating a maze class using pointers and recursion and having some trouble setting up my number of Position functions. Maze.h: #ifndef MAZE_H #define MAZE_H /* * The allowed directions of travel within the Maze. */ enum direction {west, north, south, east}; /* * Represents a location within the Maze. */ struct coordinates { int x; int y; }; class Maze { public: Maze(); /* * It allows you to pick a seed for the pseudo-random number * generator and a size. A small size makes it easier for you * to see what your program is doing. Every instance with the same * seed and size is guaranteed to have the same Maze. */ Maze(int seed, int size); Maze(const Maze &); Maze&operator=(const Maze); ~Maze(); /* * numberOfPositions() returns a count which will hold the length * of the maximum possible path through the Maze. It's useful for * allocating enough characters to contain the successful path * through the Maze. */ int numberOfPositions(); /* * startingPosition() provides the caller with the coordinates * of the entry into the Maze. */ void startingPosition(struct coordinates &where); /* * move() takes a direction of travel and the coordinates from * which to travel as input. The return value lets the caller * know whether they were permitted to travel in that direction * from those coordinates. If true, the coordinates are changed * to the new location in the Maze. If false, either the given * coordinates are invalid or travel in the given direction from * the given coordinates is not allowed. If false, the given * coordinates is unchanged. */ bool move(enum direction whichWay, struct coordinates &where); /* * escaped() lets the caller know whether the given location is * the exit of the Maze. */ bool escaped(const struct coordinates &where); private: int Seed; int Size; struct coordinates start; int **maze; char *path; }; #endif Maze.cpp: #include #include #include "Maze.h" using namespace std;   Maze::Maze() { cout << " inside the default constructor " << endl; } Maze::Maze(int seed, int size) { Size = size; Seed = seed; } int Maze::numberOfPositions() { coordinates.x=0; coordinates.y=0; if ((coordinates.x && coordinates.y) == -1) { return 0; } for (int i=0; i< maze.size(); i++){ if (coordinates.y == 0){ coordinates.y == 1; } else { break; } }   }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

I'm creating a maze class using pointers and recursion and having some trouble setting up my number of Position functions.

Maze.h:

#ifndef MAZE_H

#define MAZE_H

/*

* The allowed directions of travel within the Maze.

*/

enum direction {west, north, south, east};

/*

* Represents a location within the Maze.

*/

struct coordinates

{

int x;

int y;

};

class Maze

{

public:

Maze();

/*

* It allows you to pick a seed for the pseudo-random number

* generator and a size. A small size makes it easier for you

* to see what your program is doing. Every instance with the same

* seed and size is guaranteed to have the same Maze.

*/

Maze(int seed, int size);

Maze(const Maze &);

Maze&operator=(const Maze);

~Maze();

/*

* numberOfPositions() returns a count which will hold the length

* of the maximum possible path through the Maze. It's useful for

* allocating enough characters to contain the successful path

* through the Maze.

*/

int numberOfPositions();

/*

* startingPosition() provides the caller with the coordinates

* of the entry into the Maze.

*/

void startingPosition(struct coordinates &where);

/*

* move() takes a direction of travel and the coordinates from

* which to travel as input. The return value lets the caller

* know whether they were permitted to travel in that direction

* from those coordinates. If true, the coordinates are changed

* to the new location in the Maze. If false, either the given

* coordinates are invalid or travel in the given direction from

* the given coordinates is not allowed. If false, the given

* coordinates is unchanged.

*/

bool move(enum direction whichWay, struct coordinates &where);

/*

* escaped() lets the caller know whether the given location is

* the exit of the Maze.

*/

bool escaped(const struct coordinates &where);

private:

int Seed;

int Size;

struct coordinates start;

int **maze;

char *path;

};

#endif

Maze.cpp:

#include

#include

#include "Maze.h"

using namespace std;

 

Maze::Maze()

{

cout << " inside the default constructor " << endl;

}

Maze::Maze(int seed, int size)

{

Size = size;

Seed = seed;

}

int Maze::numberOfPositions()

{

coordinates.x=0;

coordinates.y=0;

if ((coordinates.x && coordinates.y) == -1) {

return 0;

}

for (int i=0; i< maze.size(); i++){

if (coordinates.y == 0){

coordinates.y == 1;

}

else {

break;

}

}

 

}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 7 images

Blurred answer
Knowledge Booster
Reference Types in Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education