Question
One of the most common problems in video games is determining the fastest route from 2 positions. In this assignment, you will look at how
One of the most common problems in video games is determining the fastest route from 2 positions. In
this assignment, you will look at how to determine that route efficiently using a simple graph that describes the connections between the nodes.
The data file for this assignment will be formatted as follows:
Line 1: The number of nodes in the map (we will call this N).
Line 2 to N+1: The weights for the connections for each node in the graph. The value of -1 indicates there
is no direct path between the current node (the row being read) and the target node (the column being
read). Note that the value of 0 is possible, and the weight to go from any node to itself will always be 0.
Lines N+2 and following: Each line represents a pair of nodes. The first is the target position and the
second is the current position.
For each (current, target)
pair, you must find the fastest route in the graph.
REQUIREMENTS
1.Complete the Game::FindFastest function in the game.cpp file to find the shortest path betweenpositions.
2.The algorithm should be as close to linear time as possible!
//Game.h
#pragma once #ifndef __GAME_H__ #define __GAME_H__
#include
class Progress { public: int Position; int Weight;
Progress() : Position(0), Weight(0) {} Progress(int pos, int weight) : Position(pos), Weight(weight) {}
bool operator> (const Progress& right) const { return Weight > right.Weight; } };
typedef std::priority_queue
class Game { private: std::vector
for (int i = 0; i < numRows; ++i) { for (int j = 0; j < numRows; ++j) { is >> m_Map[i][j]; } } }
int FindFastest(int currentPos, int targetPos); };
//Game.cpp
#include
int Game::FindFastest(int currentPos, int targetPos) { int numRows = m_Map.size(); std::vector
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started